推送使用场景介绍
按设备号deviceId推送
按账号account推送
按别名alias推送
按标签tag推送
通知的各种应用场景
打开应用
打开指定activity
打开指定网页
自定义 key/value 说明
查看设备状态
查看推送效果
1、按设备号推送
deviceId是设备在推送系统的唯一标识,刚接入推送时,一般验证推送效果会采用这种推送方式,deviceId的获取方式可参考Android SDK API介绍和iOS SDK API介绍。
在控制台推送通知的高级设置区域选择 指定终端,或者在OpenAPI中配置推送目标为device:setTarget("DEVICE")。
2、按账户推送
账户account的设定可参考SDK API文档中接口的相关描述。
重要按account推送的时候,绑定该account的手机都会收到推送。如果有账号之间的互斥登录需求,需要app开发时自行保证。
在控制台推送的高级设置选择指定账号,或者在OpenAPI中按照account推送:setTarget("ACCOUNT")。
重要如需要解绑账号,调用unbindAccount方法。
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"}
跳转到对应的Activity时获取推送参数,请参见推送Android SDK打开App或指定Activity时如何获取推送通知参数?
6、查看设备状态
通过OpenAPI查看,具体请参见查询设备详情。
通过控制台查看。
7、查看推送效果
您可根据需要查询指定时间段的推送通知或消息记录详情,具体请参见推送记录。