Example #1
0
        private void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;
            string message = payload.body;

            bool hasViewModel = additionalData.ContainsKey("User");
            bool hasTaskId    = additionalData.ContainsKey("TaskId");

            if (hasViewModel)
            {
                CrossSecureStorage.Current.SetValue("User", "user");

                return;
            }

            if (hasTaskId)
            {
                var taskObj = additionalData["TaskId"];

                string taskId = Convert.ToString(taskObj);

                CrossSecureStorage.Current.SetValue("TaskId", taskId);

                return;
            }

            ViewModel.ShowMain();
        }
Example #2
0
    // Called from the native SDK - Called when a push notification is opened by the user
    private void onPushNotificationOpened(string jsonString)
    {
        if (builder.notificationOpenedDelegate != null)
        {
            Dictionary <string, object> jsonObject = Json.Deserialize(jsonString) as Dictionary <string, object>;

            OSNotificationAction action = new OSNotificationAction();
            if (jsonObject.ContainsKey("action"))
            {
                Dictionary <string, object> actionJsonObject = jsonObject["action"] as Dictionary <string, object>;

                if (actionJsonObject.ContainsKey("actionID"))
                {
                    action.actionID = actionJsonObject["actionID"] as string;
                }
                if (actionJsonObject.ContainsKey("type"))
                {
                    action.type = (OSNotificationAction.ActionType)Convert.ToInt32(actionJsonObject["type"]);
                }
            }

            OSNotificationOpenedResult result = new OSNotificationOpenedResult();
            result.notification = DictionaryToNotification((Dictionary <string, object>)jsonObject["notification"]);
            result.action       = action;

            builder.notificationOpenedDelegate(result);
        }
    }
Example #3
0
    public OneSignalWPWNS(string appId)
    {
        OneSignalSDK_WP_WNS.ExternalInitUnity.Init(appId, (message, inAdditionalData, isActive) => {
            if (OneSignal.builder != null && OneSignal.builder.notificationOpenedDelegate != null)
            {
                Dictionary <string, object> additionalData = null;
                if (inAdditionalData != null)
                {
                    additionalData = inAdditionalData.ToDictionary(pair => pair.Key, pair => (object)pair.Value);
                }

                OSNotificationOpenedResult result = new OSNotificationOpenedResult();
                result.action      = new OSNotificationAction();
                result.action.type = OSNotificationAction.ActionType.Opened;

                result.notification       = new OSNotification();
                result.notification.shown = !isActive;

                result.notification.payload                = new OSNotificationPayload();
                result.notification.payload.body           = message;
                result.notification.payload.additionalData = additionalData;

                OneSignal.builder.notificationOpenedDelegate(result);
            }
        });
    }
Example #4
0
        // Called when a notification is opened by the user.
        private void HandleOneSignalNotificationOpened(OSNotificationOpenedResult result)
        {
            var delivered = OneSignalHelper.ToCrossPlatformRemoteNotification(result);

            // Fire event
            RaiseRemoteNotificationEvent(delivered);
        }
Example #5
0
        //More details: https://documentation.onesignal.com/docs/xamarin-sdk#section--notificationopened-
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;
            string message  = payload.body;
            string actionID = result.action.actionID;

            Console.WriteLine("GameControllerExample:HandleNotificationOpened: " + message);
            string extraMessage = "Notification opened with text: " + message;

            if (additionalData != null)
            {
                if (additionalData.ContainsKey("discount"))
                {
                    extraMessage = (string)additionalData["discount"];
                    // Take user to your store.
                }
            }
            if (actionID != null)
            {
                // actionSelected equals the id on the button the user pressed.
                // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
                extraMessage = "Pressed ButtonId: " + actionID;
            }
        }
