VIVO消息推送 Android PUSH-SDK API接口文档
点击此处下载 PUSH SDK接入文档
版本号:3.0.0.4
一、 接口概述
本SDK中有两个开放类,分别为:Push操作类PushClient、回调接收类OpenClientPushMessageReceiver/ IPushActionListener。
PushClient 为功能接口,用于调用Push相关功能;
IPushActionListener 为操作回调接口,用于功能接口状态回调;
OpenClientPushMessageReceiver 为回调接口,用于Push的数据结果返回;
1. PushClient功能类
PushClient提供Push服务的对外API列表,采用单例模型,通过getInstance(Context context)获得该对象。
initialize 初始化Push服务;
checkManifest 检查AndroidManifest是否正确声明组件和权限;
turnOnPush 打开PUSH;
turnOffPush 关闭PUSH;
getRegId 获取当前设备的当前应用的唯一标识;
bindAlias 设置应用别名;
unBindAlias 取消应用别名;
getAlias 获取应用别名;
setTopic 设置主题;
delTopic 删除主题;
getTopics 获取主题;
isSupport 当前系统是否支持PUSH;
2. IPushActionListener操作回调类
IPushActionListener类提供PushClient的操作回调。
onStateChanged 操作状态返回,详见操作码;
3.OpenClientPushMessageReceiver操作回调类
OpenClientPushMessageReceiver类提供基础消息的接收和操作结果的反馈,需要开发者继承本类,并重载相关的方法;同时,还需要在AndroidManifest.xml静态注册。
onReceiveRegId RegId结果返回,只有首次获取到或regId发生变化时才会回调;onNotificationMessageClicked 通知被点击时回调(仅用于兼容老版本)。
4. 公共状态码
状态码用于返回各项操作的结果,常用于回调接收类中状态返回,以下为公共状态码:
0 操作成功; 1 操作成功,此动作在未操作前已经设置成功; 101 系统不支持; 102 PUSH初始化异常,请重现初始化PUSH; 1001 一天内调用次数超标; 1002 操作频率过快; 1003 操作超时; 1004 应用处于黑名单; 1005 当前push服务不可用; 10000 未知异常; 10001 topic错误,例如传入appid/; 10002 topic错误, 例如appid/null; 10003 app包名与配置不匹配,例如传入com.yyy; 10004 appkey不匹配,例如传入appkey:bcd不存在; 10005 appid传入错误,例如未申请此appid,传入111; 10006 别名长度超过40; 10007 别名订阅时appkey不存在; 10008 开放平台暂不支持tag订阅;
二、 API接口
PushClient类
① Initialize
功能介绍:初始化push服务,可以提高后台发送消息的实时性。
接口定义:void initialize();
补充:建议每次手机启动后,都调用一次,确保Push服务能够正常运行。
② turnOnPush
功能介绍:打开应用push开关,绑定应用,成功后便可接收到当前应用的推送消息。
接口定义:void turnOnPush(IPushActionListener listener);
参数说明:listener: 状态监听;
补充:打开push成功后无需重复调用。
③ turnOffPush
功能介绍:关闭应用push开关,解除绑定应用,解绑后将收不到当前应用的推送消息。
接口定义:void turnOffPush(IPushActionListener listener);
参数说明:listener: 状态监听;
补充:关闭push成功后无需重复调用。
④ getRegId
功能介绍: 获取当前设备的当前应用的唯一标识,后台可基于此标识发送通知。
接口定义:String getRegId();
返回值:当前设备的当前应用的唯一标识;
补充:此方法仅在打开PUSH成功后可以获取,否则为null。
⑤ bindAlias
功能介绍:在注册成功,收到regId之后,即可设置别名,绑定当前设备的当前应用的别名,可以理解为regId的别名,开发者可以将别名设置为自己应用帐号系统的帐号,或者设备标识等。然后通过此别名发送消息。
接口定义:bindAlias(String alias, IPushActionListener listener);
参数说明:alias:别名; listener: 状态监听。
**状态码 描述** 30001 设置别名失败:请打开push开关; 30002 设置别名失败:订阅别名为空; 30003 设置别名失败:别名设置超长,字符长度超过70;
补充:绑定别名,同一个别名仅能绑定一个regId。当regId已绑定了别名A,若调用此接口绑定别名B,则与别名A的绑定关系会自动解除。此接口与 unBindAlias 一天内最多调用100次,两次调用的间隔需大于2s。
⑥ unBindAlias
功能介绍:删除别名,解除绑定当前应用别名,解绑成功后后台将无法通过别名的方式向应用发消息。
接口定义:
void unBindAlias(String alias);
void unBindAlias(String alias, IPushActionListener listener);
参数说明: alias:别名; listener:状态监听。
**状态码 描述** 30001 删除别名失败:请打开push开关; 30002 删除别名失败:订阅别名为空; 30003 删除别名失败:别名设置超长,字符长度超过70;
补充:此接口与 bindAlias 一天内最多调用100次,两次调用的间隔需大于2s。
⑦ getAlias
功能介绍:获取当前设备的应用别名,后台可基于此别名发送通知。
接口定义:String getAlias();
返回值:当前设备的应用别名。
⑧ checkManifest
功能介绍:校验接入是否异常。通过调用该API来检查AndroidManifest.xml是否正确声明了本SDK要求的所有组件和权限。当有组件和权限未定义,或者组件的属性声明错误时抛出异常VivoPushException。
接口定义:void checkManifest()。
⑨ setTopic
功能介绍:在注册成功,收到regId之后,即可设置主题;开发者可根据用户订阅的主题实现分组。
接口定义:setTopic(String top苹果cms生成双端appic, IPushActionListener listener);
参数说明:topic : 需要订阅的主题名; listener : 状态监听。
**状态码 描述** 20001 设置主题失败:请打开push开关; 20002 设置主题失败:订阅主题为空; 20003 设置主题失败:别名设置超长,字符长度超过70; 20004 设置主题失败:订阅次数太频繁或已订阅数过多;
补充:同一个regId可设置多个主题,最多可订阅500个主题。当regId已设置了topicA,若调用此接口设置topicB,则regId同时订阅了topicA和topicB。此接口与 delTopic 一天内最多调用500次,两次调用的间隔需大于2s。
⑩ delTopic
功能介绍:删除已经设置的主题。
接口定义:delTopic(String topic, IPushActionListener listener);
参数说明:topic 需要取消订阅的主题名; listener 状态监听。
**状态码 描述** 20001 设置主题失败:请打开push开关; 20002 设置主题失败:订阅主题为空; 20003 设置主题失败:别名设置超长,字符长度超过70; 20004 设置主题失败:订阅次数太频繁或已订阅数过多;
补充:此接口与 setTopic 一天内最多调用500次,两次调用的间隔需大于2s。
⑪ getTopics
功能介绍:获取当前设备的应用主题,后台可基于此主题发送通知。
接口定义:List getTopics();
返回值:当前设备已经设置的应用主题;
⑫ isSupport
功能介绍:用于判断当前系统是否支持PUSH服务。
接口定义:boolean isSupport();
返回值:true 系统支持; false 系统不支持。
⑬ onReceiveRegId
功能介绍:RegId结果返回。当开发者首次调用turnOnPush成功或regId发生改变时会回调该方法。
接口定义:void onReceiveRegId(Context context, String regId);
参数说明:context : 应用上下文; regId: 当前设备的当前应用的唯一标识;
⑭ onNotificationMessageClicked(仅用于兼容老版本)
功能介绍:通知被点击后的结果返回。当push发出的通知被点击后便会触发onNotificationClicked通知应用。
接口定义:void onNotificationMessageClicked(Context context, UPSNotificationMessage msg);
参数说明:context : 应用上下文; msg: UPSNotificationMessage通知消息结构体;
**UPSNotificationMessage 包含以下字段** msgId:通知id。 title:通知标题。 content:通知内容。 skipContent:通知自定义内容。 params:自定义键值对。
三、统一推送联盟API介绍
① turnOnPush
功能介绍:做了相应的初始化操作,建议用户在自己应用的Application中的onCreate()方法中调用turnOnPush操作。
接口定义:
void turnOnPush(Context context, UPSTurnCallback callback)
参数说明:
context : 应用上下文; Callback:UPSTurnCallback 回调结构,包含以下方法; .getReturnCode() 获取返回状态,0代表成功,其他值代表失败。
② registerToken
功能介绍:注册push,获取申请的regId
接口定义:
void registerToken(final Context context, String appID, String appKey, String appSecret, final UPSRegisterCallback callback)
参数说明:
context : 应用上下文; appID: 应用在Vivo开放平台申请的APPId; appKey: 应用在Vivo开放平台申请的APPKey; appSecret: 应用在Vivo开放平台申请的APPSecret; callback: UPSRegisterCallback回调结构,包含以下方法; .getReturnCode() 获取返回状态,0代表成功,其他值代表失败; .getToken() 获取应用申请的regId。
③ unRegisterToken
功能介绍:接注册push,关闭push功能
接口定义:
void unRegisterToken(Cont网页生成app软件ext context, final UPSRegisterCallback callback)
参数说明:
context : 应用上下文; Callback:UPSRegisterCallback回调结构,包含以下方法; .getReturnCode():获取返回状态,0代表成功,其他值代表失败。
④ turnOffPush
功能介绍:该功能暂时未具体实现,要关闭push功能,请调用上面的unRegisterToken接口
接口定义:
void turnOffPush(Context context, final UPSTurnCallback callback)
参数说明:
context : 应用上下文; Callback:UPSTurnCallback回调结构,包含以下方法; .getReturnCode():获取返回状态,0代表成功,其他值代表失败。
编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/12129/
部分内容来自网络投稿,如有侵权联系立删