代码之家  ›  专栏  ›  技术社区  ›  Snehal Patil

当应用程序处于后台时,确定用户是否未单击通知

  •  1
  • Snehal Patil  · 技术社区  · 10 年前

    是否有任何方法可以在通知发送后,当应用程序处于后台时,有多少用户点击了通知,以及有多少人没有点击未授权事件(徽章)?

    我更感兴趣的是找出有多少人没有点击,因为点击的人可以被跟踪,因为应用程序将在前台运行,并且可以发出请求,而如果应用程序在后台运行,你的http请求可能会丢失。

    2 回复  |  直到 10 年前
        1
  •  3
  •   Nitin Alabur    10 年前

    将应用程序委托代码更新为以下代码:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
            [super application:application didFinishLaunchingWithOptions:launchOptions];
            NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    
            if(remoteNotif)
            {
                //launched from push notification
            }else{
                //Did not launch from push notification (tapped on app icon, or from multi tasking)
                //**Didn't click on notification**
            }
        }
    

    并且:

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
        if([application applicationState] == UIApplicationStateActive) {
           // app was open, did not display the push alert/banner/badge
           // **Didn't click on notification**
        }else{
            //launched from push notification
        }
    }
    

    这是不言自明的。您可以通过点击推送通知来跟踪应用程序的打开时间,也可以在不点击通知的情况下跟踪它的打开时间。

        2
  •  0
  •   onnoweb    10 年前

    我想,你最接近于知道谁没有点击你的通知,是通过检查你的AppDelegate的didFinishLaunchWithOptions方法,你的应用程序没有在你发出通知后由于用户点击通知而启动。换句话说,我认为你在问题中回答了自己的问题。