Example #6
0
        //private static void HandleNotificationReceived(OSNotification notification)
        //{
        //    OSNotificationPayload payload = notification.payload;
        //    string message = payload.body;
        //    Dictionary<string, object> additionalData = payload.additionalData;

        //    if (additionalData != null)
        //    {
        //        if (additionalData.ContainsKey("screenName"))
        //        {
        //           var pushScreenName = Convert.ToString(additionalData["screenName"]);
        //        }
        //        else
        //        {
        //           var pushScreenName = "";
        //        }
        //    }
        //}
        //private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        //{
        //    OSNotificationPayload payload = result.notification.payload;
        //    Dictionary<string, object> additionalData = payload.additionalData;
        //    string message = payload.body;
        //    string actionID = result.action.actionID;

        //    if (additionalData != null)
        //    {
        //        if (additionalData.ContainsKey("screenName"))
        //        {
        //           var pushScreenName = Convert.ToString(additionalData["screenName"]);
        //        }
        //        else
        //        {
        //           var pushScreenName = "";
        //        }
        //    }
        //}

        public async void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            await Task.Delay(1000);

            //await MainPage.Navigation.PushAsync(new MainPage());
            //  MainPage = new CustomNavigationPage(new MainPage());

            var isLoggedIn = Properties.ContainsKey("IsLoggedIn") ? (bool)Properties["IsLoggedIn"] : false;

            try
            {
                if (isLoggedIn)
                {
                    MainPage = new CustomNavigationPage(new MainPage());
                }
                else
                {
                    MainPage = new CustomNavigationPage(new View.LoginSignup());
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
            }
        }
Example #7
0
    // Called when a notification is opened.
    // The name of the method can be anything as long as the signature matches.
    // Method must be static or this object should be marked as DontDestroyOnLoad
    public static void HandleNotificationOpened(OSNotificationOpenedResult result)
    {
        OSNotificationPayload payload = result.notification.payload;
        string message  = payload.body;
        string actionID = result.action.actionID;

        print("GameControllerExample:HandleNotificationOpened: " + message);
        extraMessage = "Notification opened with text: " + message;

        Dictionary <string, object> additionalData = payload.additionalData;

        if (additionalData == null)
        {
            Debug.Log("[HandleNotificationOpened] Additional Data == null");
        }
        else
        {
            Debug.Log("[HandleNotificationOpened] message " + message + ", additionalData: " + Json.Serialize(additionalData) as string);
        }

        if (actionID != null)
        {
            // actionSelected equals the id on the button the user pressed.
            // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
            extraMessage = "Pressed ButtonId: " + actionID;
        }
    }
Example #8
0
 private void OnHandleNotificationOpened(OSNotificationOpenedResult result)
 {
     if (result.notification.payload.additionalData.ContainsKey("additional_message"))
     {
         // Si el payload posee la key additional_message, ejecutar esta seccion de codigo
         MessageFromNotification = result.notification.payload.additionalData["additional_message"].ToString();
     }
 }
