配置了默认点击跳转界面,对所有通道都有效吗
只对MobPush、魅族、小米、华为、OPPO、VIVO通道有效,对FCM通道无效。
如何获取回调参数
- 进程存活的情况下,可在我们的回调监听中看到通知详情,可以根据回调参数进行处理。 详情请查看 API接口->推送监听接口。
- 进程被杀情况下,回调监听不可用,但点击通知后拉起应用的启动页面,会触发启动Activity的onCreate或onNewIntent,通过getIntent拿到回传的Intent,可以拿到通知详情。
- 注:PushSDK提供了解析方法来获取回调参数,但厂商通知主要是获取附加字段,不会把所有信息都解析出来。 跳转首页获取参数
JSONArray jsonArray = MobPushUtils.parseMainPluginPushIntent(getIntent());
System.out.println("-------------JsonPushData打印查看:"+jsonArray);
返回说明
2.2 scheme跳转获取参数,详情请查看 API接口->scheme跳转
JSONArray jsonArray = MobPushUtils.parseSchemePluginPushIntent(getIntent());
System.out.println("-------------JsonScheme打印查看:"+jsonArray);
返回说明
3.如不使用PushSDK提供的解析方法,可参考以下方法获取回调参数
private void dealPushResponse(Intent intent) {
Bundle bundle = null;
if (intent != null) {
bundle = intent.getExtras();
if (bundle == null) {
Log.e("PushResponse","bundle的值为空"+bundle);
return;
}
else {
Set<String> keySet = bundle.keySet();
if (keySet == null || keySet.isEmpty()) {
return;
}
for (String key : keySet) {
//通过key获取bundle中的key对应的值。就是附加数据了
Log.e("PushResponse","bundlekey===========================点击信息"+key);
}
Log.e("PushResponse","bundle===========================点击信息"+bundle.toString());
}
}
}
OPPO推送时按全部人群进行推送,为什么有的OPPO设备接收不到
因为OPPO推送对应全部人群这种全量推送是有个时间限制规则的,当全量推送时当天新注册的OPPO设备是不生效的,第二天才生效,被全量推送计算在目标设备组中,T+1规则。 而对应单一OPPO设备推送时,没有T+1规则限制,注册成功即立即生效。
厂商推送打开通知都会有回调吗
不是都有回调,OPPO推送没有接收通知和打开通知的回调;FCM推送在应用处于后台时或者应用进程被杀掉时没有接收通知和打开通知的回调。
应用在前台时,MobPush通道推送接收不到
应用在前台时,MobPush通道推送接收不到,请按照以下步骤检查:
- 检查手机网络是否正常
- 检查手机通知权限是否打开
- 是否在通知栏不重要的通知里
- 检查应用配置是否正确