下载文档

API
更新时间:2016-06-28

1、 简介

本插件封装了个推消息推送平台的 SDK,使用此模块可轻松实现服务端向客户端推送通知和透传消息的功能。2.0.0版本更新了部分方法,请此版本之前的插件重新集成。

插件作者:来自个推官方

1.1使用插件需要的相关配置

自定义插件(建议在线使用)下载:跳转到插件中心,可参考详细操作文档:点击跳转
Android
下载插件包解压修改其中的 AndroidManifest.xml 文件:

  • 替换第 10 行到 21 行中 “您的AppId”、”您的AppKey”、”您的AppSecret” 为申请到的对应值。
  1. <meta-data
  2. android:name="PUSH_APPID"
  3. android:value="您的AppId" />
  4. <meta-data
  5. android:name="PUSH_APPKEY"
  6. android:value="您的AppKey" />
  7. <meta-data
  8. android:name="PUSH_APPSECRET"
  9. android:value="您的AppSecret" />
  10. <meta-data
  11. android:name="PUSH_GROUPID"
  12. android:value="" />
  • 替换第 26 行 name 值中 appId 为申请到的 “您的AppId”。
  1. <action android:name="com.igexin.sdk.action.您的AppId" />
  • 替换第 86 行 name 值中 appId 为申请到的 “您的AppId”。
  1. <action android:name="com.igexin.sdk.action.您的AppId" />
  • 替换第 71 行 authorities 值中 “您的应用包名” 为自己的包名。
  1. <provider
  2. android:name="com.igexin.download.DownloadProvider"
  3. android:authorities="downloads.您的应用包名"
  4. android:process=":pushservice" />
  • 适配 Android 5.0 以上需要修改自定义权限名称,替换第 4 行到 8 行 name 值中 “您的应用包名” 为自己的包名。

因 Android 5.0 系统自身限制,多个应用安装时,如果拥有同一个 Service 权限,会导致权限冲突,只能安装一个带有此权限的应用,其他应用都不能再安装上去。
目前有许多客户在 Android 5.0 系统上接入个推 SDK 时,会发现如果其他集成个推 SDK 的应用已经安装在手机,此应用就不能再安装上去,会出现权限冲突。报错信息如下:
[INSTALL_FAILED_DUPLICATE_PERMISSIONperm=getui.permission.GetuiServicepkg=com.XXX.XXXXX]
官方说明:
Starting in Android 5.0, the system enforces a new uniqueness restriction on custom permissions for apps that are signed with different keys. Now only one app on a device can define a given custom permission (as determined by its name), unless the other app defining the permission is signed with the same key. If the user tries to install an app with a duplicate custom permission and is not signed with the same key as the resident app that defines the permission, the system blocks the installation.

  1. <uses-permission android:name="getui.permission.GetuiService.您的应用包名" />
  2. <permission
  3. android:name="getui.permission.GetuiService.您的应用包名"
  4. android:protectionLevel="normal" >
  5. </permission>

修改完成后重新打包上传为自定义的插件供打包使用。

2、API概览

2.1 方法

changePushStatus 开始或暂停推送服务

描述
开始或暂停推送服务

参数

  • status: (Int 类型) 必选 0 代表开始推送,1 代表暂停推送。

平台支持

  • Android 2.2+

版本支持

  • 3.0.0+

示例代码

  • Android
  1. uexGetui.changePushStatus(0);

destroy 停止并销毁推送服务

描述
停止并销毁推送服务

参数

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.destroy();

2.2 调用方法

version 获取 SDK 版本号

描述
获取 SDK 版本号,回调 onGetVersion

参数

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.version();
  2. uexGetui.onGetVersion = function(opId, dataType, data){
  3. // Handle data
  4. }

initialize 初始化推送服务

描述
初始化推送服务,回调 onInitializePusher

