mobPushPlus

    当前 MobPush 版本,iOS:v1.7.2、android:v1.7.2

    MobPush是Mob推出的一款免费的推送服务工具,客户端SDK支持iOS和Android两大平台,集成方便简单快捷,且提供完整的可视化数据和强大的管理后台。

    MobPush 功能

    • 支持通知栏通知和自定义消息。
    • 可对通知和自定义通知进行定时发送。
    • 可根据标签、别名、Registration ID、地理位置精确推送。
    • 用户量,推送数量,成功数量,点击数量,发送API调用数详细统计数据一览无余。
    • 提供简单接入的Rest API接口,方便开发者定制推送需求。
    • MobPush管理后台提供推送相关数据统计查询,包含新增用户数、推送数量、推送点击量、用户点击数、发送API调用次数等数据。还可多维度对数据进行筛选分析,有助于开发者实时监控并了解app整体趋势。

    mobPushPlus 模块概述

    mobPushPlus 封装了 MobPush,是对 APICloud 平台的支持,为APICloud开发的App提供推送功能的一个组件,支持当前主流的推送功能。

    如有问题请联系技术支持:

    模块使用攻略

    开发者使用本模块之前需要先到申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取AppKey和AppSecret,然后添加MobPush功能。
    详情参考:快速集成获取apppkey和appSecret

    使用此模块之前建议先配置 文件,配置完毕,需通过云端编译生效,配置方法如下:

    iOS配置:

    1.配置config.xml文件

    2. 配置info.plist文件 该文件含MOB平台MOBAppKey和MOBAppSecret、特殊平台appkey配置、白名单配置,将info.plist放在widget://res文件目录下,文件内容:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>MOBAppKey</key>
    6. <string>moba6b6c6d6</string>
    7. <key>MOBAppSecret</key>
    8. <string>b89d2427a3bc7ad1aea1e1e8c1d36bf3</string>
    9. <key>NSAppTransportSecurity</key>
    10. <dict>
    11. <key>NSAllowsArbitraryLoads</key>
    12. <true/>
    13. </dict>
    14. </dict>
    15. </plist>

    MOBAppKey、MOBAppSecret:(必须配置)从mob平台创建应用后,申请的app Key和app Secret.
    配置ATS(App Transport Security),在info.plist文件中,APP可以使用http协议访问。配置方法参考iOS修改Info.plist之配置ATS.

    Android配置:

    Mob-AppKey/Mob-AppSecret的配置: 这两个参数的配置在config.xml文件里,以meta-data标签的形式来配置,例如:

    1. <meta-data name="Mob-AppKey" value="mob的appkey"/>
    2. <meta-data name="Mob-AppSecret" value="mob的appSecret"/>

    Android配置第三方平台的AppKey等信息遵循APICloud的惯例是在config.xml中配置。 下面是配置各个平台信息的例子,实际的使用中需要开发者填写自己在第三方网站申请的值(只需要替换成对应的值,不需要替换name,否则将会读取不到)

    1. <meta-data name="com.mob.push.xiaomi.appid" value="小米的appId" />
    2. <meta-data name="com.mob.push.xiaomi.appkey" value="小米的appkey" />
    3. <meta-data name="com.vivo.push.api_key" value="vivo的apiKey" />
    4. <meta-data name="com.vivo.push.app_id" value="vivo的appId" />
    5. <meta-data name="com.mob.push.oppo.appkey" value="oppo的appKey" />
    6. <meta-data name="com.mob.push.oppo.appsecret" value="oppo的appsecret" />
    7. <meta-data name="com.mob.push.meizu.appid" value="魅族的appId" />
    8. <meta-data name="com.mob.push.meizu.appkey" value="魅族的appKey" />

    MobPushPlus的android端需依赖mobtools模块,在模块库添加上。如果支持厂商推送,可从上下载对应厂商库并添加到自定义模块中进行使用。

    引入模块

    1. var pushApi = api.require('mobPushPlus');

    设置 APNs 推送证书环境
    setAPNsForProduction({params})

    params

    isPro:

    • 类型:布尔
    • 描述:iOS APNs 推送证书环境, true 生产环境,false 开发环境

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.setAPNsForProduction({
    3. "isPro" : true
    4. });

    可用性

    iOS系统

    可提供的1.0.0及更高版本

    addLocalNotification

    添加本地通知
    addLocalNotification({params})

    params

    localParams:

    • 类型:集合
    • 描述:本地通知定制参数

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. var localParams = {
    3. "content" : "本地通知", // 通知内容
    4. "title" : "标题", // 通知标题
    5. "subTitle" : "副标题", // 通知副标题
    6. "timeStamp" : 1 ,// 1 秒后触发
    7. "badge": 2 ,// 角标,可以不传,不传Mob服务器统计自增
    8. "sound" : "voice.caf" // 文件要拖入项目,后缀名要加上,支持.caf .mp3 等结尾的铃声
    9. };
    10. pushApi.addLocalNotification({
    11. "localParams": localParams
    12. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    addpushReceiver

    接收通知的回调

    addpushReceiver(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. action: 1 //消息类型,0:自定义消息 1:收到消息 2:点击消息
    3. result: // 消息的具体内容
    4. {
    5. }
    6. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.addpushReceiver(function(ret, err){
    3. api.toast({
    4. msg: "收到消息",
    5. });
    6. });

    可用性

    可提供的1.0.0及更高版本

    getTags

    获取标签
    getTags(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.getTags(function(ret, err){
    3. var err_code = ret.errorCode; // 0 失败, 1 成功
    4. var tags = ret.tags;
    5. api.toast({
    6. msg: err_code ? "获取标签:" + tags + "成功" : "获取标签失败",
    7. location: 'middle'
    8. });
    9. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    addTags

    添加标签 addTags({params}, callback(ret, err))

    params

    tags:

    • 类型:数组
    • 描述:添加的标签组合

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 1
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. var tags = ["tag1", "tag2"];
    3. pushApi.addTags({
    4. "tags" : tags
    5. }, function(ret, err){
    6. var err_code = ret.errorCode; // 0 失败, 1 成功
    7. api.toast({
    8. msg: err_code ? "添加标签:"+ tags +"成功" : "添加标签失败",
    9. location: 'middle'
    10. });
    11. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    deleteTags

    删除指定标签 deleteTags({params}, callback(ret, err))

    params

    tags:

    • 类型:数组
    • 描述:删除的标签组合

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 1
    3. }

    示例代码

    1. var tags = ["tag1"];
    2. var pushApi = api.require('mobPushPlus');
    3. pushApi.deleteTags({
    4. "tags" : tags
    5. }, function(ret, err){
    6. var err_code = ret.errorCode; // 0 失败, 1 成功
    7. api.toast({
    8. msg: err_code ? "删除标签:" + tags + "成功" : "删除标签失败",
    9. location: 'middle'
    10. });
    11. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    清空所有标签 cleanTags(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 1
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.cleanAllTags(function(ret, err){
    3. var err_code = ret.errorCode; // 0 失败, 1 成功
    4. api.toast({
    5. msg: err_code ? "清空所有标签成功" : "清空所有标签失败",
    6. location: 'middle'
    7. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    getRegistrationID

    获取 RegistrationID getRegistrationID(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. regId: '02393ebsikk9'
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.getRegistrationID(function(ret, err){
    3. var regId = ret.regId; // reg有值成功,否则失败
    4. api.toast({
    5. msg: regId ? "获取regId:"+ regId +"成功" : "获取regId失败",
    6. location: 'middle'
    7. });
    8. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    setAlias

    设置别名 setAlias({params}, callback(ret, err))

    params

    • 类型:字符串
    • 描述:别名字符串

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:

    示例代码

    1. var alias = "小王";
    2. pushApi.setAlias({
    3. "alias" : alias
    4. },function(ret, err){
    5. var err_code = ret.errorCode; // 0 失败, 1 成功
    6. api.toast({
    7. msg: err_code ? "设置别名:"+ alias +"成功" : "设置别名失败",
    8. location: 'middle'
    9. });
    10. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    deleteAlias

    删除别名 deleteAlias(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 0
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.deleteAlias(function(ret, err){
    3. var err_code = ret.errorCode; // 0 失败, 1 成功
    4. api.toast({
    5. msg: err_code ? "删除别名成功" : "删除别名失败",
    6. location: 'middle'
    7. });
    8. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    getAlias

    获取别名 getAlias(callback(ret, err))

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 0
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.getAlias(function(ret, err){
    3. var err_code = ret.errorCode; // 0 失败, 1 成功
    4. var alias = ret.alias;
    5. api.toast({
    6. msg: err_code ? "获取别名:" + alias + "成功" : "获取别名失败",
    7. location: 'middle'
    8. });
    9. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    bindPhoneNum

    绑定手机号 bindPhoneNum({params}, callback(ret, err))

    params

    phoneNum:

    • 类型:字符串
    • 描述:手机号字符串

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 0
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. var phoneNum = "110";
    3. pushApi.bindPhoneNum({
    4. "phoneNum" : phoneNum
    5. },function(ret, err){
    6. var err_code = ret.errorCode; // 0 失败, 1 成功
    7. api.toast({
    8. msg: err_code ? "绑定手机号:"+ phoneNum + "成功" : "绑定手机号失败",
    9. location: 'middle'
    10. });
    11. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    发送推送 sendMessage({params}, callback(ret, err))

    params

    msgType:

    • 类型:数字
    • 描述:消息类型: 1 apns, 2 自定义消息, 3 定时 apns

    content:

    • 类型:字符串
    • 描述:模拟发送内容

    space:

    • 类型:数字
    • 描述:定时消息时间(仅对定时消息有效,单位分钟,默认值为1)

    extras:

    • 类型:字典
    • 描述:额外字段,用于自定义字段添加

    callback(ret, err)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    1. {
    2. errorCode : 0
    3. }

    示例代码

    1. var pushApi = api.require('mobPushPlus');
    2. pushApi.sendMessage({
    3. "msgType": 1, //消息类型: 1 apns, 2 自定义消息, 3 定时 apns
    4. "content": '远程推送', // 模拟发送内容
    5. "space": 2, // 定时消息时间(仅对定时消息有效,单位分钟,默认值为1)
    6. "extras": { } // 额外字段
    7. },function(ret, err){
    8. var err_code = ret.errorCode; // 0 失败, 1 成功
    9. api.toast({
    10. msg: err_code ? "发送APNs成功" : "发送APNs失败",
    11. location: 'middle'
    12. });

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    GitHub