Example #9
0
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            try
            {
                OSNotificationPayload       payload        = result.notification.payload;
                Dictionary <string, object> additionalData = payload.additionalData;
                string message  = payload.body;
                string actionId = result.action.actionID;
                Console.WriteLine(message);
                if (additionalData != null)
                {
                    foreach (var item in additionalData)
                    {
                        if (item.Key == "user_id")
                        {
                            Userid = item.Value.ToString();
                        }
                        if (item.Key == "notification_info")
                        {
                            NotificationInfo = JsonConvert.DeserializeObject <OneSignalObject.NotificationInfoObject>(item.Value.ToString());
                        }
                        if (item.Key == "video")
                        {
                            VideoData = JsonConvert.DeserializeObject <OneSignalObject.VideoObject>(item.Value.ToString());
                        }
                        if (item.Key == "url")
                        {
                            string url = item.Value.ToString();
                            Console.WriteLine(url);
                        }
                    }

                    //to : do
                    //go to activity or fragment depending on data

                    Intent intent = new Intent(Application.Context, typeof(TabbedMainActivity));
                    intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.ClearTask);
                    intent.AddFlags(ActivityFlags.SingleTop);
                    intent.SetAction(Intent.ActionView);
                    intent.PutExtra("TypeNotification", NotificationInfo.TypeText);
                    Application.Context.StartActivity(intent);

                    if (additionalData.ContainsKey("discount"))
                    {
                        // Take user to your store..
                    }
                }
                if (actionId != null)
                {
                    // actionSelected equals the id on the button the user pressed.
                    // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        //OneSignal Notification Opening Handler
        public static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;

            if (additionalData != null)
            {
                if (additionalData.ContainsKey("imageURL"))
                {
                    imageURL = additionalData["imageURL"].ToString();
                }
                if (additionalData.ContainsKey("description"))
                {
                    description = additionalData["description"].ToString();
                }
                if (additionalData.ContainsKey("ytLink"))
                {
                    ytLink = additionalData["ytLink"].ToString();
                }
                if (additionalData.ContainsKey("productLabel"))
                {
                    productLabel = additionalData["productLabel"].ToString();
                }
                if (additionalData.ContainsKey("minQuantity"))
                {
                    minQuantity = additionalData["minQuantity"].ToString();
                }
                if (additionalData.ContainsKey("offerPrice1"))
                {
                    offerPrice1 = additionalData["offerPrice1"].ToString();
                }
                if (additionalData.ContainsKey("offerPrice2"))
                {
                    offerPrice2 = additionalData["offerPrice2"].ToString();
                }
                if (additionalData.ContainsKey("offerQuantity2"))
                {
                    offerQuantity2 = additionalData["offerQuantity2"].ToString();
                }
                if (additionalData.ContainsKey("offerPrice3"))
                {
                    offerPrice3 = additionalData["offerPrice3"].ToString();
                }
                if (additionalData.ContainsKey("offerQuantity3"))
                {
                    offerQuantity3 = additionalData["offerQuantity3"].ToString();
                }
                if (additionalData.ContainsKey("offerPrice4"))
                {
                    offerPrice4 = additionalData["offerPrice4"].ToString();
                }
                if (additionalData.ContainsKey("offerQuantity4"))
                {
                    offerQuantity4 = additionalData["offerQuantity4"].ToString();
                }
            }
            state = 1;
        }
 private void OneSignalNotificationOpened(OSNotificationOpenedResult result)
 {
     RunOnUiThread(() =>
     {
         var intent = new Intent(this, typeof(RootActivity));
         intent.PutExtra(RootActivity.NotificationData, JsonConvert.SerializeObject(result.notification.payload.additionalData.ToDictionary(x => x.Key, x => x.Value.ToString())));
         StartActivity(intent);
     });
 }
 private async static void HandleNotificationOpened(OSNotificationOpenedResult result)
 {
     Session session = new Session();
     OSNotificationPayload       payload        = result.notification.payload;
     Dictionary <string, object> additionalData = payload.additionalData;
     string message       = payload.body;
     var    messageDialog = new MessageDialog(message);
     await messageDialog.ShowAsync();
 }
Example #13
0
 private static void HandleNotificationOpened(OSNotificationOpenedResult notification)
 {
     //atualiza a tela dos admin
     try
     {
         MessagingCenter.Send <object>(App.AppCurrent.NavigationService.CurrentPage, "Push");
     }
     catch (Exception)
     {
     }
 }
Example #14
0
        // Called when a notification is opened.
        // The name of the method can be anything as long as the signature matches.
        // Method must be static or this object should be marked as DontDestroyOnLoad
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;
            string message      = payload.body;
            string actionID     = result.action.actionID;
            bool   isAppInFocus = result.notification.isAppInFocus;

            // Fire event
            NotificationOpened(message, actionID, additionalData, isAppInFocus);
        }
