gpt4 book ai didi

android - Xamarin交叉通知自定义声音

转载 作者:行者123 更新时间:2023-12-03 01:15:04 24 4
gpt4 key购买 nike

我在用

Xamarin + Firebase跨平台应用程序通知

需要

更改默认通知声音

期望

即使应用程序很简单,声音也会改变。这意味着我将为该应用程序的通知分配不同的音调

编码
完全不需要编写任何代码即可播放声音或触发on notofication接收事件

当前结果:
我仅使用IOS成功做到了这一点,但使用Android却失败了。
现在,即使应用已关闭,我也可以收到带有自定义声音的通知,而无需为此编写任何代码

我的代码
对于IOS
1-将此行添加到通知有效负载
“sound”:“test.wav”
具有扩展名的唯一声音名称
2-在“资源”下的“IOS项目”中将test.wav作为“BundleResource”或“Embedded Resource”添加
3-发送通知,根本不关心“NotificationReceved”事件
4-杀死应用程序,并发送通知
5-收到带有自定义声音“test.wav”的通知
6-IOS仅可接收“wav”或“caf”文件

对于Android
对“wav”文件重复相同的操作,但有一些更改,例如:
1-声音文件添加到Resources / raw作为Project.Droid的AndroidResource
2-尝试将有效负载更改为:
“sound”:“test.wav”
“声音”:“测试”
“sound”:“raw / test.wav”
“声音”:“原始/测试”
但是播放声音永远不会成功

问题
我确信(“sound”:“test.wav”)格式有问题。
我在没有扩展的情况下进行了测试,
我不需要通过编码处理声音,我想完全按照IOS项目的要求来分配声音

我希望IOS比Android难!但最后很容易

有什么帮助吗?

最佳答案

对于Android,您应该在NotificationChannel中设置声音

var channel = new NotificationChannel(CHANNEL_ID, "FCM Notifications", NotificationImportance.Default)
{
Description = "Firebase Cloud Messages appear in this channel"
};
var audioattributes = new AudioAttributes.Builder();
audioattributes.SetContentType(AudioContentType.Music);
audioattributes.SetUsage(AudioUsageKind.Notification);
channel.SetSound(global::Android.Net.Uri.Parse("android.resource://" + this.ApplicationContext.PackageName + "/raw/app_sound"), audioattributes.Build());
注意:如果进行了设置,请卸载该应用程序以更改声音设置,请查看这些 link了解更多详细信息。

关于android - Xamarin交叉通知自定义声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62770411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com