写点什么

MobPush for Uni-app

  • 2024-07-03
    上海
  • 本文字数:1962 字

    阅读完需:约 6 分钟

MobPush for Uni-app

插件集成

  1. 访问https://ext.dcloud.net.cn/plugin?id=10280点击购买并添加到项目当中。

  2. 在 uniapp 的“manifest.json”中选择“app 原生插件配置”,点击勾选 mob-push 插件

完成上述两步后请务必先打自定义基座哦,否则 SDK 代码无法生效!

iOS 平台相关配置

添加 Background Modes

按照官网教程添加 Background Modes -> Remote notifications

APP 信息配置

在 manifest.json 文件中配置如下属性

Android 平台相关配置

打开 manifest.xml 配置如下属性

接口调用

引入模块(必要)

const mobpush = uni.requireNativePlugin('mob-push')
复制代码

功能接口

提交用户隐私授权结果

为保证您的 App 在集成 MobSDK 之后能够满足工信部相关合规要求,您应确保 App 安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用 MobSDK.submitPolicyGrantResult 回传隐私协议授权结果。

反之,如果用户不同意您 App《隐私政策》授权,则不能调用 MobSDK.submitPolicyGrantResult 回传隐私协议授权结果。 请参考链接合规指南

/** * 回传用户隐私授权结果 * @param isGranted用户是否同意隐私协议 */  mobPushUniPlugin.submitPolicyGrantResult({"grant": true})
复制代码

打开 debug 日志

/** * 设置打开debug日志 */        mobPushUniPlugin.enableLog({       "enableLog": true    })
复制代码

设置推送环境(仅 iOS)

/** * 设置推送环境 * @param isPro = true */mobPushUniPlugin.setAPNsForProduction({'isPro': true})
复制代码

配置推送配置(仅 iOS)

/** * 设置推送配置 (必须调用) * @param type = 7 * 无显示 0, 角标提醒 1, 声音提醒 2, 弹框提醒 4, 全部 7 */mobPushUniPlugin.setAPNsNotification({'type': 7})/** * 设置应用在前台有 Badge、Sound、Alert 三种类型,默认3个选项都有,iOS 10 以后设置有效 * @param type = 7 * 无显示 0, 角标提醒 1, 声音提醒 2, 弹框提醒 4, 全部 7 */mobPushUniPlugin.setAPNsShowForegroundType({'type': 7})
复制代码

获取 RegistrationID

/**     * 获取RegistrationID     * @param {Function} callback = (result) => {"success":bool,"res":regID,"error":err}     */    mobPushUniPlugin.getRegistrationID((result) => {          //todo something    })
复制代码

添加消息事件监听

/*    * 消息事件监听    *    * @param {Function} callback = (result) => {"success":bool,"res":String,"error":err}    *    * success:结果,true为操作成功    *     * res: 消息结构体 JSON字符串    * */    mobPushUniPlugin.addPushReceiver((result) => {})
复制代码

清除事件监听(仅 iOS)

/** * 清除事件监听 */mobPushUniPlugin.clearPushReceivers()
复制代码

标签推送

/*    * 新增标签,tags之间以;隔开    * */     mobPushUniPlugin.addTags({        "tags": "您的标签"     })
/* * 删除所有标签 * * */ mobPushUniPlugin.cleanAllTags() /* * 清除指定标签,tags之间以;隔开 * */ mobPushUniPlugin.deleteTags({ "tags": "您的标签" }) /* * 查询所有标签 * */ mobPushUniPlugin.getTags()
复制代码

别名推送

/*    * 查询所有别名    * */    mobPushUniPlugin.getAlias()    /*    * 新增别名    * @param alias = String    * */    mobPushUniPlugin.setAlias({        "alias": "您的别名"    })    /*    * 删除别名    * */    static deleteAlias() {        MobPushModule.deleteAlias();    }
复制代码

推送状态

/**     * 推送服务是否关闭     * @param {Function} callback = (result) => {"success":bool,"res":isStopeed,"error":err}     */    mobPushUniPlugin.isPushStopped((result) => {       // todo something    })    /**     * 关闭推送服务     */    mobPushUniPlugin.stopPush()    /**     * 开启推送服务     */    mobPushUniPlugin.restartPush()
复制代码

角标状态

Android:

/**     * 设置角标是否开启     */       mobPushUniPlugin.setShowBadge({        "showBadge": true    })    /**     * 角标是否关闭     * @param {Function} callback = (result) => {"success":bool,"res":isStopeed,"error":err}     */      mobPushUniPlugin.getShowBadge((result) => {          //todo something      })
复制代码

iOS:

/** * 设置角标数量 * @param badge = 10 */mobPushUniPlugin.setBadge({'badge': 10})/** * 获取服务器角标数量 */mobPushUniPlugin.getBadge((result) => {    //todo something})/** * 清空角标,但不清空通知栏消息 */mobPushUniPlugin.clearBadge()
复制代码

注意事项

合规指南:https://www.mob.com/wiki/detailed?wiki=216&id=78

常见问题:https://www.mob.com/wiki/detailed?wiki=156&id=78

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2019-05-08 加入

还未添加个人简介

评论

发布
暂无评论
MobPush for Uni-app_开发者,产品动态,java_MobTech袤博科技_InfoQ写作社区