大家有没有发现,我们解锁手机后,总能在桌面上的App右上角看到一个小红点,就是推送图标。推送图标指的是移动端App图标右上角的红色圆圈,圆圈中的白色数字表示未读消息数。角标是一种比较轻松的提醒方式。通过直观的展示用户还未阅读的信息量,可以给用户营造一种紧张感,激发用户阅读的好奇心,让用户忍不住点击。因此,推送角徽章使用得当,有助于提高App推送的打开率,保持用户粘性。HMSCore推送服务提供了设置桌面徽章的API接口,开发者可以在消息中封装徽章参数。那么这个“小红点”功能是如何实现的呢?下面是详细的集成步骤。一。客户端API设置华为推送角标支持平台:1、系统版本:EMUI4.1及以上2、桌面版本:6.3.293。支持设备:华为设备角标功能开发:声明权限在需要显示徽章的地方,使用以下方法将数据传输到华为桌面应用程序。Bundleextra=newBundle();extra.putString("包","xxxxxx");extra.putString("类","yyyyyyy");extra.putInt("badgennumber",i);context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"),"change_badge",null,extra);关键参数说明:package:应用包名class:对应桌面图标应用入口Activity类badgenumber:徽章编号booleanmIsSupportedBade=true;如果(mIsSupportedBade){setBadgeNum(num);}/**设置徽章编号*/publicvoidsetBadgeNum(intnum){try{Bundlebundle=newBundle();//com.test.badge是你的包名bunlde.putString("package","com.test.badge");//com.test.badge.MainActivity是你的apk主活动bunlde.putString("class","com.test.badge.MainActivity");bunlde.putInt("badgenumber",num);this.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"),"change_badge",null,bunlde);}catch(异常e){mIsSupportedBade=false;}}特别注意:(1)第三个应用打开退出时,是否继续显示badge取决于应用传递的值(badgenumber为0时,不显示badge;当badgenumber大于0,badge显示下标)(2)当第三方应用的包和类发生变化时,需要传递变化的信息。(3)徽章接口调用前无需获取桌面是否支持徽章功能。当桌面不支持角标功能时,界面会抛出异常,应用程序可以在调用界面的地方加入try...catch(Exceptione)语句,防止程序崩溃。二。HMSCore推送服务sdk桌面徽章设置PushKit发送下行消息接口。BadgeNotification的三个参数决定badge是否显示和显示次数:设置时需要注意以下5点:1.类字段应用包名+应用入口Activity类名,如果下标不对已通过,无法显示。2、add_num字段需要emui8.0.0以上版本,推送服务8.0.03版本。set_num字段需要emui10.0.0以上版本,推送服务10.1.04版本。打开应用程序或点击并清除通知栏中的消息不会清除徽章数量。清除徽章需要参考设备端的徽章开发指南。“class”是必需的,“add_num”和“set_num”参数是可选的。如果“add_num”和“set_num”都设置为空,应用字幕的个数默认加1。更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~