参数

  • Android

  • iOS
  • appId: 申请到的 appId
  • appKey: 申请到的 appKey
  • appSecret: 申请到的 appSecret

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  • Android
  1. uexGetui.initialize();
  2. uexGetui.onInitializePusher = function(opId, dataType, data){
  3. // Handle data
  4. }
  • iOS
  1. var params = {
  2. appId:'h5AH1rK4KW7vfFGZjT7fG',
  3. appKey:'aiMe49ehZa7IK8sevOTiY8',
  4. appSecret:'wx7779c7c063a9d4d9'
  5. };
  6. var data = JSON.stringify(params);
  7. uexGetui.initialize(data);
  8. uexGetui.onInitializePusher = function(opId, dataType, data){
  9. // Handle data
  10. }

clientId 获取当前用户的 clientId

描述
获取当前用户的 clientId,回调 onGetClientId

参数

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.clientId();
  2. uexGetui.onGetClientId = function(opId, dataType, data){
  3. // Handle data
  4. }

setTags 为用户设置标签

描述
为用户设置标签,回调 onSetTags

参数

  • tags: (String 类型) 必选 标签字符串(以逗号,分割)
  • sn:用户自定义的序列号,用来唯一标识该动作, 自定义 receiver 中会回执该结果

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. var params = "tag1,tag2";
  2. var sn="getui";
  3. uexGetui.setTags(params,sn);
  4. uexGetui.onSetTags = function(opId, dataType, data){
  5. // Handle data
  6. }

bindAlias 绑定用户别名

描述
绑定用户别名,回调 onBindAlias

参数

  • alias: (String 类型) 必选 别名字符串

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. var alias = "name";
  2. var isSelf="true";
  3. uexGetui.bindAlias(alias,isSelf);
  4. uexGetui.onBindAlias = function(opId, dataType, data){
  5. // Handle data
  6. }

unbindAlias 解绑用户别名

描述
解绑用户别名,回调 onUnbindAlias

参数

  • alias: (String 类型) 必选 别名字符串
  • isSelf:(boolean类型)必选,是否只对当前 cid 有效,如果是 true,只对当前cid做解绑;如果是 false,对所有绑定该别名的 cid列表做解绑
    平台支持

  • Android 2.2+

  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. var alias = "name";
  2. var isSelf="true";
  3. uexGetui.unbindAlias(alias,isSelft);
  4. uexGetui.onUnbindAlias = function(opId, dataType, data){
  5. // Handle data
  6. }

getPushStatus 获取推送服务的服务状态

描述
获取推送服务的服务状态,回调 onGetPushStatus

参数

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.getPushStatus();
  2. uexGetui.onGetPushStatus = function(opId, dataType, data){
  3. // Handle data
  4. }

sendMessage 发送上行消息到应用服务器

描述
发送上行消息到应用服务器,回调 onSendMessage

参数

  • taskId: (String 类型) 必选 task id
  • data: (String 类型) 必选 需要发送的字符串内容

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. var params = {
  2. taskId:'TASK_ID',
  3. data:'any string'
  4. };
  5. var data = JSON.stringify(params);
  6. uexGetui.sendMessage(data);
  7. uexGetui.onSendMessage = function(opId, dataType, data){
  8. // Handle data
  9. }

sendFeedbackMessage 上行第三方自定义回执

描述
上行第三方自定义回执,回调 onSendFeedbackMessage

参数

  • taskId: (String 类型) 必选 task id
  • messageId: (String 类型) 必选 message id
  • actionId: (String 类型) 必选 action id

平台支持

  • Android 2.2+

版本支持

  • 3.0.0+

示例代码

  • Android
  1. var params = {
  2. taskId:'TASK_ID',
  3. messageId:'MESSAGE_ID',
  4. actionId:90001
  5. };
  6. var data = JSON.stringify(params);
  7. uexGetui.sendFeedbackMessage(data);
  8. uexGetui.onSendFeedbackMessage = function(opId, dataType, data){
  9. // Handle data
  10. }

setSilentTime 设置静默时间

描述
设置静默时间,回调 onSetSilentTime

参数

  • beginHour: (Int 类型) 必选 开始时间 0-23
  • duration: (Int 类型) 必选 持续时间 0-23

平台支持

  • Android 2.2+

版本支持

  • 3.0.0+

