本原生插件封装了主流厂商平台的推送,包括华为、小米、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" />
<?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>
设置deviceToken
setDeviceToken({params},callback(ret))
appkey:
appSecret:
certificateName:
userid:
baseUrl:
ret:
{
status:true, //布尔类型;是否成功
message:"" //字符串类型, 返回信息
}
var mtlPush = api.require('mtlPush');
mtlPush.setDeviceToken({
appkey:'',
appSecret:'',
userid:'',
certificateName:''
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统支持
可提供的1.0.0及更高版本
删除用户推送
removePush({params},callback(ret))
appkey:
userid:
ret:
{
status:true, //布尔类型;是否成功
message:"" //字符串类型, 返回信息
}
var mtlPush = api.require('mtlPush');
mtlPush.removePush({
appkey:'',
userid:''
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统
可提供的1.0.0及更高版本
获取通知
getNotice(callback(ret))
ret:
{
status:true, //布尔类型;是否成功
notice:"" //json对象, 返回通知内容
}
var mtlPush = api.require('mtlPush');
mtlPush.getNotice(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统支持
可提供的1.0.0及更高版本
设置角标数
setBadgeNumber({params},callback(ret))
count:
var mtlPush = api.require('mtlPush');
mtlPush.setBadgeNumber({
count:0
});
iOS、Android系统
可提供的1.0.0及更高版本
在线消息
receiveNotice({params},callback(ret))
callbaseName:
ret:
内部字段:
{
status:true, //布尔类型;是否成功
result:{},//json对象类型,返回内容
}
var mtlPush = api.require('mtlPush');
mtlPush.receiveNotice(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统
可提供的1.0.0及更高版本