问题详情: 由于腾讯的旧版信鸽停止维护, 需要迁移至新版信鸽,
渠道迁移过程中, 华为渠道包的华为账号登录(非静默登录)无法拉起登录界面,
并且日志中没有特别的报错。
测试排查如下问题:
- 发现和TPNS的so有关,删掉后就可以正常登录;
- 华为型号手机正常, 其它型号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如下:
与TPNS侧沟通:
最后经过漫长的等待, 终于等到腾讯与华为沟通的结果, 原因如下:
出于符合用户数据隐私和安全规范,TPNS SDK 在接入厂商通道时,为了避免在非本品牌手机上、
其他品牌的推送服务在后台自启、传输用户数据的隐患,
会在非本品牌手机上禁用其他品牌的推送服务组件。
而华为hms 类似谷歌的全家桶服务有一些公共组件,
结果就导致用于账号服务启动的组件也被TPNS SDK禁用了。
不过TPNS SDK预留了配置开关来取消对其他组件的禁用
manifest文件application标签下加上这两个节点配置,卸载后重装应用即可:
<meta-data
android:name="tpns-disable-component-huawei-v2"
android:value="false" />
<meta-data
android:name="tpns-disable-component-huawei-v4"
android:value="false" />
PS:愿开发顺利~~~~~~~