APP推送自定义通知铃声

众所周知,消息推送是生活服务、金融理财、新闻资讯等各类 App 和用户之间交互的桥梁。App 通过通知栏消息,低成本、高效率地向用户告知产品功能更新

APP推送自定义通知铃声

一、场景描述

1.1 场景描述

众所周知,消息推送是生活服务、金融理财、新闻资讯等各类 App 和用户之间交互的桥梁。App 通过通知栏消息,低成本、高效率地向用户告知产品功能更新、运营活动上线、日常新闻动态等重要消息。为了帮助用户不错过重要通知,使 App 和用户之间的交互更加顺畅,个推 SDK 还支持 App 开发者自定义通知铃声(区别于系统提示音),通过声音的方式,更加有效地提醒用户及时查阅关键消息。

1.2 名称解释

名词解释
通知铃声个推SDK自动处理在手机系统通知栏中展示通知栏消息时,响铃提醒用户。

1.3 各渠道支持情况

机型个推渠道厂商渠道
华为支持支持
荣耀支持不支持
小米支持支持
OPPO支持不支持
VIVO支持不支持
魅族支持不支持
IOS支持支持

二、技术实现方案

自定义铃声需要客户端和服务端配合使用。

2.1 客户端实现

android

在客户端 app/res/raw 目录下放置铃声文件(支持 mp3、wav、mpeg 等多种格式的音频文件),例如设置铃声文件名为:ringing.mp3

ios

在客户端把自制好的的铃声添加到项目的 main bundle 中后,在项目设置 Build Phases–>Copy Bundle Resources 中添加您的铃声文件(支持 aiff,wav,caf,mp3 格式音频文件)。

2.2 服务端实现

开发者可通过调用 个推服务端 api 或者登陆 个推开发者中心 从页面下发消息。针对这两种消息下发方式,开发者都可以通过简单配置,自定义消息下发时的通知栏铃声。

2.2.1 服务端 api 设置

由于默认的厂商策略是:在成功集成多厂商的前提下且 app 在线(即 app 在前台打开运行)时,下发 push_message 内的消息;app 离线( app 在后台、锁屏、进程关闭)时,下发 push_channel 内的消息。因此开发者在调用个推服务端 api 下发消息时,需要同时在 push_message 和 push_channel 内指定该铃声,

配置代码如下:

{
    "request_id": "请填写 10 到 32 位的 id",
    "settings": {
        "ttl": 3600000
    },
    "push_message": {
        //个推在线通知仅支持android,ios在线请使用透传消息
        "notification": {
            "title": "个推在线通知标题",
            "body": "个推在线通知内容",
            "click_type": "url",
            "url": "https://www.getui.com/",
            //从个推通道下发通知消息时的铃声文件名,此处不用填文件格式后缀名
            "ring_name": "ringing",
            //若有多个铃声文件,建议配套通知渠道使用,每个铃声指定不同的渠道id
            "channel_id": "请填写自定义渠道id",
            "channel_name": "请填写自定义渠道名",
            "channel_level": 4
        }
    },
    "push_channel": {
        "android": {
            "ups": {
                "notification": {
                    "title": "厂商离线通知标题",
                    "body": "厂商离线通知内容",
                    "click_type": "url",
                    "url": "https://www.getui.com/"
                },
                //options内为华为、小米的离线通知铃声设置
                "options": {
                    "HW": {
                        "/message/android/notification/default_sound": false,
                        "/message/android/notification/channel_id": "RingRing4",
                        "/message/android/notification/sound": "/raw/ringing",
                        "/message/android/notification/importance": "NORMAL",
                    },
                    "XM": {
                        "/extra.sound_uri": "小米后台申请的自定义sound_url地址",
                        "/extra.channel_id": "小米后台申请的"重要消息"通知类别id"
                    }
                }
            }
        },
        "ios": {
            "type": "notify",
            "aps": {
                "alert": {
                    "title": "ios离线通知标题",
                    "body": "ios离线通知内容"
                },
                "content-available": 0,
                //sound字段为ios通知铃声文件名(包含格式后缀名)。
                "sound": "ringing.mp3",
                "category": "ACTIONABLE"
            },
            "auto_badge": "+1"
        }
    }
}

注意事项

  1. 在使用自定义铃声前,必须完成个推消息推送 SDK 和个推消息推送多厂商版本 SDK 的集成,建议使用:个推官网最新版SDK 。
  2. options 内相关参数的生成,可参考个推文档中心:【华为】离线自定义铃声 、【小米】离线自定义铃声 。
  3. 目通过以上方式实现后,app 在线时:ios、android 都支持自定义铃声;app 离线时:ios 完全支持、android 暂时只有小米、华为机型支持自定义铃声。其它安卓机型,等待对应厂商平台开放相关功能后会进行适配。
  4. Android 12 由于系统限制,不支持在线自定义铃声。

2.2.2 个推开发者中心设置

1、 登陆 个推开发者中心,进入个推消息推送 dos 页面,点击【创建推送】后在 Android 配置模块中选择【通知渠道模板】。一般默认为响铃、震动、唤醒屏幕。

2、通过设置通知渠道模板,来设置通知的提醒方式。可以自主选择响铃、震动、浮动、唤醒屏幕等多种方式对用户进行消息弱提醒、强提醒。如果是重要的消息内容,还可以针对通知栏铃声进行自定义设置,提醒特定用户群体及时关注消息;如果没有进行自定义设置,则通知栏铃声则默认为系统声音。

3、自定义铃声设置:在渠道模板【提醒方式】中选择通知铃声,输入自定义文件名。

自定义铃声1

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/15463/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年12月21日 下午5:27
下一篇 2022年12月21日 下午5:31

相关推荐