发帖不多,还请见谅
关于 WhatsApp 的离线推送,我们想求助实现方式。
我们的项目是一个 IM 即时通讯 App,客户希望做到像 WhatsApp 一样的, 在 App Kill 掉的情况下,收到离线推送的时候,信息就已经存储到 App 本地。 即使这个时候用户断网,再开启 App,依然能够看到刚才收到的离线消息已经显示在会话中了。
我们之前是使用 VoIP 的方式来做的,使用 VoIP 推送,拉起 App 存储到本地。
但是在 iOS 13 + Xcode 11 的情况下,Apple 要求如果使用了 VoIP 的推送,就一定要 Report CallKit。 我们现在测试的结果是如果是用 Xcode 11 打包的情况下,收到推送如果不 Report,Apple 的推送服务推送几次以后就不会再推了。 除非换成使用 Xcode 10.2 打包,删除重装 App 生成新的 deviceToken 才可以。
但是很快 Xcode 10 打的包 Apple 就不再接受了,我们目前找不到其他能够实现离线推送本地存储的方案。
当然,因为 App 在国外上线,所以不考虑 CallKit 和政策的部分,我们只是想实现离线推送数据在 App 被 Kill 的情况下保存包本地,除了 VoIP 还有没有其他实现方式,客户只是想要离线推送数据缓存而已。
不知道 WhatsApp 用了什么方式,还请各位大佬不吝赐教
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.