Android集成信鸽推送【华为厂商通道之坑】

Android集成信鸽推送(华为通道)之坑

公司App之前用的是腾讯信鸽推送【V3.2.2之前版本】前不久信鸽新增加了华为小米魅族厂商通道【V3.2.2之前版本】,然后就赶紧升级添加华为小米魅族厂商通道,提高推送成功率。

首先按照流程开始准备工作

开始调试工作

  • 单独使用信鸽推送:打开APP消息透正常/杀死APP后还是也正常收不到消息,走短息通道了(以前就是这个鬼样子)
  • 首先是用华为手机在测试服务器上鼓捣了一下不行;现【华为系统推送渠道】需要打包apk才可以
  • 于是打包apk;直接登录账号,注册成功一切和顺利。在信鸽推送平台上按账号推送消息透传、推送栏都是秒到,感觉这样信鸽推送集成华为通道就ok啦

出问题啦!

  • 初步测试ok后,换了个账号再试;在信鸽推送平台上无论是消息透传还是通知栏,apk打开还是杀死,推送就是收不到;
  • 打开log发现我切换账号以后日志就是这样子(华为通道必须打包才行,没法debug):
    这里写图片描述
  • 信鸽开发文档【客户端返回码】中提示:10002:正在执行注册操作时,又有一个注册操作到来,则回调此错误码;
    这里写图片描述

  • 初步定位:每次账号退出时,调用信鸽解注册失败,App还注册状态,再次登录就信鸽重复注册导致1002

  • 于是卸载apk【解注册】,重新安装登陆,推送,一切正常;退出再次登录又是10002,这样确定是退出时解注册的代码问题了;
  • 信鸽代码前任Android集成的,都没有熟悉代码:信鸽V3.2.2由于集成厂商通道信鸽部分SKD中API做出修改,而且在V3.2.2失效
  • 修改注册API解注册API再在信鸽推送官网全部正常,本想华为通道总可以OK了吧。
  • 很快又发现在公司服务端推送的消息华为手机收不到,但是是信鸽官网推送能收到,那应该是服务端代码问题的不是Android端的问题吧
  • 服务端开发检查后说他那代码没问题,他在信鸽SDK信鸽官网一致,而且服务端推送返回结果码是:0,问题就应该是在Android端,服务端都是技术大牛他们那么一说,结果问题回到Android端了
  • 折腾了很久没有搞定,最后之前Android开发[转JavaEE服务端],他说自己搞个服务端信鸽demo试一下不就知道了嘛,我是半路出家只会点Android搞了很久才搞出个Java的demo,结果demo所有推送华为手机秒到,确定是服务端代码的问题
  • 结果服务端的大佬发现问题是服务端SDK没有升级,之前用pythonV1.1.8版本SDK,现在信鸽官网pythoySDK还是V1.1.8,但是下载解压后发现里面的SDK版本变成V1.1.8.3了;坑呀
  • 最后一个比较折腾的是:华为推送通道收到透传消息时,会拉起App的(例如:微信QQ)并且提示收到消息,但我App没有拉活,最后才发现是华为有个“自启管理”只有开启App的自启权限在收到透传消息会拉起App【微信QQ钉钉之类在华为应用商店前100的可以联系华为在系统中默认开启的自启权限】

总结

  • 信鸽集成华为推送中遇到下面几个坑 ,小伙伴留心啦:
    1. 测试华为通道时apk必须打包;有点像集成微信支付需要带正式的签名之类、
    2. 信鸽旧版升级的在V3.2.2中之前的部分api已经失效需要注意【尤其是注册和解注册】;
    3. 服务端SDK升级需留心,以Python服务端SDK为例:之前SDK是V1.1.8,但已经升级后SDK在官网写的还是V1.1.8,下载解压才发现已经升级为V1.1.8.3;据说连个升级说明都没有,信鸽团队就是这么自信;
    4. 还有是在信鸽的SDK消息透传onTextMessage(Context context,XGPushTextMessage message)的XGPushTextMessage 中有个customContent对content作为补充的字段,但是在华为推送透传中只有titlecontent字段,结果就是在V3.2.2SDK中信鸽团队无情将customContent字段抛弃了 ,如果有使用该字段的小伙伴要及时修改

最后就修改不熟悉的代码先仔细看看一遍代码看一遍文档了,不然小心事倍功半了*

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
华为云和腾讯云是两个不同的云计算平台,它们在一些方面存在差异。 首先,华为云和腾讯云在所属公司和发展历程上有所不同。华为云成立于2005年,隶属于华为公司,专注于云计算中公有云领域的技术研究与生态拓展。而腾讯云是腾讯公司旗下的产品,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。 其次,华为云和腾讯云在提供的服务和解决方案上也有所不同。华为云提供包括云主机、云托管、云存储等基础云服务,以及超算、内容分发与加速、视频托管与发布、企业IT、云电脑、云会议、游戏托管、应用托管等服务和解决方案。腾讯云则提供云服务器、云存储、云数据库和弹性web引擎等基础云服务,以及腾讯云分析(MTA)、腾讯云推送信鸽)等腾讯整体大数据能力,以及QQ互联、QQ空间、微云、微社区等云端链接社交体系。 此外,根据IDC中国提供的分析数据,无论是在IaaS市场还是在IaaS+PaaS市场,阿里云占据首位,华为云和腾讯云紧随其后,这三个平台共同占据了六成的市场份额。阿里云推进云钉一体战略,华为云提出了“云云协同”战略,腾讯云依托C2B的能力和生态多样性,在稳固互联网优势下,深耕金融、政务、智慧城市、文旅等领域,通过差异化竞争,保持稳定增长。 综上所述,华为云和腾讯云在所属公司、发展历程、提供的服务和解决方案以及市场竞争策略等方面存在差异。 #### 引用[.reference_title] - *1* *2* *3* [【云计算服务平台调研】阿里云、腾讯云、华为云对比](https://blog.csdn.net/qq_43800119/article/details/124665230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值