更新记录

1.0.1(2024-06-24)

  1. 调整Android参数,修复Android编译错误问题

1.0.0(2024-06-24)

设置桌面应用角标消息数量


平台兼容性

Vue2 Vue3
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
× × × × × × × × ×

设置桌面应用角标消息数量

  • 支持iOS、Android

集成步骤

  1. 拷贝demo示例的AndroidManifest.xml文件到项目下
  2. 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027

接口


import {
    UTSBadgeNum
} from '@/uni_modules/wrs-uts-badgenum'
  • 请求角标权限(仅支持iOS)

let params = {}
params.type = 1 // type固定1就好
UTSBadgeNum.requestAuthorization(params, (resp) => {
    console.log(JSON.stringify(resp))
})
  • 获取手机型号(仅支持Android)

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)=>{})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android: 角标通知权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问