Example #15
0
        //if notification clicked, open directly notification list page
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            //Handle when notification clicked
            Xamarin.Forms.Application.Current.MainPage = new NavigationPage(new MainPage())
            {
                BarBackgroundColor = Color.FromHex("#0B2E5D"),
                BarTextColor       = Color.White,
            };

            Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new NotificationListPage());
        }
        private OSNotificationOpenedResultApp OSNotificationOpenedResultToNative(OSNotificationOpenedResult result)
        {
            var openresult = new OSNotificationOpenedResultApp();

            openresult.Action          = new OSNotificationActionApp();
            openresult.Action.ActionID = result.Action.ActionID;
            openresult.Action.Type     = (OSNotificationActionApp.ActionType)(int) result.Action.Type;
            openresult.Notification    = OSNotificationToNative(result.Notification);

            return(openresult);
        }
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            //Handle when notification clicked
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;

            ISharedPreferences       prefs  = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
            ISharedPreferencesEditor editor = prefs.Edit();

            editor.PutString("is_notification_received", "true");
            editor.Apply();
        }
      private OSNotificationOpenedResult OSNotificationOpenedResultToNative(iOS.OSNotificationOpenedResult result)
      {
         var openresult = new OSNotificationOpenedResult();
         openresult.action = new OSNotificationAction();
         iOS.OSNotificationAction action = result.Action;
         openresult.action.actionID = action.ActionID;
         openresult.action.type = (OSNotificationAction.ActionType)(int)action.Type;

         openresult.notification = OSNotificationToNative(result.Notification);

         return openresult;
      }
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            try
            {
                OSNotificationPayload       payload        = result.notification.payload;
                Dictionary <string, object> additionalData = payload.additionalData;
                string message  = payload.body;
                string actionId = result.action.actionID;

                if (additionalData != null)
                {
                    foreach (var item in additionalData)
                    {
                        switch (item.Key)
                        {
                        case "type":
                            Type = item.Value.ToString();
                            break;

                        case "userdata":
                            UserData = JsonConvert.DeserializeObject <UserInfoObject>(item.Value.ToString());
                            break;
                        }
                    }

                    //to : do
                    //go to activity or fragment depending on data

                    Intent intent = new Intent(Application.Context, typeof(HomeActivity));
                    intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.ClearTask);
                    intent.AddFlags(ActivityFlags.SingleTop);
                    intent.SetAction(Intent.ActionView);
                    intent.PutExtra("TypeNotification", Type);
                    Application.Context.StartActivity(intent);

                    if (additionalData.ContainsKey("discount"))
                    {
                        // Take user to your store..
                    }
                }

                if (actionId != null)
                {
                    // actionSelected equals the id on the button the user pressed.
                    // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void OnNotificationOpened(OSNotificationOpenedResult result)
        {
            if (result.notification?.payload?.additionalData == null)
            {
                return;
            }

            if (result.notification.payload.additionalData.ContainsKey("labelText"))
            {
                var labelText = result.notification.payload.additionalData["labelText"];
                App.Current.MainPage = new NotificationSummaryPage(labelText.ToString());
            }
        }
Example #21
0
 public static void HandleNotificationOpened(OSNotificationOpenedResult result)
 {
     if (result.notification.payload.additionalData.TryGetValue("Types", out var types))
     {
         var t = types.ToString();
         //trả về parameter thích làm gì thì làm
         if (result.notification.payload.additionalData.TryGetValue("Value", out var values))
         {
         }
         ;
     }
     ;
 }
Example #22
0
        private void OnNotificationOpened(OSNotificationOpenedResult result)
        {
            if (result.notification?.payload?.additionalData == null)
            {
                return;
            }

            if (result.notification.payload.additionalData.ContainsKey("body"))
            {
                var labelText = result.notification.payload.additionalData["body"].ToString();
                Settings.LastNotify  = labelText;
                App.Current.MainPage = new NotificationSummaryPage();
            }
        }
        private async void OnNotificationOpened(OSNotificationOpenedResult result)
        {
            if (result.notification?.payload?.additionalData == null)
            {
                return;
            }

            if (result.notification.payload.additionalData.ContainsKey("body"))
            {
                var labelText = result.notification.payload.additionalData["body"].ToString();
                Settings.LastNotify = labelText;
                CheckNotification();
            }
        }
Example #24
0
    // Called when a notification is opened.
    // The name of the method can be anything as long as the signature matches.
    // Method must be static or this object should be marked as DontDestroyOnLoad
    public static void HandleNotificationOpened(OSNotificationOpenedResult result)
    {
        //Debug.Log("OpenedPush");

        //OSNotificationPayload payload = result.notification.payload;
        ////string message = payload.body;
        ////string actionID = result.action.actionID;
        ////print("GameControllerExample:HandleNotificationOpened: " + message);
        ////extraMessage = "Notification opened with text: " + message;

        //string message = payload.body;

        //print("GameControllerExample:HandleNotificationReceived: " + message);
        //string extraMessage = "Notification received with text: " + message;

        //Dictionary<string, object> additionalData = payload.additionalData;

        //if (additionalData != null && additionalData.ContainsKey("chatUser"))
        //{


        //    int temp = 0;

        //    if (additionalData["chatUser"].GetType() == typeof(string))
        //    {
        //        temp = int.Parse(additionalData["chatUser"].ToString());
        //    }
        //    else
        //    {
        //        temp = (int)(long)additionalData["chatUser"];
        //    }
        //    if (OnReceivePushChat != null) OnReceivePushChat(temp);
        //    PlayerPrefs.SetInt("PUSHACTIVE", temp);

        //    if (App.instance != null)
        //    {

        //        if (App.instance.arViewState != NOTIFYEVENT.TOPMENUMSGS)
        //        {
        //            App.instance.Notify(NOTIFYEVENT.TOPMENUNEWMSG, null, null);
        //        }
        //    }

        //}

        //if (additionalData == null)
        //    Debug.Log("[HandleNotificationReceived] Additional Data == null");
        //else
        //Debug.Log("[HandleNotificationReceived] message " + message + ", additionalData: " + Newtonsoft.Json.JsonConvert.SerializeObject(additionalData));
    }
    public void HandleNotificationOpened(OSNotificationOpenedResult result)
    {
        OSNotificationPayload payload = result.notification.payload;
        string message  = payload.body;
        string actionID = result.action.actionID;

        print("GameControllerExample:HandleNotificationOpened: " + message);
        //id = "Notification opened with text: " + message;
        Dictionary <string, object> additionalData = payload.additionalData;
//		if (actionID != null) {
//			OneSignal.IdsAvailable((userId, pushToken) => {
//				id  = "UserID:\n" + userId + "\n\nPushToken:\n" + pushToken;
//			});
//		}
    }
Example #26
0
    // Called when a notification is opened.
    // The name of the method can be anything as long as the signature matches.
    // Method must be static or this object should be marked as DontDestroyOnLoad
    public static void HandleNotificationOpened(OSNotificationOpenedResult result)
    {
        SceneManager.LoadScene("OneSignalExampleScene");
        OSNotificationPayload payload = result.notification.payload;
        string message  = payload.body;
        string actionID = result.action.actionID;

        GameObject.Destroy(GameObject.Find("Camera2"));
        GameObject.Destroy(GameObject.Find("VirtualJoystick"));
        GameObject.Destroy(GameObject.Find("VirtualJoystick (1)"));
        GameObject.Destroy(GameObject.Find("Coin"));
        GameObject.Destroy(GameObject.Find("FB"));
        ///GameObject.Destroy(GameObject.Find("unitychan"));
        GameObject.Destroy(GameObject.Find("Facebook"));
        GameObject.Destroy(GameObject.Find("Pause"));
        GameObject.Destroy(GameObject.Find("CoinSound"));
        GameObject.Destroy(GameObject.Find("Fire"));
        GameObject.Destroy(GameObject.Find("Success"));
        GameObject.Destroy(GameObject.Find("status"));
        GameObject.Destroy(GameObject.Find("Cube"));
        GameObject.Destroy(GameObject.Find("Cube (1)"));
        GameObject.Destroy(GameObject.Find("FireAttackSound"));
        GameObject.Destroy(GameObject.Find("LoseSound"));
        GameObject.Destroy(GameObject.Find("WinSound"));
        GameObject.Destroy(GameObject.Find("goal1"));
        GameObject.Destroy(GameObject.Find("goal2"));
        GameObject.Destroy(GameObject.Find("goal3"));
        print("GameControllerExample:HandleNotificationOpened: " + message);
        extraMessage = "Notification opened with text: " + message;

        Dictionary <string, object> additionalData = payload.additionalData;

        if (additionalData == null)
        {
            Debug.Log("[HandleNotificationOpened] Additional Data == null");
        }
        else
        {
            Debug.Log("[HandleNotificationOpened] message " + message + ", additionalData: " + Json.Serialize(additionalData) as string);
        }

        if (actionID != null)
        {
            // actionSelected equals the id on the button the user pressed.
            // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
            extraMessage = "Pressed ButtonId: " + actionID;
        }
    }
Example #27
0
        private void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;


            string message  = payload.body;
            string actionID = result.action.actionID;

            dataDependency = additionalData;
            // await MainPage.Navigation.PushAsync(new LatLongPushNotification());
            // print("GameControllerExample:HandleNotificationOpened: " + message);
            // extraMessage = "Notification opened with text: " + message;


            //    string extraMessage = (string)additionalData["location"];

            /*string data = message + " " + actionID;
             *
             *
             * if (additionalData != null)
             * {
             *  if (additionalData.ContainsKey("asigneeId"))
             *  {
             *      string extraMessage = Convert.ToString(additionalData["asigneeId"]);
             *      dataDependency = extraMessage;
             *      //await MainPage.Navigation.PushAsync(new JobDetails(extraMessage));
             *
             *
             *      // extraMessage = (string)additionalData["discount"];
             *      // Take user to your store.
             *  }
             *  //      else if (additionalData.ContainsKey("location"))
             *  //     {
             *  //     string extraMessage = (string)additionalData["location"];
             *
             *  //    await MainPage.Navigation.PushAsync(new LatLongPushNotification(extraMessage));
             *
             *  //  }
             * }
             * if (actionID != null)
             * {
             *  // actionSelected equals the id on the button the user pressed.
             *  // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
             *  //extraMessage = "Pressed ButtonId: " + actionID;
             * }*/
        }
