public void SendNotification(String deviceReg, String jsonString) { this.pushService.QueueNotification(NotificationFactory.AndroidGcm() .ForDeviceRegistrationId(deviceReg) .WithCollapseKey("NONE") .WithJson(jsonString)); }
public static void Notifica() { try { List <Entidades_EncuestasMoviles.TDI_Notificaciones> notifica = BLL_EncuestasMoviles.MngNegocioNotificaciones.ObtieneNotificaciones(); if (notifica.Count > 0) { foreach (var element in notifica) { string json = "{'IdNotificacion':'" + element.IdNotificacion.ToString() + "','TokenDispositivo':'" + element.TokenDispositivo + "','Periodo':'" + element.Periodo.ToString() + "','Mensaje':'" + element.Mensaje.ToString() + "','IdEncuesta':'" + element.IdEncuesta.ToString() + "','Telefono':'" + element.Telefono.ToString() + "','idDispo':'" + element.IdDispo.ToString() + "','IdEnvio':'" + element.IdEnvio.ToString() + "'}"; PushService PushClient = new PushService(); PushClient.Events.OnDeviceSubscriptionExpired += new PushSharp.Common.ChannelEvents.DeviceSubscriptionExpired(Events_OnDeviceSubscriptionExpired); PushClient.Events.OnDeviceSubscriptionIdChanged += new PushSharp.Common.ChannelEvents.DeviceSubscriptionIdChanged(Events_OnDeviceSubscriptionIdChanged); PushClient.Events.OnChannelException += new PushSharp.Common.ChannelEvents.ChannelExceptionDelegate(Events_OnChannelException); PushClient.Events.OnNotificationSendFailure += new PushSharp.Common.ChannelEvents.NotificationSendFailureDelegate(Events_OnNotificationSendFailure); PushClient.Events.OnNotificationSent += new PushSharp.Common.ChannelEvents.NotificationSentDelegate(Events_OnNotificationSent); PushClient.Events.OnChannelCreated += new PushSharp.Common.ChannelEvents.ChannelCreatedDelegate(Events_OnChannelCreated); PushClient.Events.OnChannelDestroyed += new PushSharp.Common.ChannelEvents.ChannelDestroyedDelegate(Events_OnChannelDestroyed); //PushClient.Events.OnNotificationSent += HandleOnNotificationSent; PushClient.StartGoogleCloudMessagingPushService( new GcmPushChannelSettings("248326017313", "AIzaSyBl8zK7NlLAFc0AkWtuJgsEt3VlXGNARu4", "encuestas.moviles")); //idNotificacion, TokenDispositivo, Periodo, Mensaje, idEncuesta //string deviceregistrationid = DeviceRegistrationID as string; PushClient.QueueNotification(NotificationFactory.AndroidGcm() .ForDeviceRegistrationId(element.TokenDispositivo) .WithCollapseKey("NONE") .WithJson(json) .WithTag(element.IdNotificacion + "|" + element.TokenDispositivo + "|" + element.Periodo + "|" + element.Mensaje + "|" + element.IdEncuesta + "|" + element.Telefono + "|" + element.IdDispo)); Console.WriteLine("Waiting for Queue to Finish..."); } } else { Console.WriteLine("NO SE REGISTRO NINGUN RESULTADO " + DateTime.Now); } } catch (Exception ms) { Console.WriteLine("ERROR " + ms.Message); } finally { } }
void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { THE_PUSTRAN objTran = new THE_PUSTRAN(); objTran.DescTran = "Se ha enviado desde el global asax"; objTran.FechaCreaEncuesta = DateTime.Now; MngNegocioPushTran.GuardarTranPush(objTran); List <TDI_Notificaciones> notifica = MngNegocioNotificaciones.ObtieneNotificaciones(); objTran.DescTran = "Hay " + notifica.Count + " pendientes por enviar"; MngNegocioPushTran.GuardarTranPush(objTran); if (notifica.Count > 0) { foreach (TDI_Notificaciones element in notifica) { PushService PushClient = new PushService(); PushClient.Events.OnDeviceSubscriptionExpired += new PushSharp.Common.ChannelEvents.DeviceSubscriptionExpired(Events_OnDeviceSubscriptionExpired); PushClient.Events.OnDeviceSubscriptionIdChanged += new PushSharp.Common.ChannelEvents.DeviceSubscriptionIdChanged(Events_OnDeviceSubscriptionIdChanged); PushClient.Events.OnChannelException += new PushSharp.Common.ChannelEvents.ChannelExceptionDelegate(Events_OnChannelException); PushClient.Events.OnNotificationSendFailure += new PushSharp.Common.ChannelEvents.NotificationSendFailureDelegate(Events_OnNotificationSendFailure); PushClient.Events.OnNotificationSent += new PushSharp.Common.ChannelEvents.NotificationSentDelegate(Events_OnNotificationSent); PushClient.Events.OnChannelCreated += new PushSharp.Common.ChannelEvents.ChannelCreatedDelegate(Events_OnChannelCreated); PushClient.Events.OnChannelDestroyed += new PushSharp.Common.ChannelEvents.ChannelDestroyedDelegate(Events_OnChannelDestroyed); //PushClient.Events.OnNotificationSent += HandleOnNotificationSent; PushClient.StartGoogleCloudMessagingPushService( new GcmPushChannelSettings("248326017313", "AIzaSyBl8zK7NlLAFc0AkWtuJgsEt3VlXGNARu4", "encuestas.moviles")); //PushClient.StartGoogleCloudMessagingPushService(new GcmPushChannelSettings("248326017313", "AIzaSyBl8zK7NlLAFc0AkWtuJgsEt3VlXGNARu4", "encuestas.moviles")); // PushClient.QueueNotification(NotificationFactory.AndroidGcm() //.ForDeviceRegistrationId("APA91bFKLIddkts8DxU-qlLdrlOw3fhrIiPiWHIBsNRv8f0HosWF_e45WeFhjLYaEp-CaHnyR5sh9FLXcO1T-U-8-Pgkwy6YoylF9_NusAAbqHqme0F7mviyh1mthrn1hqP_PytyzpxSpir6pK96AIWa-CC8t5humg") //.WithCollapseKey("NONE") //.WithJson("{\"alert\":\"Alert Text!\",\"badge\":\"7\"}")); PushClient.QueueNotification(NotificationFactory.AndroidGcm() .ForDeviceRegistrationId(element.TokenDispositivo.ToString()) .WithCollapseKey("NONE") .WithJson("{\"alert\":\"Alert Text!\",\"badge\":\"7\"}")); Console.WriteLine("Waiting for Queue to Finish..."); PushClient.StopAllServices(true); } } else { Trace.WriteLine("El PROCESO NO ARROJO NINGUN RESULTADO"); } } catch (Exception ms) { THE_PUSTRAN objTran = new THE_PUSTRAN(); objTran.DescTran = "OCURRIO ERROR: " + ms.Message; objTran.FechaCreaEncuesta = DateTime.Now; MngNegocioPushTran.GuardarTranPush(objTran); Console.WriteLine("OCURRIO ERROR: " + ms.Message); } }
static void Main(string[] args) { //Create our service PushService push = new PushService(); //Wire up the events push.Events.OnDeviceSubscriptionExpired += new Common.ChannelEvents.DeviceSubscriptionExpired(Events_OnDeviceSubscriptionExpired); push.Events.OnDeviceSubscriptionIdChanged += new Common.ChannelEvents.DeviceSubscriptionIdChanged(Events_OnDeviceSubscriptionIdChanged); push.Events.OnChannelException += new Common.ChannelEvents.ChannelExceptionDelegate(Events_OnChannelException); push.Events.OnNotificationSendFailure += new Common.ChannelEvents.NotificationSendFailureDelegate(Events_OnNotificationSendFailure); push.Events.OnNotificationSent += new Common.ChannelEvents.NotificationSentDelegate(Events_OnNotificationSent); push.Events.OnChannelCreated += new Common.ChannelEvents.ChannelCreatedDelegate(Events_OnChannelCreated); push.Events.OnChannelDestroyed += new Common.ChannelEvents.ChannelDestroyedDelegate(Events_OnChannelDestroyed); //Configure and start Apple APNS // IMPORTANT: Make sure you use the right Push certificate. Apple allows you to generate one for connecting to Sandbox, // and one for connecting to Production. You must use the right one, to match the provisioning profile you build your // app with! var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../Resources/PushSharp.Apns.Sandbox.p12")); //IMPORTANT: If you are using a Development provisioning Profile, you must use the Sandbox push notification server // (so you would leave the first arg in the ctor of ApplePushChannelSettings as 'false') // If you are using an AdHoc or AppStore provisioning profile, you must use the Production push notification server // (so you would change the first arg in the ctor of ApplePushChannelSettings to 'true') push.StartApplePushService(new ApplePushChannelSettings(appleCert, "pushsharp")); //Configure and start Android GCM //IMPORTANT: The SENDER_ID is your Google API Console App Project ID. // Be sure to get the right Project ID from your Google APIs Console. It's not the named project ID that appears in the Overview, // but instead the numeric project id in the url: eg: https://code.google.com/apis/console/?pli=1#project:785671162406:overview // where 785671162406 is the project id, which is the SENDER_ID to use! push.StartGoogleCloudMessagingPushService(new GcmPushChannelSettings("785671162406", "AIzaSyC2PZNXQDVaUpZGmtsF_Vp8tHtIABVjazI", "com.pushsharp.test")); //Configure and start Windows Phone Notifications push.StartWindowsPhonePushService(new WindowsPhonePushChannelSettings()); //Configure and start Windows Notifications push.StartWindowsPushService(new WindowsPushChannelSettings("677AltusApps.PushSharpTest", "ms-app://s-1-15-2-397915024-884168245-3562497613-3307968140-4074292843-797285123-433377759", "ei5Lott1HEbbZBv2wGDTUsrCjU++Pj8Z")); //Fluent construction of a Windows Toast Notification push.QueueNotification(NotificationFactory.Windows().Toast().AsToastText01("This is a test").ForChannelUri("YOUR_CHANNEL_URI_HERE")); //Fluent construction of a Windows Phone Toast notification //IMPORTANT: For Windows Phone you MUST use your own Endpoint Uri here that gets generated within your Windows Phone app itself! push.QueueNotification(NotificationFactory.WindowsPhone().Toast() .ForEndpointUri(new Uri("http://sn1.notify.live.net/throttledthirdparty/01.00/AAFCoNoCXidwRpn5NOxvwSxPAgAAAAADAgAAAAQUZm52OkJCMjg1QTg1QkZDMkUxREQ")) .ForOSVersion(WindowsPhone.WindowsPhoneDeviceOSVersion.MangoSevenPointFive) .WithBatchingInterval(WindowsPhone.BatchingInterval.Immediate) .WithNavigatePath("/MainPage.xaml") .WithText1("PushSharp") .WithText2("This is a Toast")); //Fluent construction of an iOS notification //IMPORTANT: For iOS you MUST MUST MUST use your own DeviceToken here that gets generated within your iOS app itself when the Application Delegate // for registered for remote notifications is called, and the device token is passed back to you push.QueueNotification(NotificationFactory.Apple() .ForDeviceToken("1071737321559691b28fffa1aa4c8259d970fe0fc496794ad0486552fc9ec3db") .WithAlert("1 Alert Text!") .WithSound("default") .WithBadge(7)); //Fluent construction of an Android GCM Notification //IMPORTANT: For Android you MUST use your own RegistrationId here that gets generated within your Android app itself! push.QueueNotification(NotificationFactory.AndroidGcm() .ForDeviceRegistrationId("APA91bG7J-cZjkURrqi58cEd5ain6hzi4i06T0zg9eM2kQAprV-fslFiq60hnBUVlnJPlPV-4K7X39aHIe55of8fJugEuYMyAZSUbmDyima5ZTC7hn4euQ0Yflj2wMeTxnyMOZPuwTLuYNiJ6EREeI9qJuJZH9Zu9g") .WithCollapseKey("NONE") .WithJson("{\"alert\":\"Alert Text!\",\"badge\":\"7\"}")); push.QueueNotification(NotificationFactory.Windows() .Toast() .ForChannelUri("https://bn1.notify.windows.com/?token=AgUAAACC2u7flXAmaevcggrLenaSdExjVfIHvr6KSZrg0KeuGrcz877rPJprPL9bEuQH%2bacmmm%2beUyXNXEM8oRNit%2bzPoigksDOq6bIFyV3XGmhUmXadysLokl5rlmTscvHGAbs%3d") .WithRequestForStatus(true) .AsToastText01("This is a test!")); Console.WriteLine("Waiting for Queue to Finish..."); //Stop and wait for the queues to drains push.StopAllServices(true); Console.WriteLine("Queue Finished, press return to exit..."); Console.ReadLine(); }