如何获取推送通知的用户设备令牌

时间:2012-07-20 12:31:53

标签: iphone ios ipad push-notification

我正在使用推送通知来通知用户。我已在真实设备上成功测试过。现在我尝试将它集成到我的应用程序中。我想知道如何获取用户设备令牌。

我想我可以通过http或ftp将设备令牌发送到我的服务器并将它们存储在数据库中。服务器负责将通知推送到提供令牌的所有设备。这是完成这项工作的正确方法还是有更好的方法?

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码打印设备令牌:

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

    NSString *str = [NSString stringWithFormat:@"Device Token=%@",deviceToken];
    NSLog(str); 
}

有关详细信息:CLICK HERE: Tutorial_Programming Apple Push Notification Services

答案 1 :(得分:0)

是的,您需要处理服务器端以及您在应用程序图标旁边看到的badge号码。您可以使用每次用户启动应用程序时接收令牌的PHP文件(或您熟悉的任何文件),然后在数据库中将徽章图标设置为0。对于您发送的每个新通知,您将该字段增加+1。希望这对你有用。

答案 2 :(得分:0)

如果您仍未获得设备令牌,请尝试输入以下代码,以便注册您的设备以进行推送通知。

它也适用于ios8或更高版本。

如果__IPHONE_OS_VERSION_MAX_ALLOWED> = 80000

if([UIApplication respondsToSelector:@selector(registerUserNotificationSettings :)]){     UIUserNotificationSettings * settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound                                                                              类别:无];     [[UIApplication sharedApplication] registerUserNotificationSettings:settings];     [[UIApplication sharedApplication] registerForRemoteNotifications]; } else {     [[UIApplication sharedApplication] registerForRemoteNotificationTypes:      UIRemoteNotificationTypeBadge |      UIRemoteNotificationTypeAlert |      UIRemoteNotificationTypeSound];

} 其他

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:  UIRemoteNotificationTypeBadge |  UIRemoteNotificationTypeAlert |  UIRemoteNotificationTypeSound]; ENDIF