mobPushPlus

来自于:mob 立即使用

概述

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

MobPush 简介

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

MobPush 功能

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

mobPushPlus 模块概述

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

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

  1. 服务电话: 400-685-2216
  2. 节假日值班电话:
  3. iOS 185-1664-1951
  4. Android: 185-1664-1950
  5. 电子邮箱: support@mob.com
  6. 市场合作: 021-54623189

模块使用攻略

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

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

iOS配置:

1.配置config.xml文件

  1. <preference name="backgroundMode" value="remote-notification"/>

字段描述:
backgroundMode:用于实现 Xcode 的远程推送权限开启。

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.huawei.hms.client.appid" value="华为的appId" />
  8. <meta-data name="com.mob.push.meizu.appid" value="魅族的appId" />
  9. <meta-data name="com.mob.push.meizu.appkey" value="魅族的appKey" />

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

引入模块

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

setAPNsForProduction

设置 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. location: 'middle'
  6. });
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTags

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. tags: [tag1, tag2],
  3. errorCode: 1 // 1成功,0失败
  4. }

示例代码

  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

清空所有标签 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. });
  8. });

可用性

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

alias:

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

callback(ret, err)

ret:

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

示例代码

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

可用性

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

发送推送 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. });
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

GitHub

点击此处