推送广义上分为两种,
一种是 程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作。这个叫做自定义消息。这个是在前台时,app与极光后台建立了一个长链接。
另一种是 程序处于前、后台 或者杀死状态的时候,在任务栏中显示推送的提醒,点击任务栏中的条目跳转到app,来做一些页面跳转等的操作 这个是大家都常见的那种推送。
自定义消息一般用的很少。
最新的推送里面有增加了富文本推送功能,这个暂时需求中还没有遇到过,有空可以尝试下。
对于token的获得:
有人说,需要这样处理
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSLog(@"deviceToken -- >> %@",deviceToken); NSString *pushToken = [[[[deviceToken description] stringByReplacingOccurrencesOfString:@"<" withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@""]; }
但是 极光推送 的时候 ,传过去的直接 是 NSData, 不用转换成字符串
自定义消息 推送的时候需要传递给后台 一个 极光推送 注册成功时 返回来的 注册id 而不是 token
而且很奇怪,在 debug 模式下 v2.X (具体记不清啦)可以正常编译通过, 但是 在 release 模式下 就会 编译不通过