打开服务器后清除服务器通知



我有一个接收推送通知的iOS应用程序。它通过在 didRegisterUserForNotificationsSettings 中注册到deviceToken数据库来实现这一点。之后,当我发送通知时,它会收到,当我打开应用程序时,我会清除它们,applicationDidBecomeActive.发送通知时,我的数据库会更新通知计数。例如,电话 A 收到 3 条通知,电话 B 收到 2 条通知。(与deviceToken有关)如果在电话 A 上我打开通知,它应该以相同的deviceToken向服务器发送一条消息,以从其在数据库上的计数中减去 1 个通知。

但是我不知道如何在applicationDidBecomeActive中获得deviceToken.

的问题的任何其他解决方案都不容易找到(至少我不能)。我如何解决此问题,或者其他人如何解决此问题,以便在打开通知时从数据库中减去通知计数。

请注意,我的数据库是mySQL的(第一范式),我使用PHP连接它

尝试使用 NSUserDefaults 设置设备令牌

在 didRegisterUserForNotificationsSettings 中设置此项

[[NSUserDefaults standardUserDefaults] setValue:deviceTokenString forKey:kDeviceToken];

这在你身上确实变得活跃起来。

NSString *deviceToken = [[NSUserDefaults standardUserDefaults] valueForKey:kDeviceToken];
if (deviceToken != nil)
{
  // Call your API
}

最新更新