首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得作为苹果推送通知服务提供商的设备令牌?

如何获得作为苹果推送通知服务提供商的设备令牌?
EN

Stack Overflow用户
提问于 2014-08-05 08:36:29
回答 1查看 2.1K关注 0票数 1

我想添加对向iOS应用程序发送苹果推送通知的支持。这是一个新闻应用程序,所以每次发生一些重要的新闻事件,然后我想广播一个推送通知给所有用户和设备安装该应用程序。

根据苹果推送通知服务文档,在图3-3中,客户端应用程序必须将设备令牌发送给提供者。

为了能够向安装我的应用程序的所有设备发送推送通知,我是否必须创建一个when服务,在客户端应用程序注册通知时接收和存储设备令牌?为了发送推送通知,我需要一个令牌和有效载荷。我想向所有用户发送一个推送通知,通常是几千个用户。那么,如何才能最好地访问设备令牌,以便向所有用户发送推送通知?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-05 09:07:29

是的。您必须创建一个web服务,以便将推送通知发送到正在使用您的应用程序的任何设备。就设备令牌而言,您可以使用以下方式完成代码:

代码语言:javascript
复制
- (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
}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
    NSLog(@"Error in registration. Error: %@", err);
}

您需要将其写入您的AppDelegate.m中,这将获取发送推送通知所需的设备令牌。

此外,还可以将这些令牌存储在某些数据库服务器上,以便在发送通知时进一步使用。下次要向选定用户或所有用户发送一些通知时,可以使用这些令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25134429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档