推送

一、Apple Notification Push Server(苹果消息推送服务器)

1,远程推送服务可以转发从提供者(一般是制作应用提供的服务器)一个远程通知(remote notification)到设备。一个通知是一个简短的消息包括两个重要的数据:设备令牌(device token)和有效载荷(payload)。设备令牌(device token)就好像是手机号码,它包含了APNs分配给某个设备中某个本机应用的允许推送的信息。APNs也会使用它来验证一个通知。有效载荷(payload)是一个json格式的列表,描述了通知怎么在设备上显示通知给使用该应用的用户。

2,远程通知数据流是单向的。提供者(provider)组装包含device Token和payload的通知包。提供者(provider)发送该通知给APNs。

一般 实现远程推送 流程为:

 

 

iOS获取deviceToken;
    如果希望自己的应用支持推送功能,需要在苹果开发者后台配置应用的证书和配置文件,还有推送用的证书。

1)配置项目证书+推送证书;
2)应用注册推送通知,获取device token;

二、极光推送
1,极光后台账号的申请
    2,极光后台应用的配置,和后台证书的配置
    3,极光SDK接入应用
        为什么需要把极光应用接入SDK?
        获取到deviceToken以后,怎么把deviceToken传给服务器,以便服务器需要发送通知时候,可以拼接deviceToken参数。
    a,新建项目
    b,按照说明文档接入极光SDK
    c,按照说明文档对接接口

三、推送通知
    1,在真机中允许程序,直到log日志显示极光推送注册成功
    2,在极光推送后台配置好推送消息,点击发送。
        推送的消息内容一般不允许超过256字节。

四、应用获取推送消息
    推送的消息可以在应用中获取到,AppDelegate一共有三个代理方法可以获取
1   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    这个方法,一般是用户收到通知以后,点击通知界面打开应用时候接受到。如果直接通过应用图标打开应用,这里接受不到推送消息,哪怕真的有推送通知。
    2- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo NS_AVAILABLE_IOS(3_0);
    如果推送的时候,应用正在设备上运行,这个地方可以接受到推送的消息。
    3- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0);


 

你可能感兴趣的:(推送)