use*_*763 22 push-notification apple-push-notifications ios
如何使用自定义声音进行推送通知?
根据我的研究和阅读,我发现有效负载应该具有应用程序包中或应用程序数据容器的Library/Sounds文件夹中的文件名.
如何把文件放在那里?
Roh*_*nap 37
按照Apple文档为您的应用准备自定义声音文件.
对于iOS中的远程通知,您可以指定iOS在为应用程序提供本地或远程通知时播放的自定义声音.声音文件可以位于客户端应用程序的主包中,也可以位于应用程序数据容器的Library/Sounds文件夹中.
自定义警报声音由iOS系统声音设备播放,因此它们必须采用以下音频数据格式之一:
线性PCM MA4(IMA/ADPCM)μLawaLaw您可以将音频数据打包到aiff,wav或caf文件中.然后,在Xcode中,将声音文件作为应用程序包的非本地化资源或数据容器的Library/Sounds文件夹添加到项目中.
您可以使用afconvert工具转换声音.例如,要将16位线性PCM系统声音Submarine.aiff转换为CAF文件中的IMA4音频,请在终端应用中使用以下命令:
afconvert /System/Library/Sounds/Submarine.aiff~/ Desktop/sub.caf -d ima4 -f caff -v您可以通过在QuickTime Player中打开声音并从电影中选择Show Movie Inspector来检查声音以确定其数据格式菜单.
播放时,自定义声音必须低于30秒.如果自定义声音超过该限制,则会播放默认系统声音.
完成文件后,最简单的方法是将其放入应用程序包中.
当您发送推送通知时,只需在JSON有效负载中添加文件名.例:
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
}
}
Run Code Online (Sandbox Code Playgroud)
而已!您无需在应用程序代码中执行任何特殊操作.
编辑:
请将文件放在项目包中(即在项目的层次结构内),并Copy items if needed在拖放时选择选项.涂黑的部分有项目名称.
Sus*_*rma 18
您的服务器管理员将在通知有效负载中向您发送声音名称.有效载荷将如下所示
{
aps =
{
alert = "notification message";
sound = "example.caf";
};
}
Run Code Online (Sandbox Code Playgroud)
您需要将声音文件添加到应用程序包.格式应该是.caf.要将声音文件转换为.caf,请尝试在终端中运行此命令.
afconvert -f caff -d aacl@22050 -c 1 sound.aiff soundFileName.caf
文件保存在桌面上.现在将文件拖放到项目中.然后选择目标中的构建阶段.
检查"复制包资源"下是否存在声音文件.如果没有,请单击+按钮添加声音文件.有效负载中的声音名称应与声音文件名相同.
现在,您已准备好播放自定义通知声音.
| 归档时间: |
|
| 查看次数: |
39629 次 |
| 最近记录: |