插件集成
- 访问MobPush - DCloud 插件市场点击购买并添加到项目当中。
- 在uniapp的“manifest.json”中选择“app原生插件配置”,点击勾选mob-push插件
完成上述两步后请务必先打自定义基座哦,否则SDK代码无法生效!
iOS平台相关配置
添加Background Modes
按照官网教程添加 Background Modes -> Remote notifications
APP信息配置
在manifest.json文件中配置如下属性
属性 | 描述 | 示例 |
---|---|---|
MobAppKey | mobAppkey | 2dxxxxxxxx0 |
MobAppSecret | mobAppSecret | a7b9f1xxxxxxxxxxed158 |
Android平台相关配置
打开 manifest.xml配置如下属性
属性 | 描述 | 示例 |
---|---|---|
Mob-AppKey | mobAppkey | 2dbxxxxxxxc80 |
Mob-AppSecret | mobAppSecret | a7b9fxxxxxxxxxxxxxxxxed158 |
接口调用
引入模块(必要)
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>const mobpush = uni.requireNativePlugin('mob-push')</code></span></span>
功能接口
提交用户隐私授权结果
为保证您的App在集成MobSDK之后能够满足工信部相关合规要求,您应确保App安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用MobSDK.submitPolicyGrantResult回传隐私协议授权结果。
反之,如果用户不同意您App《隐私政策》授权,则不能调用MobSDK.submitPolicyGrantResult回传隐私协议授权结果。 请参考链接合规指南
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
<span style="color:#6897bb"> * </span>回传用户隐私授权结果
<span style="color:#6897bb"> * </span>@param isGranted用户是否同意隐私协议
*/</span>
mobPushUniPlugin.submitPolicyGrantResult({<span style="color:#6a8759">"grant"</span>: <span style="color:#cc7832">true</span>})</code></span></span>
打开debug日志
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
* 设置打开debug日志
*/</span>
mobPushUniPlugin.enableLog({
<span style="color:#6a8759">"enableLog"</span>: <span style="color:#6897bb">true</span>
})</code></span></span>
设置推送环境(仅iOS)
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
<span style="color:#6897bb"> * </span>设置推送环境
<span style="color:#6897bb"> * </span>@param isPro = true
*/</span>
mobPushUniPlugin.setAPNsForProduction({<span style="color:#6a8759">'isPro'</span>: <span style="color:#cc7832">true</span>})</code></span></span>
配置推送配置(仅iOS)
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#6a8759">/**</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">设置推送配置</span> <span style="color:#6a8759">(必须调用)</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">@param</span> <span style="color:#6a8759">type</span> <span style="color:#6a8759">=</span> <span style="color:#6897bb">7</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">无显示</span> <span style="color:#6897bb">0</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">角标提醒</span> <span style="color:#6897bb">1</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">声音提醒</span> <span style="color:#6897bb">2</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">弹框提醒</span> <span style="color:#6897bb">4</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">全部</span> <span style="color:#6897bb">7</span>
<span style="color:#6a8759">*/</span>
<span style="color:#6a8759">mobPushUniPlugin.setAPNsNotification({'type':</span> <span style="color:#6897bb">7</span><span style="color:#6a8759">})</span>
<span style="color:#6a8759">/**</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">设置应用在前台有</span> <span style="color:#6a8759">Badge、Sound、Alert</span> <span style="color:#6a8759">三种类型,默认3个选项都有,iOS</span> <span style="color:#6897bb">10</span> <span style="color:#6a8759">以后设置有效</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">@param</span> <span style="color:#6a8759">type</span> <span style="color:#6a8759">=</span> <span style="color:#6897bb">7</span>
<span style="color:#6a8759">*</span> <span style="color:#6a8759">无显示</span> <span style="color:#6897bb">0</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">角标提醒</span> <span style="color:#6897bb">1</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">声音提醒</span> <span style="color:#6897bb">2</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">弹框提醒</span> <span style="color:#6897bb">4</span><span style="color:#6a8759">,</span> <span style="color:#6a8759">全部</span> <span style="color:#6897bb">7</span>
<span style="color:#6a8759">*/</span>
<span style="color:#6a8759">mobPushUniPlugin.setAPNsShowForegroundType({'type':</span> <span style="color:#6897bb">7</span><span style="color:#6a8759">})</span></code></span></span>
获取RegistrationID
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>/**
* 获取RegistrationID
* @param {<span style="color:#cc7832">Function</span>} callback = (result) => {<span style="color:#6a8759">"success"</span>:bool,<span style="color:#6a8759">"res"</span>:regID,<span style="color:#6a8759">"error"</span>:err}
*/
mobPushUniPlugin.getRegistrationID((result) => {
//todo something
})</code></span></span>
添加消息事件监听
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>/*
* 消息事件监听
*
* @param {<span style="color:#ffc66d">Function</span>} callback = (<span style="color:#6897bb">result</span>) => {<span style="color:#6a8759">"success"</span>:bool,<span style="color:#6a8759">"res"</span>:<span style="color:#ffc66d">String</span>,<span style="color:#6a8759">"error"</span>:err}
*
* success:结果,<span style="color:#6897bb">true</span>为操作成功
*
* res: 消息结构体 <span style="color:#ffc66d">JSON</span>字符串
* */
mobPushUniPlugin.addPushReceiver((<span style="color:#6897bb">result</span>) => {})</code></span></span>
清除事件监听(仅iOS)
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
* 清除事件监听
*/</span>
<span style="color:#cc7832">mobPushUniPlugin</span><span style="color:#e8bf6a">.clearPushReceivers</span>()</code></span></span>
标签推送
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/*
* 新增标签,tags之间以;隔开
* */</span>
mobPushUniPlugin.<span style="color:#cc7832">addTags({
</span> <span style="color:#6a8759">"tags"</span>: <span style="color:#6a8759">"您的标签"</span>
})
<span style="color:grey">/*
* 删除所有标签
*
* */</span>
mobPushUniPlugin.cleanAllTags()
<span style="color:grey">/*
* 清除指定标签,tags之间以;隔开
* */</span>
mobPushUniPlugin.deleteTags({
<span style="color:#6a8759">"tags"</span>: <span style="color:#6a8759">"您的标签"</span>
})
<span style="color:grey">/*
* 查询所有标签
* */</span>
mobPushUniPlugin.getTags()</code></span></span>
别名推送
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/*
* 查询所有别名
* */</span>
mobPushUniPlugin.getAlias()
<span style="color:grey">/*
* 新增别名
* @param alias = String
* */</span>
mobPushUniPlugin.setAlias({
<span style="color:#6a8759">"alias"</span>: <span style="color:#6a8759">"您的别名"</span>
})
<span style="color:grey">/*
* 删除别名
* */</span>
<span style="color:#cc7832">static</span> <span style="color:#ffc66d">deleteAlias</span>() {
MobPushModule.deleteAlias();
}</code></span></span>
推送状态
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
* 推送服务是否关闭
* @param {Function} callback = (result) => {"success":bool,"res":isStopeed,"error":err}
*/</span>
<span style="color:#cc7832">mobPushUniPlugin</span><span style="color:#e8bf6a">.isPushStopped</span>((result) => {
<span style="color:grey">// todo something</span>
})
<span style="color:grey">/**
* 关闭推送服务
*/</span>
<span style="color:#cc7832">mobPushUniPlugin</span><span style="color:#e8bf6a">.stopPush</span>()
<span style="color:grey">/**
* 开启推送服务
*/</span>
<span style="color:#cc7832">mobPushUniPlugin</span><span style="color:#e8bf6a">.restartPush</span>()</code></span></span>
角标状态
Android:
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>/**
* 设置角标是否开启
*/
mobPushUniPlugin.setShowBadge({
<span style="color:#6a8759">"showBadge"</span>: <span style="color:#6897bb">true</span>
})
/**
* 角标是否关闭
* @param {<span style="color:#ffc66d">Function</span>} callback = (<span style="color:#6897bb">result</span>) => {<span style="color:#6a8759">"success"</span>:bool,<span style="color:#6a8759">"res"</span>:isStopeed,<span style="color:#6a8759">"error"</span>:err}
*/
mobPushUniPlugin.getShowBadge((<span style="color:#6897bb">result</span>) => {
//todo something
})</code></span></span>
iOS:
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:grey">/**
* 设置角标数量
* @param badge = 10
*/</span>
mobPushUniPlugin.setBadge({'badge': 10})
<span style="color:grey">/**
* 获取服务器角标数量
*/</span>
mobPushUniPlugin.getBadge((result) => {
<span style="color:grey">//todo something</span>
})
<span style="color:grey">/**
* 清空角标,但不清空通知栏消息
*/</span>
mobPushUniPlugin.clearBadge()</code></span></span>
注意事项
合规指南:MobTech集成文档-MobTech
常见问题:MobTech集成文档-MobTech