关于android:MobTech-MobPush不同手机厂商推送问题

3次阅读

共计 4482 个字符,预计需要花费 12 分钟才能阅读完成。

配置了华为厂商推送,为什么有的华为设施无奈接管离线音讯

首先,排查配置的华为厂商参数是否正确;其次,查看华为设施 EMUI 版本,低于 5.0 可能不反对,如果低于 5.0,能够尝试降级设施里的‘华为挪动服务’利用,降级‘华为挪动服务’可能会反对华为厂商推送。

华为厂商长文本款式有效

应用华为长文本款式,题目 (title) 为必填项。

华为厂商解析 intent 为空

华为传递数据给利用仅在 NC 版本在在 9.11 及以上版本失效,NC 版本查看形式(设置 - 利用 - 利用治理 - 推送服务),老旧设施存在无推送服务或版本较低问题,可尝试降级版本解决,如无奈降级,华为未给出老旧设施兼容计划。具体阐明可查看:自定义点击音讯动作

集成华为厂商通道上架 Google 商店被拒,应该怎么解决?

如上架 google 商店被拒文案中有“We found your app is using a non-compliant version of Huawei Mobile Services SDK which contains code to download or install applications from unknown sources outside of Google Play”字样,起因是您以后应用的华为厂商 SDK 版本过低,华为在 6.3.0.304(2022-03-31)及以上的版本修复了该问题,您可在 Gradle 脚本中被动申明该版本,示例如下。

OPPO 推送时按全副人群进行推送,为什么有的 OPPO 设施接管不到

因为 OPPO 推送对应全副人群这种全量推送是有个工夫限度规定的,当全量推送时当天新注册的 OPPO 设施是不失效的,第二天才失效,被全量推送计算在指标设备组中,T+ 1 规定。而对应繁多 OPPO 设施推送时,没有 T + 1 规定限度,注册胜利即立刻失效。

OPPO 和 VIVO 设施告诉权限开关问题

OPPO:

在未接入 OPPO PUSH 前,利用的告诉栏权限是默认敞开状态;接入 OPPO PUSH 后,ColorOS3.1 至 5.0 版本的 OPPO 手机,用户激活了相干利用后,告诉栏权限会默认关上。特地阐明,若用户在应用旧版本利用(未集成 OPPO PUSH),手动将利用的告诉栏权限进行了敞开,则只有用户手动卸载旧版本利用,再装置新版本(集成 OPPO PUSH)并激活,告诉栏才会默认关上。采纳笼罩装置的形式,告诉栏权限不会默认开启;ColorOS5.1 及当前的版本的手机,告诉栏权限由零碎对立敞开,需用户手动关上。

VIVO: 集成 VPUSH,告诉权限总开关根本默认关上,但下方类别开关默认敞开,须要用户手动关上。

配置 vivo 厂商推送的 appId 和 AppKey 时,须要把“-”去掉吗

不须要

接入 vivo 厂商推送,发送推送胜利,vivo 设施未接管到推送

  1. 查看配置是否正确,包名是否和申请 vivo 推送服务时的包名统一;
  2. 手机告诉权限是否关上;
  3. 查看音讯是否曾经送达然而折叠到了音讯盒子外面?目前的策略是利用存活时展现,不存活时折叠;
  4. 查看设施联网是否有问题,如果连贯的 wifi 设置了代理,个别须要重启手机,能够切换手机网络重试;

小米手机接管不到推送

如果未在小米商店公布的挪动利用(APP), 小米推送团队将有权不再提供推送服务。小米利用商店对开发者利用定期平安审核的后果,调整该利用的推送权限,如开发者利用未能通过小米利用商店定期平安审核,小米有权双方解除协定,或立刻敞开该利用的推送权限,直至该利用通过小米利用商店的平安审核并在小米利用商店公布。详情可参考:dev.mi.com/console/doc…

如果小米手机接管不到推送,请先查看告诉权限是否开启,同时小米设施从 MIUI9 开始告诉栏应用不重要告诉过滤,查看告诉栏里不重要告诉里是否有对应利用的告诉。

如果利用应用的其余第三方产品中的魅族厂商推送和 MobPush 的魅族厂商推送抵触了,推送时其中一个不起作用

