首页 > 其他分享 >MobPush for Uni-app

MobPush for Uni-app

时间:2022-12-06 18:02:40浏览次数:57  
标签:app iOS param 角标 MobPush Uni 推送 mobPushUniPlugin result

插件集成

  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文件中配置如下属性

属性

描述

示例

MobAppKey

mobAppkey

2dxxxxxxxx0

MobAppSecret

mobAppSecret

a7b9f1xxxxxxxxxxed158

Android平台相关配置

打开 manifest.xml配置如下属性

属性

描述

示例

Mob-AppKey

mobAppkey

2dbxxxxxxxc80

Mob-AppSecret

mobAppSecret

a7b9fxxxxxxxxxxxxxxxxed158

接口调用

引入模块(必要)

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​

标签:app,iOS,param,角标,MobPush,Uni,推送,mobPushUniPlugin,result
From: https://blog.51cto.com/u_14192352/5916428

相关文章