HMS 和 TPNS 集成问题

Unity摊

TPNS 和 HMS 不再介绍

问题详情: 由于腾讯的旧版信鸽停止维护, 需要迁移至新版信鸽,
渠道迁移过程中, 华为渠道包的华为账号登录(非静默登录)无法拉起登录界面,
并且日志中没有特别的报错。

测试排查如下问题:

  1. 发现和TPNS的so有关,删掉后就可以正常登录;
  2. 华为型号手机正常, 其它型号Android机及模拟器有问题;

使用SDK版本如下:

implementation 'com.huawei.hms:base:4.0.4.301'
implementation 'com.huawei.hms:hwid:4.0.4.300'
implementation 'com.huawei.hms:iap:4.0.4.300'
implementation 'com.huawei.hms:game:4.0.3.301'

implementation 'com.tencent.tpns:tpns:1.2.0.3-release' 

登录Log如下:


log.png

与TPNS侧沟通:


TPNS.png

最后经过漫长的等待, 终于等到腾讯与华为沟通的结果, 原因如下:

出于符合用户数据隐私和安全规范,TPNS SDK 在接入厂商通道时,为了避免在非本品牌手机上、
其他品牌的推送服务在后台自启、传输用户数据的隐患,
会在非本品牌手机上禁用其他品牌的推送服务组件。
而华为hms 类似谷歌的全家桶服务有一些公共组件,
结果就导致用于账号服务启动的组件也被TPNS SDK禁用了。

不过TPNS SDK预留了配置开关来取消对其他组件的禁用
manifest文件application标签下加上这两个节点配置,卸载后重装应用即可:
        

        

PS:愿开发顺利~~~~~~~

你可能感兴趣的:(HMS 和 TPNS 集成问题)