getui_push


个推是国内最专业的手机消息推送技术服务商,个推提供安卓推送(Android)及iOS推送SDK,帮助App快速集成云推送功能,免去开发成本,有效提高产品活跃度与用户体验,通过个推的技术,APP可主动向用户推送新闻动态、版本更新、优惠活动、生活服务等各类信息,并通过多维度用户群组分析进行 智能匹配,给合适的人群合适的场景推送合适的内容,大幅度提升消息点击率、用户活跃度和留存率。需要到个推官网中注册并申请appid相关数据,并填写到pluginConfigs.xml中。

如何创建应用:

1 登陆到个推官网中,注册 register icon

2 填写好相关信息后,点击注册按钮register icon

3 用注册的账号登陆后,点击登记应用register icon

4 填写好应用的相关信息,点击登记应用,就可以生成该应用register icon

5 登记应用完成后,在账户下就会生成该应用的配置,点击应用配置register icon

6 点击应用配置后,就会显示该应用的appid相关数据,这些数据是唯一的,请将这些数据配置到pluginConfigs.xmlregister icon

方法:

配置文件:

pluginConfigs.xml


配置文件,包含个推推送的配置

<configs>
<config pluginName="getui">
    <ios>
        <param key="GETUI_APPID" value="appid" />
        <param key="GETUI_APPKEY" value="appkey" />
        <param key="GETUI_APPSECRET" value="appsecret" />
    </ios>
    <android>
        <param key="GETUI_APPID" value="appid" />
        <param key="GETUI_APPKEY" value="appkey" />
        <param key="GETUI_APPSECRET" value="appsecret" />
        <param key="GETUI_DOWNLOAD_AUTHORITIES" value="downloads.应用包名"/>
        <param key="GETUI_RECEIVER_ACTION" value="com.igexin.sdk.action.应用的appid"/>
        <param key="GETUI_NORMAL_PERMISSION" value="getui.permission.GetuiService.应用包名"/>
    </android>
</config>

说明:

此配置文件用于保证个推的服务运行

参数:
  • GETUI_APPID: 必选,Appid,有个推官网申请注册生成
  • GETUI_APPKEY: 必选,appkey,有个推官网申请注册生成
  • GETUI_APPSECRET: 必选,GETUI_APPSECRET,有个推官网申请注册生成
  • GETUI_DOWNLOAD_AUTHORITIES: (Android端配置)必选,downloads.应用包名,需替换应用包名,比如downlads.com.demo.mm
  • GETUI_RECEIVER_ACTION: (Android端配置)必选,内部广播,需替换成你申请到的apid,比如com.igexin.sdk.action.nSJtifqSSI7HkRrKHlxhD3
  • GETUI_NORMAL_PERMISSION: (Android端配置)必选,内部权限,需替换成你的应用包名,比如getui.permission.GetuiService.com.demo.mm

initialize


初始化推送

rd.getui.initialize();
说明:

调用此方法,将会初始化推送

返回值:

无返回值

bindAlias


绑定别名。

rd.getui.bindAlias(alias);
说明:

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

参数:
  • alias(String): 必选 要绑定的别名
返回值:

无返回值

unBindAlias


取消别名绑定。

rd.getui.unBindAlias(alias,true);
说明:

取消别名的绑定

参数:
  • alias(String): 必选 要取消绑定的别名
  • true(Boolean): 必选 是否只对当前cid有效,如果是true,只对当前cid做解绑;如果是false,对所有绑定该别名的cid列表做解绑
返回值:

无返回值

setTag


设置标签

var tags=['tag1','tag2','tag3'];
rd.getui.setTag(tags,sn);
说明:

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

参数:
  • tags(Array): 必选 数组,设置的标签名,可以多个(最多200个)
  • sn(String): 必选 用户自定义的序列号,用来唯一标识该动作, receiver 中会回执该结果
返回值:

setag的结果。setTag结果返回值

setSilentTime


设置静默时间

rd.getui.setSilentTime(beginHour,duration);
说明:

设置静默时间,在指定时间内,暂停推送服务联网,可以避免用户打扰,也可以省电省流量

参数:
  • beginHour(String): 必选 静默时间开始点,单位小时,24小时制。比如14就是从14点开始
  • duration(String): 必选 静默时间的持续时间,单位小时,比如2就是代表持续两个小时
