iOS极光推送别名限制问题

客户 0 79

iOS极光推送别名限制问题,第1张

iOS极光推送别名限制问题
导读:我们的项目中集成了极光推送,将用户id设置为别名,方便服务端对某个用户发送自定义消息。前几天遇到了一个用户反应无法收到推送,经过调试发现在设置别名时返回了错误码6009,极光官网的说明如下: 然后设置为debug模式,依然不知道是什么原因。

我们的项目中集成了极光推送,将用户id设置为别名,方便服务端对某个用户发送自定义消息。前几天遇到了一个用户反应无法收到推送,经过调试发现在设置别名时返回了错误码6009,极光官网的说明如下:

然后设置为debug模式,依然不知道是什么原因。于是先想到的就是升级一下SDK。升到最新版340之后,错误码变成了6017。错误原因如下:

然后在极光官方文档上发现了这样一句话:

RegistrationID就算作一个设备,即使我们是同一个手机,在卸载重装之后如果RegistrationID发生变化,就会算作一个新的设备,当重复卸载重装就会出现别名绑定失败,导致接收不到推送。

什么情况下RegistrationID会发生变化

然后我就尝试卸载重装,发现RegistrationID并未发生变化,这就很奇怪了。又是一通查找,找到了 这篇文章

里面有提到极光内部的一些处理,极光会将数据保存到粘贴板,如果重装时发现粘贴板有数据,RegistrationID就跟上次一样,如果没有数据,就会生成新的RegistrationID。

然后尝试卸载APP后关机重启,再安装。RegistrationID果然发生了变化。

到现在知道了收不到推送的原因了,极光官方提倡我们去充钱,能将设备上限提升到100个。但是无法从根本上解决问题,所以继续寻找解决方案。

在极光服务端的API文档中找到了 这一部分

我们可以在客户端通过调用极光服务端的API,解除别名绑定的设备。

具体解决思路如下:

极光在2020/03/10对别名绑定的设备数做了限制,在之前接入极光SDK的APP,使用别名功能时应该都存在这个问题的隐患,在此记录一下。

不得不吐槽一下极光的文档,对于设备也就是RegistrationID是否发生变化说的并不准确,而且iOS的SDK里并未提供批量解除别名绑定的API。

至于这个API到底是由客户端去调用还是服务端去调用,就仁者见仁智者见智了。

公司规模的话,极光更大一点,极光就是做推送起家的,推送服务还是很靠谱的。极光推送作为较成熟的推送平台,通过集成基础操作。为客户端以及服务端节省了大量时间来实现推送效果。

就iOS端来说要注意整体流程,首先,iOS端推送时分为两个状态,开发环境与生产环境,每个环境在app development里应做好相应的证书并导出(极光集成时需要用到p12文件),开发环境与生产环境需要在极光控制台设置。

产品优势:1) 开放注册,免费向所有的开发者开放使用2)SDK流量电量消耗很少3)集成简单,很快就能够集成跑起来4)服务器端推送支持大并发量、延迟小

极光推送将转向容器化、微服务化

未来,极光在技术架构上由 VM 全面转向容器化、微服务化是出于什么考虑?这一步走的算不算晚呢?

极光微服务是一种新的服务设计模式,开发、测试、生产三个环境可以统一,给开发工作带来了极大的灵活性。容器封装了所有必须的库,原来的版本依赖问题不存在了,由单纯的开发、运维两阶段合并成开发运维(DevOps),各方面的效率都将得到很大的提升。

使用极光推送的步骤:

1到极光推送官方网站注册开发者帐号;

2登录进入管理控制台,创建应用程序,得到 Appkey(SDK 与服务器端通过 Appkey 互相识别);

3在推送设置中给 Android 设置包名、给 iOS 上传证书、启用 WinPhone,根据你的需求进行选择;

4下载 SDK 集成到 App 里

推送服务可以说是所有 App 的标配,不论是哪种类型的 App,推送都从很大程度上决定了 App 的 打开率、使用率、存活率 。因此,熟知并掌握推送原理及方法,对每一个开发者来说都是必备技能,对每一个依赖 App 的公司来说都至关重要。

想进一步了解可以访问极光推送官网联系商务

极光推送,英文简称 JPush,是一个面向普通开发者开放的,免费的第三方消息推送服务。

更多了解请参考极光推送官方网站。 开发者可以在管理Portal上查看推送统计信息,直观地评估推送效果。

消息推送(Push)就是通过服务器把内容主动发送到客户端的过程。运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。完成推送后,消息通知会展示在移动设备的锁定屏幕及通知栏上,用户点击通知即可去往相应页面。

现在流行的消息推送实现方式,主要为长链接方式实现。其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。

个推作为国内移动推送领域的早期进入者,于2010年推出个推消息推送SDK产品,十余年来持续为移动开发者提供稳定、高效、智能的消息推送服务,成功服务了人民日报、新华社、CCTV、新浪微博等在内的数十万APP客户。个推消息推送,也是运用长链接的方式实现消息推送的,其长链接稳定性高、存活好,消息送达率高。开发者通过集成个推消息推送SDK,即可简单、快捷地实现Android和iOS平台的消息推送功能,有效提高产品活跃度、增加用户留存。

如果您对个推消息推送感兴趣,欢迎前往个推开发者中心免费注册体验。

个推的合作客户