当应用在后台时,确定用户是否未点击通知

时间:2014-08-04 22:04:24

标签: ios nsnotification

有什么方法可以在发送通知后找到,有多少用户点击通知,以及当应用在后台时有多少人没有点击noficiation事件(徽章)?

我更感兴趣的是找不到有多少人没有点击,因为点击的人可以跟踪,因为应用将进入前台并且可以进行请求,如果应用在后台,您的http请求可能会丢失。

2 个答案:

答案 0 :(得分:3)

将您的应用委托代码更新为以下代码:

- (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
    }
}

它非常自我解释。您可以通过点击推送通知以及何时打开应用而无需点击通知来跟踪应用程序何时打开。

答案 1 :(得分:0)

我猜你最近可以知道谁没有点击你的通知是通过检查你的AppDelegate的didFinishLaunchWithOptions方法,你发现通知后用户点击通知你的应用没有启动。换句话说,我认为你在问题中回答了自己的问题。