混合推送集成有问题。看到社区上混合推送的帖子基本没有,要么都是老的版本。我用的是最新的4.6.9版本。由于目前app只考虑华为的,小米的和魅族的不需要。但是,按照华为新的hms集成文档,先报错提示com.meizu.cloud.pushsdk.MzPushMessageReceiver找不到,只好添加依赖'com.meizu.flyme.internet:push-internal:3.6.2@aar',发现错误消失了。(很奇怪,我 AVMixPushManager::registerHMSPush怎么会需要魅族的相关依赖的)。继续集成时,依旧提示错误:
@BinaryHB @ycui
你好,可以参考一下 华为推送-HMS 版本 文档,查看一下相关配置是否正确。
这个毋庸置疑,肯定一步一步操作过来的。
有个推送的 Demo 您可以下载借鉴一下。
Demo 地址: https://github.com/leancloud/mixpush-demos
问题已找到。Android M需要动态申请获取权限android.permission.READ_PHONE_STATE,只在Manifest里添加android.permission.READ_PHONE_STATE权限是不够的,如果不做权限的动态申请和处理,就会报错。所以你们sdk仅check manifest权限是不够的。 所以如果想使用混合推送的话,必须app启动时就动态申请该权限。这点你们文档是没有任何标注的。
补充下,下面是抛出魅族相关sdk不存在的问题。Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/meizu/cloud/pushsdk/MzPushMessageReceiver;抛出错误的源头居然是 AVMixPushManager.registerHMSPush,这就有点问题吧。目前版本我可以添加魅族相关sdk依赖,后续版本希望你们能检查下相关代码,去掉这个错误。谢谢!
更新下完整错误日志:
@BinaryHB 也麻烦看下这个。 现在剩下的问题是:混合推送只需要华为的,不需要魅族的。但是现在不导入魅族相关lib就抛出上图warning.