pushGeTuiPlus封装了个推消息推送平台的SDK,使用此插件可轻松实现服务端向客户端推送通知和透传消息的功能。此版插件是集成了安卓厂商通道。不提供IOS版本。如果无需厂商通道,建议使用pushGeTui插件。 如果使用中遇到其他问题,可以到交流论坛留言解决。
支持以下三种消息推送形式
个推消息推送基本流程说明
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(callback(ret, err))
ret:
{
result: 1 //操作成功状态值
type:"cid", //cid类型
cid:"xxxxxxxxxxxx" //cid的值
}
err:
{
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及更高版本
为用户设置标签。针对单个cid设置标签(tag)列表,服务端推送可以指定标签进行定向群发
setTag({params}, callback(ret, err))
tags
ret:
err:
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及更高版本
绑定用户别名。针对单个cid设置别名,一个别名可以对应多个cid。可以指定别名进行消息推送
bindAlias({params}, callback(ret, err))
alias:
ret:
{
result: 1 //操作成功状态值
}
err:
{
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及更高版本
解绑用户别名。针对单个cid取消设置别名。
unBindAlias({params}, callback(ret, err))
alias:
ret:
{
result: "1" //操作成功状态值
}
err:
{
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及更高版本
完全停止sdk的服务。停止推送服务。停止所有业务逻辑
stopService(callback(ret, err))
ret:
{
result: "1" //操作成功状态值
}
err:
{
code: 0 //错误码
msg:"" //错误描述
}
var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.stopService(function(ret) {
api.alert({ msg: "stopService result:" + ret.result });
});
(暂无)
Android系统
可提供的1.0.0及更高版本
上行第三方自定义回执。第三方指定自定义actionid,便于对推送效果做统计分析
sendFeedbackMessage({params}, callback(ret, err))
taskid:
messageid:
actionid:
ret:
{
result: "1" //操作成功状态值
}
err:
{
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及更高版本
获取cid
fetchClientId(callback(ret, err))
ret:
{
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({params}, callback(ret, err))
badge:
ret:
{
result: 1, //操作成功状态值
}
err:
{
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及更高版本
开启Push推送。继续服务端连接。常见turnOffPush
turnOnPush(callback(ret, err))
ret:
{
result: 1, //操作成功状态值
}
err:
{
code: 0 //错误码
msg: "" //错误描述
}
var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.turnOnPush(function(ret) {
api.alert({msg:"turnOnPush result:" + ret.result});
});
Android系统
可提供的1.0.0及更高版本
关闭Push推送。暂停服务端连接,即使调用initialize也不会继续服务端连接。
turnOffPush(callback(ret, err))
ret:
{
result: 1, //操作成功状态值
}
err:
{
code: 0 //错误码
msg: "" //错误描述
}
var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.turnOffPush(function(ret) {
api.alert({msg:"turnOffPush result:" + ret.result});
});
(暂无)
Android系统
可提供的1.0.0及更高版本
获取当前推送服务开关状态。该状态只和turnOnPush和turnOffPush操作相关
isPushTurnedOn(callback(ret, err))
ret:
{
result: 1, //操作成功状态值
isOn: "true", //推送服务状态
}
err:
{
code: 0 //错误码
msg: "" //错误描述
}
var uzgetuisdk = api.require('pushGeTuiPlus');
uzgetuisdk.isPushTurnedOn(function(ret) {
api.alert({msg:"isPushTurnedOn result:" + ret.isOn});
});
(暂无)
Android系统
可提供的1.0.0及更高版本