pushGeTuiPlus

来自于:开发者立即使用

概述

pushGeTuiPlus封装了个推消息推送平台的SDK,使用此模块可轻松实现服务端向客户端推送通知和透传消息的功能。此版模块是集成了安卓厂商通道。不提供IOS版本。如果无需厂商通道,建议使用pushGeTui模块。 如果使用中遇到其他问题,可以到交流论坛留言解决。

支持以下三种消息推送形式

  • 指定单个CID进行消息推送;
  • 指定一组CID进行消息推送;
  • 指定同一APPID下的所有CID进行全量推送;

个推消息推送基本流程说明

1.在个推开放平台注册账号,并创建应用。获取APPKEY/APPID/APPSECRET参数。具体流程请查询个推帮助。 2.在config.xml中配置所需参数。 3.应用启动后调用initialize进行推送sdk初始化,厂商sdk验证成功会自动绑定厂商token,无需额外操作。 4.推送服务获取到推送标识CID后通过callback回调返回JS层,应用一般需要将CID和用户ID做一个绑定,记录到服务端; 5.服务端指定CID进行透传消息推送。 6.推送服务接受到消息后,通过初始化接口注册的消息监听回调给JS层。

配置示例

<feature name="pushGeTuiPlus" platform="android">
    <!--由于只支持安卓,请配置platform="android" -->
</feature>
<meta-data name="GETUI_APPID" value="个推APPID" />
<meta-data name="MIPUSH_APPID" value="XM_xxxxxxxxxxxx" />
<!--XM_必须带,后面xxxx部分是小米appid-->
<meta-data name="MIPUSH_APPKEY" value="XM_xxxxxxxxx" />
<!--XM_必须带,后面xxxx部分是小米appkey-->
<meta-data name="MEIZUPUSH_APPID" value="MZ_xxxxxx" />
<!--MZ_必须带,后面xxxx部分是魅族appid-->
<meta-data name="MEIZUPUSH_APPKEY" value="MZ_xxxxxxxxxxxx" />
<!--MZ_必须带,后面xxxx部分是魅族appid-->
<meta-data name="com.huawei.hms.client.appid" value="appid=xxxxxxx" />
<!--appid=必须带,后面xxxx部分是华为appid-->

模块接口

initialize

初始化推送服务

initialize(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: 1     //操作成功状态值
    type:"cid", //cid类型
    cid:"xxxxxxxxxxxx"  //cid的值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0    //错误码
    msg:""  //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.initialize(function(ret) {
    var value = "";
    switch (ret.type) {
        case 'cid':
            value = 'cid:' + ret.cid;
            break;
        case 'payload':
            value = 'payload:' + ret.payload;
            break;
        case 'occurError':
            value = 'occurError';
            break;
        case'onNotificationMessageClicked':
          value = 'onNotificationMessageClicked' + ret.onNotificationMessageClicked
          break;
        case'onNotificationMessageArrived':
          value = 'onNotificationMessageArrived' + ret.onNotificationMessageArrived
          break;
    }
});

补充说明

每次应用启动的初始化过程中,都需要调用此接口初始化函数。这时候传递的参数callback将会用于cid的回调。

可用性

Android系统

可提供的1.0.0及更高版本

setTag

为用户设置标签。针对单个cid设置标签(tag)列表,服务端推送可以指定标签进行定向群发

setTag({params}, callback(ret, err))

params

tags

  • 类型:字符串
  • 默认值: 无
  • 描述:标签列表,以逗号(,)分割,标签名建议采用英文和数字的结合。

callback(ret,err)