返回值:

Boolean true表示设置静默时间成功,false设置静默时间失败

setHeartbeatInterval


设置sdk的心跳时间

rd.getui.setHeartbeatInterval(second);
说明:

手动设置sdk的心跳时间,维持长连接,心跳时间越短,耗资源越多。我们默认有智能心跳,很好适配各个机型和网络,此接口用于部分特殊要求的app(除非特殊需求,建议不做修改)

参数:
  • second(String): 必选 设置心跳的时间,单位秒,如果0,使用sdk默认的时间
返回值:

Boolean true表示设置心跳时间成功,false设置心跳时间失败

setSocketTimeout


设置连接超时

rd.getui.setSocketTimeout(timestamp);
说明:

设置socket超时时间

参数:
  • timestamp(String): 必选 设置超时的时间,单位秒。如果0,使用sdk默认的时间
返回值:

Boolean true表示设置连接超时成功,false设置连接超时失败

setPushMode


设置推送的状态

rd.getui.setPushMode(boolean);
说明:

设置推送的状态,可以关闭或者打开推送

参数:
  • boolean(Boolean): 必选 true打开推送,false关闭推送
返回值:

无返回值

isPushTurnedOn


获取推送的状态

rd.getui.isPushTurnedOn();
说明:

获取推送的状态,对应setPushMode设置的值

返回值:

Boolean:true表示推送打开,false表示推送关闭

getVersion


获取sdk的版本

rd.getui.getVersion();
说明:

获取sdk的版本号

返回值:

返回当前sdk的版本号

getClientid


获取cid

rd.getui.getClientid();
说明:

获取当前的cid,该cid是唯一的

返回值:

返回当前的cid

stopService


关闭sdk服务

rd.getui.stopService();
说明:

关闭sdk服务,暂停sdk工作,不联网

返回值:

无返回值

addGetPushMsgCallBack


增加透传消息的回调

rd.getui.addGetPushMsgCallBack(getPushMsgCallBack);
说明:

增加透传消息的回调,推送的消息将会通过这个方法回调

参数:

addGetClientIdCallBack


增加获取cid的回调

rd.getui.addGetClientIdCallBack(getClientIdCallBack);
说明:

增加cid的回调,当sdk生成cid后,将会通过这个方法回调

参数:

addSetTagCallBack


设置tag标签的回调

rd.getui.addSetTagCallBack(getTagCallBack);
说明:

设置tag标签的回调。当settag后,会有状态值返回。但是,真正的设置成功后的状态值需要通过这个方法回调

参数:
返回值:

setTag结果返回值

addOnLineStateCallBack


sdk状态改变的回调

rd.getui.addOnLineStateCallBack(getOnLineCallBack);
说明:

sdk状态改变的回调,离线和上线

参数:

getPushMsgCallBack


透传消息的回调函数

function getPushMsgCallBack(msg){
        alert(msg);
    }
说明:

当有消息推送下来时,回调此函数

参数:
  • msg: 服务器推送的透传消息

getClientIdCallBack


生成cid的回调函数

function getClientIdCallBack(cid){
        alert(cid);
    }
说明:

当sdk生成cid时,回调此函数

参数:
  • cid: 生成的cid

getTagCallBack


设置tag的回调函数

function getTagCallBack(result){
        alert(result);
    }
说明:

设置tag后,回调此函数

参数:
  • result: json格式,包含了sn和code,sn是用户自定义的序列号,code是设置tag的状态返回值

getOnLineCallBack


sdk状态改变的回调

function getOnLineCallBack(online){
        alert(online);
    }
说明:

当sdk改变状态后,离线或者上线,回调此函数

参数:
  • online: true代表sdk上线,false代表sdk离线

setTag返回的常量值

说明:

setTag和addSetTagCallBack回调返回的结果

返回值:
  • 0: 设置标签成功
  • 20001: 设置标签失败,tag数量过大
  • 20002: 设置标签失败,频率过快
  • 20003: 设置标签失败,标签重复
  • 20004: 设置标签失败,aidl服务未绑定
  • 20005: 设置标签失败,setTag异常
  • 20006: tag为空
  • 20007: sn为空