专业的品牌信息化整合营销服务机构

互联网信息化咨询/技术开发/整合营销

请通过以下方式免费咨询

实现iOS 消息推送原理步骤-易龙天

图片1.jpg

从图中可以很清楚的看出来推送的原理主要分为以下几步:
        1.由App向iOS设备发送一个注册通知,用户需要同意系统发送推送。
        2.iOS向APNs远程推送服务器发送App的Bundle Id和设备的UDID。
        3.APNs根据设备的UDID和App的Bundle Id生成deviceToken再发回给App。
        4.App再将deviceToken发送给远程推送服务器(自己的服务器), 由服务器保存在数据库中。
        5.当自己的服务器想发送推送时, 在远程推送服务器中输入要发送的消息并选择发给哪些用户的deviceToken,由远程推送服务器发送给APNs。
        6.APNs根据deviceToken发送给对应的用户。
        · APNs 服务器就是苹果专门做远程推送的服务器。
        ·deviceToken是由APNs生成的一个专门找到你某个手机上的App的一个标识码。
        · deviceToken 可能会变,如果你更改了你项目的bundle Identifier或者APNs服务器更新了可能会变。

再说一下简单实现,首先要去配置好证书,有调试和发布证书以及配置文件,这里不再细说。

1.必须先进行注册,得到用户授权

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        // 1.获取推送通知的权限

        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil];

        [application registerUserNotificationSettings:settings];

        

        // 2.注册远程推送

        [application registerForRemoteNotifications];

    return YES;}

2.注册成功,接收从苹果服务器返回的唯一的设备token

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

    NSMutableString * devices_token = [NSMutableString stringWithFormat:@"%@",deviceToken];}

3.收到通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{

    NSLog(@"%@", userInfo);}

4.注册推送失败原因

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

    NSLog(@"Registfail,注册推送失败原因%@",error);}

 

 

 以上就是七星迪曼&易龙天对iOS 消息推送原理的一些简单总结,如果您这边有需要请电话联络13718601078或010-85868064,我们会及时安排专业的客服为您服务。