美文网首页iOS进阶之路
增加push到达率的一些策略

增加push到达率的一些策略

作者: 蜡笔小强 | 来源:发表于2017-01-17 15:27 被阅读477次

            iOS的push可控性不大,由系统接管,但是由于一些网络或者其他原因,还是会有丢失消息的现象,这对于即时通讯类软件影响很大。正好项目有需要,做了一些改进。

    1.客户端:发送push消息后,客户端在收到push后发送个简单的回馈。需要在后台模式的plist里增加App downloads content in response to push notifications,并且在

    -(void)sendPushFeedBack:(NSString*)messageIds fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler

    方法里收到消息后处理。这边可以服务器自定义字段,双方约定规范后解析,发送反馈。

    2.客户端:以上只有在进程存活时候才行,杀死进程后我们监控不到,因此如果此时用户打开app了,我们一般里面自身有https接口查询了,也可以在启动后给服务器发送个标记,代表消息已经查出。不用再次发送push

    2.服务端:开发一套反馈接口。制定某个策略,如果发送push成功后,一段时间内(3分钟或者5分钟)没收到反馈,继续发送第二条push,以此类推,发送2次或者3次后不发送。

    经过测试,发现到达率还是有了很大提高。注意:这个代理方法不是每次都会执行,只有一段时间可以唤醒执行,如果调用过于频繁,系统会根据耗电量等因素终止不给调起来,所以有时候会出现2条相同消息的push送达。但是相对丢消息,已经有很大改善。

    相关文章

      网友评论

        本文标题:增加push到达率的一些策略

        本文链接:https://www.haomeiwen.com/subject/cximbttx.html