示例代码

  • Android
  1. var params = {
  2. beginHour:10,
  3. duration:6
  4. };
  5. var data = JSON.stringify(params);
  6. uexGetui.setSilentTime(data);
  7. uexGetui.onSetSilentTime = function(opId, dataType, data){
  8. // Handle data
  9. }

registerDeviceToken 注册设备 token

描述
注册设备 token,回调 onRegisterDeviceToken

参数

平台支持

  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.registerDeviceToken();
  2. uexGetui.onRegisterDeviceToken = function(opId, dataType, data){
  3. // Handle data
  4. }

2.3回调方法

onGetVersion 取得 SDK 版本号监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) 版本字符串

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onGetVersion = function(opId, dataType, data){
  2. alert(data);
  3. }

onInitializePusher 初始化推送服务监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) JSON 字符串
  • result 初始化结果:成功 0,失败 1。
  • clientId 注册的 ClientId
  • error 错误消息(初始化成功错误消息为空)

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onInitializePusher = function(opId, dataType, data){
  2. var object = JSON.parse(data);
  3. var result = object.result;
  4. var clientId = object.clientId;
  5. var error = object.error;
  6. }

onSetTags 设置用户标签监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 设置用户标签结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onSetTags = function(opId, dataType, data){
  2. alert(data);
  3. }

onGetPushStatus 获取推送服务的服务状态监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 推送服务状态

运行返回 0,停止返回 1。

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onGetPushStatus = function(opId, dataType, data){
  2. alert(data);
  3. }

onGetClientId 获取当前用户的 clientId 监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) ClientId 字符串

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onGetClientId = function(opId, dataType, data){
  2. alert(data);
  3. }

onBindAlias 绑定用户别名监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 绑定别名结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

    示例代码

    1. uexGetui.onBindAlias = function(opId, dataType, data){
    2. alert(data);
    3. }

onUnbindAlias 解绑用户别名监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 解绑别名结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onUnbindAlias = function(opId, dataType, data){
  2. alert(data);
  3. }

onSendMessage 发送上行消息监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 发送上行消息结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onSendMessage = function(opId, dataType, data){
  2. alert(data);
  3. }

onReceiveMessage 接收到消息监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) JSON 消息字符串
  • result 注册结果:成功 0,失败 1。
  • appId 应用 Id
  • data 消息内容

平台支持

  • Android 2.2+
  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onReceiveMessage = function(opId, dataType, data){
  2. var object = JSON.parse(data);
  3. var result = object.result;
  4. var appId = object.appId;
  5. var message = object.data;
  6. }

onRegisterDeviceToken 注册设备 token 监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) JSON 消息字符串
  • result 注册结果:成功 0,失败 1。
  • token 获得的 token 字符串
  • error 错误消息(成功时错误消息为空)

平台支持

  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onRegisterDeviceToken = function(opId, dataType, data){
  2. var object = JSON.parse(data);
  3. var result = object.result;
  4. var token = object.token;
  5. var error = object.error;
  6. }

onErrorOccur 错误发生监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(String 类型) 错误消息字符串

平台支持

  • iOS 6.0+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onErrorOccur = function(opId, dataType, data){
  2. alert(data);
  3. }

onSetSilentTime 设置静默时间监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 设置静默结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onSetSilentTime = function(opId, dataType, data){
  2. alert(data);
  3. }

onSendFeedbackMessage 上行第三方自定义回执监听方法

参数

  • opId:(Int 类型) 操作ID
  • dataType:(Int 类型) 数据类型 详见CONSTANT中Callback方法数据类型
  • data:(Int 类型) 上行第三方自定义回执结果

成功返回 0,失败返回 1。

平台支持

  • Android 2.2+

版本支持

  • 3.0.0+

示例代码

  1. uexGetui.onSendFeedbackMessage = function(opId, dataType, data){
  2. alert(data);
  3. }

3、更新历史

API 版本:uexGetui-1.0.0(iOS) uexGetui-2.0.0(Android)
最近更新时间:2016-06-28

历史发布版本 iOS更新 安卓更新
1.0.0 个推 SDK 个推 SDK