推送使用场景

推送使用场景介绍

  • 按设备号deviceId推送

  • 按账号account推送

  • 按别名alias推送

  • 按标签tag推送

  • 通知的各种应用场景

    • 打开应用

    • 打开指定activity

    • 打开指定网页

    • 自定义 key/value 说明

  • 查看设备状态

  • 查看推送效果

1、按设备号推送

  • deviceId是设备在推送系统的唯一标识,刚接入推送时,一般验证推送效果会采用这种推送方式,deviceId的获取方式可参考Android SDK API介绍iOS SDK API介绍

  • 在控制台推送通知的高级设置区域选择 指定终端,或者在OpenAPI中配置推送目标为device:setTarget("DEVICE")。

    image

2、按账户推送

  • 账户account的设定可参考SDK API文档中接口的相关描述。

    重要

    按account推送的时候,绑定该account的手机都会收到推送。如果有账号之间的互斥登录需求,需要app开发时自行保证。

  • 在控制台推送的高级设置选择指定账号,或者在OpenAPI中按照account推送:setTarget("ACCOUNT")。

    重要

    如需要解绑账号,调用unbindAccount方法。

    image

3、按别名推送

  • alias是给设备添加的别名,相比account,别名绑定更加灵活,同一设备最多可添加128个别名,单个别名长度最大为128字节。

  • 具体接口描述和调用方式请参见SDK API文档。

  • 别名绑定后,在OpenAPI中按alias推送:setTarget("ALIAS"),调用setTargetValue()指定别名即可。

  • 调用removeAlias()接口可以删除设备的指定别名或全部别名。

4、按标签推送

  • tag是给设备添加的标签,可以根据您的业务需要进行设置,支持向设备/账号/别名绑定标签。系统最大支持128个标签。

  • 具体接口描述和调用方式请参见SDK API文档。

  • 绑定tag后,在OpenAPI中按tag推送:setTarget("TAG"),调用setTargetValue()指定标签名即可。

    重要

    使用unbindTag方法可以解绑添加的标签,解绑标签不等于删除,目前不支持删除功能。

5、通知的各种应用场景

  • 打开应用

  • 打开指定activity

  • 打开指定网页

  • 自定义key/value说明

5.1 打开应用

  • 点击通知栏通知会打开指定的App,如果App已在前台,则不发生跳转动作。

  • OpenAPI设置如下:

    pushRequest.setAndroidOpenType("APPLICATION"); //点击通知后动作,"APPLICATION":打开应用;"ACTIVITY":打开AndroidActivity;"URL":打开URL;"NONE" : 无跳转。

5.2 打开指定activity

  • 点击通知栏通知,会跳转到对应的App的指定Activity中。

  • Activity命名格式为:包名+Activity名,OpenAPI设置如下:

    pushRequest.setAndroidOpenType("ACTIVITY"); //点击通知后动作,"APPLICATION":打开应用;"ACTIVITY":打开AndroidActivity;"URL":打开URL;"NONE" : 无跳转。
    pushRequest.setAndroidActivity("com.alibaba.cloudpushdemo.bizactivity.DeviceActivity");// 设定通知打开的activity
    

5.3 打开指定网页

  • 点击通知栏通知,会调用手机系统的浏览器并打开指定的URL。

  • OpenAPI设置如下:

pushRequest.setAndroidOpenType("URL"); //点击通知后动作,"APPLICATION":打开应用;"ACTIVITY":打开AndroidActivity;"URL":打开URL;"NONE" : 无跳转。
pushRequest.setAndroidOpenUrl("http://www.aliyun.com");// Android收到推送后打开对应的url,仅当androidOpenType=3有效

5.4 自定义 key/value 说明

  • 以Android为例,通过OpenAPI发送通知的时候,设置androidExtParameters。

pushRequest.setAndroidExtParameters("{\"key\":\"value-muting\"}");//设定android类型设备通知的扩展属性
  • 在Android端重写通知相关的方法,获取extraMap参数。

import com.alibaba.sdk.android.push.MessageReceiver;

protectedvoid onNotification(Context context,String title,String summary,Map<String,String> extraMap){}

protectedvoid onNotificationOpened(Context context,String title,String summary,String extraMap){}

查看App的日志输出,如下:

02-2915:33:11.41232577-32577/com.alibaba.push2 E/MyMessageReceiver: onNotificationOpened, title: pop title, summary: pop body.., extraMap:{"key":"value-muting"}

6、查看设备状态

7、查看推送效果

您可根据需要查询指定时间段的推送通知或消息记录详情,具体请参见推送记录