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及更高版本