开发者社区> 问答> 正文

【移动推送】Android端阿里云移动推送与其他注册厂商如何同时获取regId?

已解决

【移动推送】Android端阿里云移动推送与其他注册厂商如何同时获取regId?

展开
收起
EMAS支持组 2022-09-15 13:02:22 779 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    说明

    阿里云提醒您:

    如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

    如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

    如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

    本文以小米通道为例,其他厂商通道与小米通道的操作步骤类似。具体信息您可以查看各个类具体内容,这部分注册代码没有混淆。

    注意

    若您使用厂商的SDK出现依赖冲突,请参见辅助通道SDK与小米华为推送SDK冲突进行处理。

    华为通道在阿里云推送SDK中是HuaweiPushReceiver。

    魅族通道在阿里云推送SDK中是MeizuPushReceiver。

    OPPO和VIVO通道没有Receiver,因此阿里云推送SDK内部会实现一个回调,即重写OppoRegister、VivoRegister。

    首先介绍下阿里云推送辅助通道注册逻辑:阿里云推送SDK只会获取小米注册成功后的regId和阿里云推送SDK的设备标识绑定。而注册逻辑就是调用小米的官方注册,然后继承小米官方类PushMessageReceiver,最终阿里云推送MiPushBroadcastReceiver类会接收regId。您可以通过该类获取小米regId后,进行阿里云推送的绑定逻辑。

    若您需要腾讯IM或其他SDK也能和阿里云推送SDK一起获取regId,可以参见以下两种方法:

    再注册一个Receiver,这个Receiver继承MiPushBroadcastReceiver类,实现父类各个方法,调用(super)一下上层方法,然后在对应方法中拿到您想要的参数,给腾讯IM来绑定。

    再注册一个Receiver,这个Receiver继承PushMessageReceiver类,在各个方法中重新写一遍绑定步骤,也就是MiPushBroadcastReceiver里面的所有内容。

    注意 这种方式需要自行打印regId来观察注册情况。 在主AndroidManifest.xml文件中注册的Receiver,会覆盖掉所有第三方的注册,最终以主AndroidManifest.xml注册为准,注册Receiver过程中,一些属性必不可少,如下所示:

    <receiver
            android:name="com.alibaba.sdk.android.push.MiPushBroadcastReceiver"
            android:exported="true" >
            <intent-filter>
                <action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.xiaomi.mipush.ERROR" />
            </intent-filter>
        </receiver>
    

    若上述步骤仍未能定位问题,您可以通过以下方法解决问题:

    您可以加入钉钉群咨询问题:

    钉钉下载地址:单击下载

    钉钉群号:30959784

    或者提交工单,提交工单时请选择移动推送类目。


    更多官方信息

    EMAS官网介绍:https://www.aliyun.com/product/emas

    Devops:https://www.aliyun.com/product/emascrash/mobile_devops

    移动热修复:https://www.aliyun.com/product/hotfix

    移动测试:https://www.aliyun.com/activity/emas/mqcexpert

    移动推送:https://www.aliyun.com/product/cps

    HTTPDNS:https://www.aliyun.com/product/httpdns

    EMAS 控制台: https://emas.console.aliyun.com/products

    2022-09-15 13:55:31
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载