async void CheckNotifications() { if (App.CurrentApp.FromRemoteNotification) { /*await DisplayAlert(App.CurrentApp.NotificationData["title"], * //App.CurrentApp.NotificationData["body"], * string.Join(",", App.CurrentApp.NotificationData.Keys) + ":" + string.Join(",", App.CurrentApp.NotificationData.Values), + "Aceptar");*/ if (App.CurrentApp.NotificationData.ContainsKey("url")) { if (App.CurrentApp.NotificationData["url"] != "chat") { await DisplayAlert(App.CurrentApp.NotificationData["title"], App.CurrentApp.NotificationData["body"], "Aceptar"); App.CurrentApp.RealmInstance.Write(() => { var notifi = new Notificacion(); notifi.url = App.CurrentApp.NotificationData["url"]; notifi.titulo = App.CurrentApp.NotificationData["title"]; notifi.mensaje = App.CurrentApp.NotificationData["body"]; notifi.fecha_emision = DateTime.Now.ToString("u"); App.CurrentApp.RealmInstance.Add(notifi); }); Device.OpenUri(new System.Uri(App.CurrentApp.NotificationData["url"])); } else { //ES CHAT UIMessage.ShowToast("¡Te enviaron un nuevo mensaje!", ToastMessage.ToastPosition.TOP, ToastMessage.Duration.Long , null, Color.FromHex("#003464")); } } else { string url = null; if (App.CurrentApp.NotificationData.ContainsKey("content")) { url = await ClientGuanajoven.GetURL(App.CurrentApp.NotificationData["title"], App.CurrentApp.NotificationData["body"]); url = ClientGuanajoven.Data(url); //await DisplayAlert("","url:"+ ClientGuanajoven.Data(url),"k"); } App.CurrentApp.RealmInstance.Write(() => { var notifi = new Notificacion(); notifi.url = url; notifi.titulo = App.CurrentApp.NotificationData["title"]; notifi.mensaje = App.CurrentApp.NotificationData["body"]; notifi.fecha_emision = DateTime.Now.ToString("u"); App.CurrentApp.RealmInstance.Add(notifi); }); if (url != null) { if (url != "chat" && url != "") { await DisplayAlert(App.CurrentApp.NotificationData["title"], App.CurrentApp.NotificationData["body"], "Aceptar"); Device.OpenUri(new System.Uri(url)); } else { //chat UIMessage.ShowToast("¡Te enviaron un nuevo mensaje!", ToastMessage.ToastPosition.TOP, ToastMessage.Duration.Long , null, Color.FromHex("#003464")); } } } } }
async void ProcesarMensaje(FirebasePushNotificationDataEventArgs p) { var r = p.Data.Keys; if (p.Data.ContainsKey("gcm.notification.link_url")) { System.Diagnostics.Debug.WriteLine("URL:" + p.Data["gcm.notification.link_url"]); } else { System.Diagnostics.Debug.WriteLine("MESSAGE"); } System.Diagnostics.Debug.WriteLine("Received"); DateTime time = DateTime.Now; if (p.Data.ContainsKey("gcm.notification.link_url")) { if (p.Data["gcm.notification.link_url"] == "chat") { //CHAT if (!IsInChat) { UIMessage.ShowToast("¡Te enviaron un nuevo mensaje!", ToastMessage.ToastPosition.TOP, ToastMessage.Duration.Long , null, Color.FromHex("#003464")); } else { if (MensajeRecibido != null) { MensajeRecibido(this, new ChatModel() { mensaje = p.Data["aps.alert.body"], created_at = time.ToString("u").Substring(0, time.ToString("u").Length - 1), envia_usuario = 0, }); } } } else { try { await MainPage.DisplayAlert(p.Data["aps.alert.title"], p.Data["aps.alert.body"], "Aceptar"); } catch { } App.CurrentApp.RealmInstance.Write(() => { var notifi = new Notificacion(); notifi.url = p.Data.ContainsKey("gcm.notification.link_url") ? p.Data["gcm.notification.link_url"] : null; notifi.titulo = p.Data["aps.alert.title"]; notifi.mensaje = p.Data["aps.alert.body"]; notifi.fecha_emision = time.ToString("u"); App.CurrentApp.RealmInstance.Add(notifi); }); Device.OpenUri(new Uri(p.Data["gcm.notification.link_url"])); } } else { App.CurrentApp.RealmInstance.Write(() => { var notifi = new Notificacion(); notifi.url = p.Data.ContainsKey("gcm.notification.link_url") ? p.Data["gcm.notification.link_url"] : null; notifi.titulo = p.Data["aps.alert.title"]; notifi.mensaje = p.Data["aps.alert.body"]; notifi.fecha_emision = time.ToString("u"); App.CurrentApp.RealmInstance.Add(notifi); }); } }