如果我想实现推送通知,我多久需要向服务器发送一个设备令牌?

Mai*_*r00 2 objective-c push-notification apple-push-notifications ios

我想在我的应用程序中使用Apple推送通知服务.我阅读了几个教程,但是我不明白一些事情.据说我需要定期向服务器发送设备令牌(在我的情况下,它是用PHP编写的服务器) ).但是我经常发送它以及如何生成设备令牌?

提前致谢.

Era*_*ran 7

您应该注册每次应用程序启动时使用推送通知(使用registerForRemoteNotificationTypes).您应该在每次更改时将设备令牌本地存储在应用程序中并将其发送到您的服务器.您应该将获得didRegisterForRemoteNotificationsWithDeviceToken的设备令牌与您存储的最后一个设备令牌进行比较.这样,您可以将一些调用保存到服务器(因为实际上设备令牌很少更改).

这是注册码(取自Apple推送通知编程指南):

- (void)applicationDidFinishLaunching:(UIApplication *)app {

   // other setup tasks here....

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

}



// Delegation methods

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {

    const void *devTokenBytes = [devToken bytes];

    self.registered = YES;

    [self sendProviderDeviceToken:devTokenBytes]; // custom method

}
Run Code Online (Sandbox Code Playgroud)