Example #28
0
 static void handleNotificationOpened(OSNotificationOpenedResult inNotificationOpenedDelegate)
 {
     if (inNotificationOpenedDelegate.notification.payload.additionalData.ContainsKey("fa"))
     {
         var fa = inNotificationOpenedDelegate.notification.payload.additionalData["fa"];
         if (fa != null)
         {
             try
             {
                 App.startingScreen = Convert.ToString(fa);
             }catch (Exception e)
             {
                 Logging.error("Exception occured in handleNotificationOpened: {0}", e);
             }
         }
     }
 }
      static OSNotificationOpenedResult OSNotificationOpenedResultToNative(Android.OSNotificationOpenResult result)
      {

         OSNotificationAction.ActionType actionType = OSNotificationAction.ActionType.Opened;
         if (result.Action.Type == Android.OSNotificationAction.ActionType.Opened)
            actionType = OSNotificationAction.ActionType.Opened;
         else
            actionType = OSNotificationAction.ActionType.ActionTaken;
                
         var openresult = new OSNotificationOpenedResult();
         openresult.action = new OSNotificationAction();
         Android.OSNotificationAction action = result.Action;
         openresult.action.actionID = action.ActionID;
         openresult.action.type = actionType;

         openresult.notification = OSNotificationToNative(result.Notification);

         return openresult;
      }
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            try
            {
                OSNotificationPayload       payload        = result.notification.payload;
                Dictionary <string, object> additionalData = payload.additionalData;
                // string message = payload.body;
                string actionId = result.action.actionID;

                if (additionalData != null)
                {
                    foreach (var item in additionalData.Where(item => item.Key == "user_id"))
                    {
                        Userid = item.Value.ToString();
                    }

                    //Intent intent = new Intent(Application.Context.PackageName + ".FOO");
                    Intent intent = new Intent(Application.Context, typeof(TabbedMainActivity));
                    intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.ClearTask);
                    intent.AddFlags(ActivityFlags.SingleTop);
                    intent.SetAction(Intent.ActionView);
                    intent.PutExtra("UserID", Userid);
                    intent.PutExtra("Notifier", "Notifier");
                    Application.Context.StartActivity(intent);

                    if (additionalData.ContainsKey("discount"))
                    {
                        // Take user to your store..
                    }
                }

                if (actionId != null)
                {
                    // actionSelected equals the id on the button the user pressed.
                    // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Example #31
0
        private static void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;
            string message  = payload.body;
            string actionID = result.action.actionID;

            if (additionalData != null)
            {
                if (additionalData.ContainsKey("discount"))
                {
                    // Take user to your store.
                }
            }
            if (actionID != null)
            {
                // actionSelected equals the id on the button the user pressed.
                // actionSelected will equal "__DEFAULT__" when the notification itself was tapped when buttons were present.
            }
        }
Example #32
0
        private void OneSignalNotificationOpened(OSNotificationOpenedResult result)
        {
            var additionalData = result?.notification?.payload?.additionalData;

            if (additionalData?.Any() ?? false)
            {
                try
                {
                    var data   = JsonConvert.SerializeObject(additionalData.ToDictionary(x => x.Key, x => x.Value.ToString()));
                    var intent = new Intent(this, typeof(RootActivity));
                    intent.PutExtra(RootActivity.NotificationData, data);
                    intent.SetFlags(ActivityFlags.ReorderToFront | ActivityFlags.NewTask);
                    StartActivity(intent);
                }
                catch (Exception e)
                {
                    AppSettings.Logger.Error(e);
                }
            }
        }