ret:

  • 类型:JSON对象
  • 内部字段: {result:1 //操作成功状态值}

err:

  • 类型:JSON对象
  • 内部字段: {code:0,msg:""}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
var param = { tags: "tag1,tag2" };
uzgetuisdk.setTag(param, function(ret) {
    api.alert({ msg: "setTag result:" + ret.result });
});

可用性

Android系统

可提供的1.0.0及更高版本

bindAlias

绑定用户别名。针对单个cid设置别名,一个别名可以对应多个cid。可以指定别名进行消息推送

bindAlias({params}, callback(ret, err))

params

alias:

  • 类型:字符串
  • 默认值:无
  • 描述:别名,建议采用英文和数字组合

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: 1   //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码(详见错误码常量)
    msg: "" //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
var param = { alias: "myalias" };
uzgetuisdk.bindAlias(param, function(ret) {
    api.alert({ msg: "bindAlias result:" + ret.result });
});

可用性

Android系统

可提供的1.0.0及更高版本

unBindAlias

解绑用户别名。针对单个cid取消设置别名。

unBindAlias({params}, callback(ret, err))

params

alias:

  • 类型:字符串
  • 默认值:无
  • 描述:别名,建议采用英文和数字组合

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: "1"   //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码(详见错误码常量)
    msg:""   //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
var param = { alias: "myalias" };
uzgetuisdk.unBindAlias(param, function(ret) {
    api.alert({ msg: "unbindAlias result:" + ret.result });
});

补充说明

(暂无)

可用性

Android系统

可提供的1.0.0及更高版本

stopService

完全停止sdk的服务。停止推送服务。停止所有业务逻辑

stopService(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: "1" //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0 //错误码
    msg:"" //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.stopService(function(ret) {
    api.alert({ msg: "stopService result:" + ret.result });
});

补充说明

(暂无)

可用性

Android系统

可提供的1.0.0及更高版本

sendFeedbackMessage

上行第三方自定义回执。第三方指定自定义actionid,便于对推送效果做统计分析

sendFeedbackMessage({params}, callback(ret, err))

params

taskid:

  • 类型:字符串
  • 默认值:无
  • 描述:接收的透传消息任务id

messageid:

  • 类型:字符串
  • 默认值:无
  • 描述:接收的透传消息id

actionid:

  • 类型:int
  • 默认值:无
  • 描述:自定义动作id,范围为90001-90999。第三方可以对支付、页面访问等用户操作进行打点。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: "1"   //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码  
    msg:""     //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
var param = { taskid: "GT_1012_AKMw2kc2Oj5Tzy1DvXjMQA", messageid: "GT_1012_AKMw2kc2Oj5Tzy1DvXjMQA", actionid: 90001 };
uzgetuisdk.sendFeedbackMessage(param, function(ret) {
    api.alert({ msg: "sendFeedbackMessage result:" + ret.result });
});

可用性

Android系统

可提供的1.0.0及更高版本

fetchClientId

获取cid

fetchClientId(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: 1   //布尔型;true||false
    cid: "0580dc70460e71d5e55a3fec4c0ae92x"
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.fetchClientId(function(ret, err) {
    api.alert({ msg: "cid:" + ret.cid });
});

可用性

Android系统

可提供的1.0.0及更高版本

setBadge

设置角标功能,同步服务器角标计数

setBadge({params}, callback(ret, err))

params

badge:

  • 类型:int
  • 默认值:无
  • 描述:角标值,0为重置角标

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: 1,   //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码
    msg: ""//错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
var param = { badge: 1 };
uzgetuisdk.setBadge(param, function(ret) {
    api.alert({ msg: "setBadge result:" + ret.result });
});

可用性

Android系统

可提供的1.0.0及更高版本

turnOnPush

开启Push推送。继续服务端连接。常见turnOffPush

turnOnPush(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  result: 1,       //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码
    msg: ""     //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.turnOnPush(function(ret) {
    api.alert({msg:"turnOnPush result:" + ret.result});
});

可用性

Android系统

可提供的1.0.0及更高版本

turnOffPush

关闭Push推送。暂停服务端连接,即使调用initialize也不会继续服务端连接。

turnOffPush(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  result: 1,    //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0     //错误码
    msg: ""     //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.turnOffPush(function(ret) {
    api.alert({msg:"turnOffPush result:" + ret.result});
});

补充说明

(暂无)

可用性

Android系统

可提供的1.0.0及更高版本

isPushTurnedOn

获取当前推送服务开关状态。该状态只和turnOnPush和turnOffPush操作相关

isPushTurnedOn(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    result: 1,      //操作成功状态值
    isOn: "true",   //推送服务状态
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0    //错误码
    msg: ""    //错误描述
}

示例代码

var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.isPushTurnedOn(function(ret) {
    api.alert({msg:"isPushTurnedOn result:" + ret.isOn});
});

补充说明

(暂无)

可用性

Android系统

可提供的1.0.0及更高版本