配置消息告警自定义跳转
对于App端用户收到的离线告警信息推送,您可以自定义开发并设置指定的URL跳转地址,实现用户单击告警信息推送,即可跳转至告警信息的详情页面。
使用限制
该功能仅在自有品牌项目下的自有App支持,且目前仅支持安卓设备端使用。
配置跳转地址
登录物联网智能视频服务(标准版)控制台。
在左侧导航栏,选择产品管理。
在产品管理页面的全部项目页签,找到并单击目标项目卡片。
在项目主页面,找到并单击目标产品。
在产品页面,单击产品配置导航页签。
单击左侧功能列表的添加告警。
在添加告警对话框中,填入已开发的URL。其他参数的配置说明,请参见配置设备告警。
说明目前仅自有App支持告警信息推送指定跳转自定义地址。目前只支持华为、小米、OPPO和vivo手机,暂不支持三星和谷歌手机。
单击确定,完成配置。
自有App开发
Android App在点击推送通知时,可跳转到指定的activity,推送的扩展字段包含iotId和openPath字段。
iOS App收到的推送扩展字段包含iotId和openPath字段,iOS开发可根据openPath判断打开的目标页面。
{
"iotId":"hb6E********B000000",
"openPath":"com.aliyun.iot.NotifyTestFirstActivity"
}
离线跳转页面实现
离线跳转页面需要继承自BaseNotifyClickActivity
,类名路径必须跟后台推送的类名一致。
例如:后台传的类名是com.aliyun.iot.NotifyTestFirstActivity
,App端全类名必须是com.aliyun.iot.NotifyTestFirstActivity
。
重新在onMessage
方法中获取数据示例如下:
public class NotifyTestFirstActivity extends BaseNotifyClickActivity {
private static final String TAG = "NotifyTestFirstActivity";
private final static String PRE_NOTIFY = "NotifyTestFirstActivity容测试通知点击界面内: ";
public static TextView mTextView;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_notify_clicked);
mTextView = findViewById(R.id.text);
mTextView.setText(PRE_NOTIFY);
ILog.d(TAG, "onCreate isPushInit = " + PushInitStatus.getInstance().isInitPush);
}
@Override
public void onMessage(Intent intent) {
runOnUiThread(() -> {
if (intent != null) {
String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);//拿到三方通道托管弹窗消息内容
ILog.d(TAG, "onMessage : " + body);
mTextView.setText(PRE_NOTIFY + body);
}
});
}
}