如何在应用端添加 fcm 通知声音
Posted
技术标签:
【中文标题】如何在应用端添加 fcm 通知声音【英文标题】:How to add fcm notification sound in app side 【发布时间】:2017-10-26 13:29:47 【问题描述】:现在我的通知声音在服务器端
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" :
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
,
如何在应用程序端更改它(android 本地 java 程序或 ios swift 程序)
【问题讨论】:
【参考方案1】: Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
放这个代码,当你想播放声音时
【讨论】:
【参考方案2】:在 Android 上 -
-
首先,您需要将声音文件添加到
/main/res/raw/<file_name>
下的项目中。
您现在可以使用像 Uri notificationSoundUri = Uri.parse("android.resource://" + context.packageName + "/" + R.raw.<file_name>)
这样的 URI 来引用文件
接下来,当您使用 Oreo 及更高版本时,您必须处理通知渠道的边缘情况。所以这看起来像这样 -
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
channel.setSound(notificationSoundUri,AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build())
else
notificationBuilder.setSound(notificationSoundUri)
-
最后 -
NotificationManagerCompat.from(context).notify(id, notificationBuilder.build())
应该可以解决问题。
这是一种更简洁的方法,因为用户可以在通知设置中将其关闭。
在 iOS 上 -
你不必做任何花哨的事情。
-
将声音文件
.caf/.aiff
添加到您的项目中,并确保它位于 -> Build Phases -> Copy Bundle Resources,如果没有添加。
通知负载应该有一个sound
参数,与.caf/.aiff
文件同名。看起来像这样 -
"aps" :
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
,
"acme1" : "bar",
"acme2" : 42
更多细节在这里-https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
干杯,编码快乐!
【讨论】:
以上是关于如何在应用端添加 fcm 通知声音的主要内容,如果未能解决你的问题,请参考以下文章