我已经按照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];
}
虽然在iOS7上调用了[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
方法,但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];
}
答案 0 :(得分:0)
该问题是由某些通知权限测试引起的。
测试通知权限时,提示只会首次出现。要获得再次提示,您需要:
删除应用程序并重置设备
将其打开并将日期更改为将来日期,再次重置
打开它并重新安装/构建应用程序,将再次出现权限提示。
我们一直在为iOS7和iOS8设备上的一些测试完成此操作。问题似乎是在iOS7设备上,尽管推送通知被称为未被记录,但这似乎与未来的日期有关。
iOS8设备上的日期也是未来,但可能不会遥遥领先。当设备上的日期设置为正确日期时,再次记录iOS7设备上的推送通知。