因为魅族厂商推送对接管监听回调只取 AndroidManifest.xml 中配置的第一个 Reciever,所以谁在后面配置哪个产品就失效,前面配置多少个魅族厂商推送回调监听都有效。解决办法:自定义一个 Receiver,继承自 MzPushMessageReceiver,从新外面所有的办法,而后这个自定义的 Receiver 里调用 MobPush 的魅族回调和第三方产品的魅族回调;而后再 AndroidManifest.xml 文件中进行配置:

<receiver
                android:name="自定义 Receiver">
                <intent-filter>
                        <action
                                android:name="com.meizu.flyme.push.intent.MESSAGE" />
                        <action
                              android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
                        <action
                                android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK" />
                        <action
                                android:name="com.meizu.c2dm.intent.REGISTRATION" />
                        <action
                                android:name="com.meizu.c2dm.intent.RECEIVE" />
                        <category
                                android:name="包名" />
                </intent-filter>
        </receiver>
复制代码

在自定义的 Receiver 里实现示例:

public class MyReceiver extends MzPushMessageReceiver {
         private OtherReceiver otherReceiver;
         private PushMeiZuRevicer mobpushMeiZuReceiver;
         public MyReceiver() {otherReceiver = new OtherReceiver();
                mobpushMeiZuReceiver = new PushMeiZuRevicer();}
         @Override
         public void onPushStatus(Context context, PushSwitchStatus pushSwitchStatus) {otherReceiver.onPushStatus(context, pushSwitchStatus);
                mobpushMeiZuReceiver.onPushStatus(context, pushSwitchStatus);
         }
         @Override
         public void onRegisterStatus(Context context, RegisterStatus registerStatus) {otherReceiver.onRegisterStatus(context, registerStatus);
                mobpushMeiZuReceiver.onRegisterStatus(context, registerStatus);
         }
         @Override
         public void onRegister(Context context, String s) {otherReceiver.onRegister(context, s);
                mobpushMeiZuReceiver.onRegister(context, s);
         }
         @Override
         public void onUnRegister(Context context, boolean b) {otherReceiver.onUnRegister(context, b);
                mobpushMeiZuReceiver.onUnRegister(context, b);
         }
         @Override
         public void onUnRegisterStatus(Context context, UnRegisterStatus unRegisterStatus) {otherReceiver.onUnRegisterStatus(context, unRegisterStatus);
                mobpushMeiZuReceiver.onUnRegisterStatus(context, unRegisterStatus);
         }
         @Override
         public void onSubTagsStatus(Context context, SubTagsStatus subTagsStatus) {otherReceiver.onSubTagsStatus(context, subTagsStatus);
                mobpushMeiZuReceiver.onSubTagsStatus(context, subTagsStatus);
         }
         @Override
         public void onSubAliasStatus(Context context, SubAliasStatus subAliasStatus) {otherReceiver.onSubAliasStatus(context, subAliasStatus);
                mobpushMeiZuReceiver.onSubAliasStatus(context, subAliasStatus);
         }
         @Override
         public void onNotificationClicked(Context context, MzPushMessage mzPushMessage) {otherReceiver.onNotificationClicked(context, mzPushMessage);
                mobpushMeiZuReceiver.onNotificationClicked(context, mzPushMessage);
         }
         @Override
         public void onNotificationArrived(Context context, MzPushMessage mzPushMessage) {otherReceiver.onNotificationArrived(context, mzPushMessage);
                mobpushMeiZuReceiver.onNotificationArrived(context, mzPushMessage);
         }

         @Override
         public void onNotifyMessageArrived(Context context, String s) {otherReceiver.onNotifyMessageArrived(context, s);
                mobpushMeiZuReceiver.onNotifyMessageArrived(context, s);
         }
    }
复制代码

配置了魅族厂商推送,客户端 debug log 输入注册胜利,推送时接管不到推送或者离线推送接管不到,如何解决

  1. 确认下魅族厂商推送接入的是 flyme 推送,而不是 ups 推送。
  2. 确认下魅族开发者平台创立的利用是否配置了回执,如果没有配置,请配置上哦~,这个会影响推送后果,导致推送不胜利。
  3. 如果下面都确认失常,仍存在问题请分割 MobTech 技术支持进行排查解决。
正文完
 0