iOS - 推送内容

时间:2012-09-04 12:08:46

标签: ios push apple-push-notifications payload

我google了很多,但我找不到答案。

我正在尝试在应用处于后台时获取推送通知的内容/有效负载。

方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

不起作用。

1 个答案:

答案 0 :(得分:1)

如果您的应用程序没有任何background mode(音频,gps或voip之一),方法-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo将不会立即被调用,但在用户按下“打开”按钮后应用程序前景。如果他或她决定跳过通知,则无法对其进行任何操作,这意味着您需要在应用程序返回前台时刷新状态,您不能依赖推送通知来更新数据。

更好的选择可能是使用徽章计数器来跟踪更改,您需要在服务器端计算它。然后,如果前台中的应用程序具有正徽章编号,则会更新数据并重置计数器。然而,这并不完美,因为无法保证通知已发送 - 您仍需要手动检查徽章计数器(或者您可以说检查更改次数)。