iOS个推2.4.1更新2.5.3版本的更新及学习总结

iOS个推(GTSDK)2.4.1更新2.5.3版本的更新及学习总结

个推原理

my-logo.png

  1. 首先从服务器发送推送消息到个推服务器,个推内部再判断用户是否在线,若是在线则将本次推送内容调用应用内实现的代理方法,若是不在线,则会把本次推送经过apns服务器推进到苹果服务器,再由苹果服务下发通知。

新旧版本更新区别

通知消息

  1. 旧版处理逻辑
当使用2.4.1的时候后端发送通知消息不须要作任何处理。
由于只有当程序进入后台只会才会有消息推送弹窗,程序进入前台的时候收到通知消息是不会有消息接送弹窗
复制代码
  1. 新版新增一个注册通知方法和一个代理方法
注册通知方法
+ (void)registerRemoteNotification:(UNAuthorizationOptions)types;
复制代码

当开发者须要在应用前台的时候对接收到推进作处理的话须要先调用本次方法注册通知
后端

接收推送代理方法
- (void)GeTuiSdkNotificationCenter:(UNUserNotificationCenter *)center      
           willPresentNotification:(UNNotification *)notification 
           completionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler;
复制代码

若服务器下发通知消息,则应用在线且调用了注册方法注册了通知则走本次方法.个推添加本次方法优势在于,能够给开发者本身处理在程序前台的时候是否设置弹窗、声音和红点等操做。好比在直播过程当中,收到消息若不想有弹窗显示,则只需在调用completionHandler的时候不加入UNNotificationPresentationOptionAlert便可。
服务器

透传消息(前台)

  1. 旧版接收透传代理方法
- (void)GeTuiSdkDidReceivePayloadData:(NSData *)payloadData 
                            andTaskId:(NSString *)taskId 
                             andMsgId:(NSString *)msgId 
                           andOffLine:(BOOL)offLine fromGtAppId:(NSString *)appId;
复制代码
  1. 新版接收透传代理方法
- (void)GeTuiSdkDidReceiveSlience:(NSDictionary *)userInfo
                        fromGetui:(BOOL)fromGetui
                          offLine:(BOOL)offLine
                            appId:(nullable NSString *)appId
                           taskId:(nullable NSString *)taskId
                            msgId:(nullable NSString *)msgId
           fetchCompletionHandler:(nullable void (^)(UIBackgroundFetchResult))completionHandler;
复制代码
  1. 新版旧版在功能上是相同的,均只是下发透明传送消息,而不一样的点在于,新版将payloadData做为字典的其中一个字段再把字典返回出来。而当应用进入后台的时候服务器发送透传消息则会经过apns下发给用户,因此进入后台的时候收到透传消息是可以有弹窗消息。

iOS接收消息自定义铃声设置

  1. 将音频文件添加到项目的根目录,
  2. Build Phases->Copy Bundle Resources中加入刚刚的音频文件
  3. 推送的时候在apninfo中的setsound中设置文件名全称
  4. 设置完就能在推送的时候播放自定义铃声
相关文章
相关标签/搜索