更新记录
1.0.1(2024-06-24)
- 调整Android参数,修复Android编译错误问题
1.0.0(2024-06-24)
设置桌面应用角标消息数量
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.6.8,Android:4.4,iOS:9,HarmonyOS:不确定 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
设置桌面应用角标消息数量
集成步骤
- 拷贝demo示例的AndroidManifest.xml文件到项目下
- 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027
接口
import {
UTSBadgeNum
} from '@/uni_modules/wrs-uts-badgenum'
let params = {}
params.type = 1 // type固定1就好
UTSBadgeNum.requestAuthorization(params, (resp) => {
console.log(JSON.stringify(resp))
})
let manufacturer = UTSBadgeNum.getManufacturer()
iOS
let num = 8
UTSBadgeNum.setBadgeNum(num)
Android通过getManufacturer接口来判断手机型号,不同型号调用不同接口,参考demo示例
有些机型需要打开app里通知的“桌面图标角标”权限
华为
var entryClass = "io.dcloud.PandoraEntry" // 固定这个就好
let num = 8
let params = {
num: num,
cls: entryClass
}
UTSBadgeNum.setBadgeNumHuawei(params, (resp)=>{})
小米
小米是通过设置消息通知的方式来设置角标的,而且app要在后台运行时调用才有效,参考demo示例
let num = 8
var channelId = "badgeChannel"
var notification = {
number: num,
channelId: channelId,
contentTitle: "消息",
contentText: "消息数",
smallIcon: { // 小图标,必传
type: "resource", // 固定
defType: "drawable", // 固定
name: "logo" // 文件名,不要带文件后缀,对应nativeResources/android/res/drawable文件夹下的图片
},
autoCancel: false
}
var params = {}
params.num = num
params.notification = notification
params.channel = {
channelId: channelId,
showBadge: true,
channelName: "消息通知",
importance: 4, // 3: default 4: high 2: low 5: max 1: min 0: none
lockscreenVisibility: 1, //1: public 0: private -1: secret
description: "消息"
}
params.id = this.notificationId
UTSBadgeNum.setBadgeNumXiaomi(params)
VIVO
var entryClass = "io.dcloud.PandoraEntry" // 固定这个就好
let num = 8
let params = {
num: num,
cls: entryClass
}
UTSBadgeNum.setBadgeNumVivo(params, (resp)=>{})
OPPO
let num = 8
let params = {
num: num
}
UTSBadgeNum.setBadgeNumberOPPO(params, (resp)=>{})
魅族
var entryClass = "io.dcloud.PandoraEntry" // 固定这个就好
let num = 8
let params = {
num: num,
cls: entryClass
}
UTSBadgeNum.setBadgeNumberMeiZu(params, (resp)=>{})
其他Android机型
let num = 8
let params = {
num: num
}
UTSBadgeNum.setBadgeNumOther(params, (resp)=>{})