我正在使用推送通知来通知用户。我已在真实设备上成功测试过。现在我尝试将它集成到我的应用程序中。我想知道如何获取用户设备令牌。
我想我可以通过http或ftp将设备令牌发送到我的服务器并将它们存储在数据库中。服务器负责将通知推送到提供令牌的所有设备。这是完成这项工作的正确方法还是有更好的方法?
答案 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