kur*_*tko 8 android firebase firebase-cloud-messaging android-8.1-oreo
我在Android应用中使用Firebase推送通知.我可以使用自定义图标正确发送通知,但我还没有设法播放我的自定义声音.我总是得到设备的默认声音.
{
"registration_ids": "myToken",
"notification": {
"body": "my body",
"title": "my title",
"icon": "ic_notification",
"sound": "mysound.mp3" // I tried "mysound", "mysound.wav"...
},
"priority": "high"
}
Run Code Online (Sandbox Code Playgroud)
自定义声音位于/ res/raw中
我能够使用onMessageReceived和Firebase数据消息播放自定义声音,但不能使用Firebase通知消息.
我的Android设备是小米米A1和奥利奥8.1.也尝试了与小米米A2相同的结果.
我尝试使用php和curl,使用node.js ...总是一样的问题,我得到我的默认声音.
UPDATE
使用此node.js代码也不起作用:
var registrationToken = 'xxxxxx';
var message = {
notification: {
title: 'my title',
body: 'my body',
},
android: {
ttl: 3600 * 1000,
notification: {
color: '#ff0000',
sound: 'mysound.mp3'
}
},
token: registrationToken
};
Run Code Online (Sandbox Code Playgroud)
最后我找到了解决方案。对于 Android 8.0 及更高版本,有必要在您的应用中创建一个通知渠道:
NotificationChannel channel = new NotificationChannel('my_id', name, importance);
Run Code Online (Sandbox Code Playgroud)
(更多信息:https : //developer.android.com/training/notify-user/channels#java)
然后当您发送通知时:
var registrationToken = 'xxxxxx';
var message = {
notification: {
title: 'my title',
body: 'my body',
},
android: {
ttl: 3600 * 1000,
notification: {
color: '#ff0000',
sound: 'mysound.mp3',
channel_id: 'my_id' // important to get custom sound
}
},
token: registrationToken
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4842 次 |
| 最近记录: |