加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在iOS应用程序上实现Apple推送通知服务?

发布时间:2020-12-15 01:44:17 所属栏目:百科 来源:网络整理
导读:是否有任何示例项目展示如何在iPhone上集成APNS,以及如何获取deviceToken? 解决方法 您需要遵循以下几个简单步骤: 在您的app delegate的didFinishLaunchingWithOptions中,您应该注册远程通知.请注意,苹果的文档建议每次应用程序运行时注册,因为令牌可能会
是否有任何示例项目展示如何在iPhone上集成APNS,以及如何获取deviceToken?

解决方法

您需要遵循以下几个简单步骤:

>在您的app delegate的didFinishLaunchingWithOptions中,您应该注册远程通知.请注意,苹果的文档建议每次应用程序运行时注册,因为令牌可能会不时更改.你这样做是通过调用:

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

>注册远程通知后,将调用应用程序委托中已传递令牌的方法,您需要在应用程序委托中实现此方法并将令牌发送到您的服务器(将向您发送通知).该方法将如下所示:

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

    NSLog(@"device token is: %@",deviceToken);
    [server sendToken:deviceToken];
}

你也应该实现这个:

-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{}

>一旦获得通知,您需要处理通知.您处理收到通知的几种不同场景(应用程序位于后台或前台等),如果应用程序位于前台,处理通知的方法应该在应用程序委托中实现.就是这个:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    NSLog(@"received notification");
    //handle the notification here
}

要了解有关userInfo结构的更多信息并涵盖所有不同的场景,请仔细阅读http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html.这只是事情的要点:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读