ZIM 消息推送默认使用在手机系统设置的铃声与震动提示状态,但也支持自定义通知铃声。
本文档仅适用于配置了 APNs 或接入了 Google FCM 离线推送通道的项目。
在自定义通知铃声之前,请确保:
已在 ZEGO 控制台 创建项目,获取到了接入 ZIM SDK 服务所需的 AppID、AppSign。ZIM 服务权限不是默认开启的,使用前,请先在 ZEGO 控制台 自助开通 ZIM 服务(详情请参考控制台的 服务配置 - 即时通讯 - 开通服务),若无法开通 ZIM 服务,请联系 ZEGO 技术支持开通。
已集成 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息 的 “2 集成 SDK”。
已集成 ZPNs SDK,详情请参考 实现离线推送。
已在控制台配置离线推送证书。
如需自定义铃声,您必须将铃声文件打包到应用程序中,同时需要在 ZEGO 控制台配置自定义铃声文件的地址,随后在发送离线推送时传入已配置的 resourceID。
准备满足以下要求的音频资源:
详情请参考 Apple 开发者文档 UNNotificationSound。
使用 XCode 打开您的项目,选择您的项目,选择合适的 Target,点击 Build Phrases 页签,展开 Copy Bundle Resources,添加声音资源,如图所示:
将声音资源文件加入到“您的项目/res/raw”目录下。
如果您的项目支持 Android 8.0 (API 26) 及以上版本,需要创建 channel 以自定义铃声。
示例代码:
// 如下代码为创建 channel 并为 channel 绑定铃声的示例代码。
// 代码中的 callChannel 为示例的 Channel ID。
// callChannel、ChannelName 为示例,可根据实际情况自定义。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel("callChannel", "ChannelName", NotificationManager.IMPORTANCE_HIGH);
Uri sound = Uri.parse("android.resource://" + getPackageName() + "/raw/call_sound");
channel.setSound(sound, null);
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
// 如下代码为创建 channel 并为 channel 绑定铃声的示例代码。
// 代码中的 callChannel 为示例的 Channel ID。
// callChannel、ChannelName 为示例,可根据实际情况自定义。
ZPNsNotificationChannel channel = ZPNsNotificationChannel();
channel.channelID = "channelID";
channel.channelName = "channelName";
channel.androidSound = "sound";
ZPNs.getInstance().createNotificationChannel(channel);
// 如下代码为创建 channel 并为 channel 绑定铃声的示例代码。
// 代码中的 callChannel 为示例的 Channel ID。
// callChannel、ChannelName 为示例,可根据实际情况自定义。
var channel = {
channelID: "channelID",
channelName: "channelName",
androidSound: "sound"
};
ZPNs.getInstance().createNotificationChannel(channel);
// 如下代码为创建 channel 并为 channel 绑定铃声的示例代码。
// 代码中的 callChannel 为示例的 Channel ID。
// callChannel、ChannelName 为示例,可根据实际情况自定义。
var channel = {
channelID: "channelID",
channelName: "channelName",
androidSound: "sound"
};
ZPNs.getInstance().createNotificationChannel(channel);
登录 ZEGO 控制台,在 “项目管理” 页签中单击合适的项目,进入项目详情页。
选择“服务配置 > 即时通讯” 页签。
找到 “自定义推送策略(resourceID)配置”,单击 “添加 reourcesID”。
在弹窗中输入声音资源的相关信息并单击 “确定”。
请根据您的项目实际情况,按需配置适用于 APNs 和 FCM 的 Sound 文件地址(可二选一)。
相关信息的说明如下:
信息 | 说明 |
---|---|
resourceID 名称 |
需要推送的资源的 ID。您可以自定义此 ID。 |
APNs |
|
推送类型 |
必须为 “alert”。 |
Sound |
声音资源文件在您的应用中的地址。例如,如果您是通过 Xcode 打开项目并在 Build Phrases > Copy Bundle Resources 将声音资源引入项目,此时,该声音资源已位于根目录中,地址为“声音资源名称 + 后缀”,如 callSound.caf)。如何将声音资源加入到 iOS 项目工程,详情请参考 自定义通知铃声。 |
FCM |
|
推送类型 |
仅支持为 “Notification Message” 自定义铃声。 |
Chanel ID |
如果您的项目支持 Android 8.0 (API 26) 及以上版本,需要创建 channel 以自定义铃声。如何创建 channel,详情请参考 自定义通知铃声。 |
Sound |
声音资源文件的名称,无需后缀,如 call_sound。如何将声音资源加入到 Android 项目工程,详情请参考 自定义通知铃声。 |
完成输入后,“自定义推送策略(resourceID)配置” 下会出现该声音资源的具体信息,请拷贝对应的 Resource ID。
在 ZIMPushConfig 中填入之前拷贝的 Push Resource ID。
ZIMPushConfig *pushConfig = [[ZIMPushConfig alloc] init];
pushConfig.resourcesID = @"push_resources_soundlimit"; // 从 ZEGO 控制台拷贝的 Push Resource ID
pushConfig.title = @"your title";
pushConfig.content = @"your content";
// 调用包含 pushConfig 参数的 API
ZIMPushConfig pushConfig = new ZIMPushConfig();
pushConfig.title = "your title";
pushConfig.content = "your content";
pushConfig.resourcesID = "push_resources_soundlimit"; // 从 ZEGO 控制台拷贝的 Push Resource ID
// 调用包含 pushConfig 参数的 API
ZIMPushConfig pushConfig = ZIMPushConfig();
pushConfig.resourcesID = "push_resources_soundlimit"; // 从 ZEGO 控制台拷贝的 Push Resource ID
pushConfig.title = "your title";
pushConfig.content = "your content";
// 调用包含 pushConfig 参数的 API
var pushConfig = {
resourcesID: "push_resources_soundlimit", // 从 ZEGO 控制台拷贝的 Push Resource ID
title: "your title",
content: "your content"
};
var sendConfig = {
priority: 2,
pushConfig: pushConfig
};
// 调用包含 pushConfig 参数的 API
var pushConfig = {
resourcesID: "push_resources_soundlimit", // 从 ZEGO 控制台拷贝的 Push Resource ID
title: "your title",
content: "your content"
};
var sendConfig = {
priority: 2,
pushConfig: pushConfig
};
// 调用包含 pushConfig 参数的 API
联系我们
文档反馈