全部产品
云市场
云游戏
    Android端辅助通道和弹窗问题的排查步骤

Android端辅助通道和弹窗问题的排查步骤

更新时间:2020-08-11 17:35:15

概述

本文主要介绍Android端辅助通道和弹窗问题的排查步骤。

详细信息

参数检查

登录移动研发平台EMAS,选择移动推送后选择对应的应用,单击应用配置,确认各个平台上的相关参数一一对应。注意,参数填写时不要多添加空格。

终端集成确认

各通道初始化成功,可先在各厂商的控制台推送测试,然后再使用阿里云控制台或OpenAPI进行推送。

华为通道

华为通道初始化成功,如下图所示。注意,有时没有注册信息上报,但只要注册成功,返回token就说明初始化成功。

huawei

小米通道

小米通道初始化成功,如下图所示。

xiaomi

GCM/FCM通道

GCM/FCM通道初始化成功,可以看到以下日志信息:

05-19 19:18:44.530 19153-19177/com.xxx D/MPS:GcmRegister: token from register: eWIXLYCNP0Q:APA91bFUAgxj6XYf5okyoCBnRPw1UwITndzXrvPDgbdI2N44PYm17hFEBiNXNQJrJ8bOG_xjw3c3UPDAhzNMTLNjlAKcjUanKyLA6E3k4wEmgZuhgUT02UMmMvH2LVA1L2Z4-l-cT_Ug

OPPO通道

OPPO通道是否注册成功,可以通过过滤MPS:oppo关键字查看。注册成功会打印“onRegister regid=****”相关日志,注册失败请检查参数是否正确填入,阿里云控制台上需要填写OPPO的MasterSecret,注意是MasterSecret,不是appsecret,找不到可以咨询OPPO客服。

如果targetSdkVersion设置成26及以上,那么使用OPPO通道时需要设置NotificationChannel,NotificationChannel的相关介绍请参见Android 8.0以上设备接收不到推送通知,OPPO需要在推送控制台创建一个通知渠道,注意NotificationChannel的id要正确,各处都需要统一。

VIVO通道

VIVO通道初始化成功,可以看到以下日志信息:

vivo

魅族通道

魅族通道初始化成功,可以看到以下日志信息:

说明:魅族控制台必须配置回执地址,详情请参见辅助通道接入文

meizu

检查辅助弹窗配置

接入推送辅助通道,确保您使用最新的辅助通道扩展包。查看当前设备是否支持辅助弹窗:

  • 小米辅助弹窗:支持V2.3.0及以上版本
  • 华为辅助弹窗:支持V3.0.8及以上版本
  • 华为弹窗当前只支持EmotionUI 4.1及以上版本

指定打开的托管弹窗Activity,需要继承AndroidPopupActivity,并在AndroidManifest.xml中注册时需要声明属性android:exported=true

import com.alibaba.sdk.android.push.AndroidPopupActivity;
public class PopupPushActivity extends AndroidPopupActivity {
    static final String TAG = "PopupPushActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    /**
     * 实现通知打开回调方法,获取通知相关信息
     * @param title     标题
     * @param summary   内容
     * @param extMap    额外参数
     */
    @Override
    protected void onSysNoticeOpened(String title, String summary, Map<String, String> extMap) {
        Log.d("OnMiPushSysNoticeOpened, title: " + title + ", content: " + summary + ", extMap: " + extMap);
    }
}

服务器端配置

注意:推送测试阶段建议不要使用全量推送,全量推送可能有统计新注册设备的延迟,容易误导用户。接入阶段建议按deviceID进行推送。

使用OpenAPI进行推送

检查服务器端是否设置了AndroidPopupActivity、AndroidPopupTitle和AndroidPopupBody三个参数,且storeOffline参数也需要设置为true,若推送的是消息类型,需要将AndroidRemind设置为true。

PushRequest pushRequest = new PushRequest();
// 其余设置省略
// 推送类别-通知
pushRequest.setPushType("NOTICE");
// 标题
pushRequest.setTitle(dateFormat.format(new Date()));
// 内容
pushRequest.setBody("PushRequest body");
// 额外参数
pushRequest.setAndroidExtParameters("{\"k1\":\"android\",\"k2\":\"v2\"}");
// 设置辅助弹窗打开Activity
pushRequest.setAndroidPopupActivity("*****");
// 设置辅助弹窗通知标题
pushRequest.setAndroidPopupTitle("*****");
// 设置辅助弹窗通知内容
pushRequest.setAndroidPopupBody("*****");
// 设置离线存储
pushRequest.setStoreOffline(true);

使用阿里云控制台进行推送

登录移动研发平台EMAS,选择移动推送后选择对应的应用,单击推送通知推送消息,然后单击高级设置(选填),设置辅助通道必要参数,如下图所示。

问题仍未解决

若上述步骤仍未能定位并解决问题,即在最后使用OpenAPI高级接口时还是无法推送到厂商设备,您可以通过以下方式咨询问题,咨询时请务必提供AppKey、messageID以及deviceID。

  • 您可以提交工单,提交工单时请选择移动推送类目。
  • 或者加入钉钉群咨询问题:

适用于

  • 移动推送