mtlPush

来自于:APICloud立即使用

概述

本模块封装了主流厂商平台的推送,包括华为、小米、OPPO、vivo、魅族、苹果等。使用此模块可实现离线接收推送通知的功能。

各个平台模块基本流程说明:

1,先去各个官网注册开发者账号,申请相应的app

<1>. MIUI系统将使用小米推送

<2>. Flyme系统将使用魅族推送

<3>. EMUI系统将使用华为推送

<4>. OPPO系统将使用OPPO推送

<5>. VIVO系统将使用VIVO推送

2, 华为推送需要将在华为官网下载的agconnect-services.json 放入widget/module-x目录下。

3,在config.xml中配置各个平台上获取的app_id、api_key、client_secret等信息

<1>. 推送服务端配置信息, 用友IM后端负责人@zongtf3@yonyou.com提供push_appKey,push_appSecret,baseUrl

  • 配置示例:

<meta-data
    name="push_appKey" value="upesn.esntest" />

<meta-data
    name="push_appSecret" value="123456abcd" />

<meta-data
    name="baseUrl" value="" />

<2>. 华为推送配置信息:hw_push_id、hw_push_key、hw_push_secret

  • 配置示例:

 <!-- hw_push_id 对应 agconnect-services.json中的 app_id -->
 <meta-data
    name="hw_push_id"  value="105384805" />

<!-- hw_push_key 对应 agconnect-services.json中的 api_key -->
<meta-data 
    name="hw_push_key" value="DAEDAD2vNq2z/6ICx6cSR4+3oblN9t8ORajB6DQ9vSUpr6YiRkOA8gf1xlCP+kREUbQuHOIJCBarjvupW7n7hXdjzo2hDIzMqW3U1g==" />

<!-- hw_push_secret 对应 agconnect-services.json中的 client_secret -->
<meta-data 
    name="hw_push_secret" value="05863D0B9FB39699EC80E624F402A84B37513724046F82286B6566129BEB054E" />

<3>.小米推送配置

  • 配置示例:
<!-- mi_push_id 对应 官网申请的 appid 注意value是由mi_push_id和appid拼接而成的-->
<meta-data name="mi_push_id"  value="mi_push_id2882303761519978024" />

<!-- mi_push_key 对应 官网申请的 appkey 注意value是由mi_push_key和appkey拼接而成的-->
<meta-data name="mi_push_key"  value="mi_push_key5181997888024" />

<4>.OPPO推送配置

  • 配置示例:
<!-- oppo_push_id 对应 官网申请的 APPID -->
<meta-data name="oppo_push_id"  value="2882303761519978024" />

<!-- oppo_push_key 对应 官网申请的 AppKey -->
<meta-data name="oppo_push_key"  value="2882303761519978024" />

<!-- oppo_push_secret 对应 官网申请的 AppSecret -->
<meta-data name="oppo_push_secret"  value="5181997888024" />

<5>.vivo推送配置

  • 配置示例:
<!-- com.vivo.push.app_id 对应 官网申请的 appid -->
<meta-data name="com.vivo.push.app_id"  value="2882303761519978024" />

<!-- com.vivo.push.api_key 对应 官网申请的 appkey -->
<meta-data name="com.vivo.push.api_key"  value="5181997888024" />

<6>.魅族推送配置

  • 配置示例:
<!-- meizu_push_id 对应 官网申请的应用 id -->
<meta-data name="meizu_push_id"  value="2882303761519978024" />

<!-- meizu_push_key 对应 官网申请的应用 key -->
<meta-data name="meizu_push_key"  value="5181997888024" />

iOS端plist文件说明:

  • 配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>MTLNoticication</key>
    <dict>
        <key>baseUrl</key>
        <string>http://independent-push-server.daily.app.yyuap.com</string>
        <key>appKey</key>
        <string>upesn.esntest</string>
        <key>appSecret</key>
        <string>123456abcd</string>
        <key>certificateName</key>
        <string>hbtest</string>
    </dict>
</dict>
</plist>

setDeviceToken

设置deviceToken

setDeviceToken({params},callback(ret))

params

appkey:

  • 类型:String
  • 描述:应用key

appSecret:

  • 类型:String
  • 描述:应用secret

certificateName:

  • 类型:String
  • 描述:证书名称

userid:

  • 类型:String
  • 描述:用户名

baseUrl:

  • 类型:String
  • 描述:域名

callback(ret)

ret:

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

  status:true,  //布尔类型;是否成功
  message:"" //字符串类型, 返回信息
}

示例代码

var mtlPush = api.require('mtlPush');
mtlPush.setDeviceToken({
 appkey:'',
 appSecret:'',
 userid:'',
 certificateName:''
},function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统支持

可提供的1.0.0及更高版本

removePush

删除用户推送

removePush({params},callback(ret))

params

appkey:

  • 类型:String
  • 描述:应用key

userid:

  • 类型:String
  • 描述:用户名

callback(ret)

ret:

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

  status:true,  //布尔类型;是否成功
  message:"" //字符串类型, 返回信息
}

示例代码

var mtlPush = api.require('mtlPush');
mtlPush.removePush({
  appkey:'',
  userid:''
},function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getNotice

获取通知

getNotice(callback(ret))

callback(ret)

ret:

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

  status:true,  //布尔类型;是否成功
  notice:"" //json对象, 返回通知内容
}

示例代码

var mtlPush = api.require('mtlPush');
mtlPush.getNotice(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统支持

可提供的1.0.0及更高版本

setBadgeNumber

设置角标数

setBadgeNumber({params},callback(ret))

params

count:

  • 类型:数字类型
  • 描述:(可选项)角标数
  • 默认:0

示例代码

var mtlPush = api.require('mtlPush');
mtlPush.setBadgeNumber({
 count:0
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

receiveNotice

在线消息

receiveNotice({params},callback(ret))

params

callbaseName:

  • 类型:字符串类型
  • 描述:方法名称

callback(ret)

ret:

  • 类型:JSON 对象

内部字段:

{

  status:true,  //布尔类型;是否成功
  result:{},//json对象类型,返回内容

}

示例代码

var mtlPush = api.require('mtlPush');
mtlPush.receiveNotice(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本