繁体   English   中英

解析不发送iOS7的推送打开通知

[英]Parse not sending push open notifications for iOS7

我已遵循有关使用Parse进行相关Push设置的指南。

在iOS7设备和iOS8设备上测试应用程序时,通过推送打开时会调用相同的方法:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    DebugLog(@"%s",__PRETTY_FUNCTION__);
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
    if (completionHandler) {
        completionHandler(UIBackgroundFetchResultNoData);
    }
    [PFPush handlePush:userInfo];
}

看来,尽管[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo]; 在iOS7上调用方法,数据不会显示在Parse中。

例如,检查已发送的推送显示打开次数。 如果我将推送发送到iOS7设备和iOS8,则将调用同一部分代码。 但是,仅针对iOS8版本记录。 我还有什么需要做的吗?

我们遵循了相关指南: https : //parse.com/docs/ios/guide#push-notifications

这也可以实现:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    DebugLog(@"%s",__PRETTY_FUNCTION__);
    if (application.applicationState == UIApplicationStateInactive) {
        // The application was just brought from the background to the foreground,
        // so we consider the app as having been "opened by a push notification."
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
    [PFPush handlePush:userInfo];
}

该问题是由某些通知权限测试引起的。

测试通知权限时,提示只会在第一次出现。 要使提示再次出现,您需要:
删除应用并重置设备
将其打开并将日期更改为将来的日期,然后再次重置
将其打开并重新安装/构建应用程序,权限提示将再次出现。

我们已经在iOS7和iOS8设备上进行了一些测试来完成此操作。 问题似乎是在iOS7设备上,尽管称未记录推送打开通知,但这似乎与将来的日期有关。

iOS8设备上的日期也将在未来,但可能不会那么遥远。 在设备上将日期设置为正确的日期后,再次记录了iOS7设备上的推开通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM