2012-07-20 135 views
0

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

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

回答

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

+0

如何将设备令牌作为服务器端? – itenyh 2012-07-20 12:38:21

+0

设备应将此令牌发送到服务器。服务器必须为此提供一个接口(可能通过REST API),然后适当地处理令牌 – Lepidopteron 2015-07-31 07:18:41

0

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

0

如果您还没有获取设备令牌,请尝试使用以下代码注册您的设备以进行推送通知。

它也将工作在ios8或更多。

如果__IPHONE_OS_VERSION_MAX_ALLOWED> = 80000

如果([UIApplication的respondsToSelector:@selector(registerUserNotificationSettings :)]){ UIUserNotificationSettings *设定= [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