Push-уведомление успешно отправлено с AppCenter, но нет звука при получении уведомления (xamarin android) - PullRequest
0 голосов
/ 04 мая 2019

Я использую AppCenter Push Notification в проекте xamarin android. Уведомление получено успешно, но нет звука. Пожалуйста, сообщите мне, что я должен сделать для звука уведомления.

protected override void OnStart()
    {
        AppCenter.Start("c71c0b73-a242-469e-ad97-990ca0853f9b", typeof(Push));
        CustomProperties properties = new CustomProperties();
        properties.Set("Sound", true);
        AppCenter.SetCustomProperties(properties);
    }

1 Ответ

0 голосов
/ 06 мая 2019

Добавляя звук для уведомлений, вы можете использовать NotificationChannel.SetSound (), добавить mp3-файл в ваш проект Android в разделе Resources / raw / soundFile.mp3 и установить сборку как Android Resource )

private void createNotificationChannel()
    {          
            var channelName = GetString(Resource.String.noti_chan_urgent);
            var channelDescription = GetString(Resource.String.noti_chan_urgent_description);

            // set the vibration patterm for the channel
            long[] vibrationPattern = { 100, 200, 300, 400, 500, 400, 300, 200, 400 };

            // Creating an Audio Attribute
            var alarmAttributes = new AudioAttributes.Builder()
                .SetContentType(AudioContentType.Sonification)
                .SetUsage(AudioUsageKind.Notification).Build();

                // Create the uri for the alarm file                 
            Android.Net.Uri alarmUri = Android.Net.Uri.Parse(${ContentResolver.SchemeAndroidResource}://{Context.PackageName}/{Resource.Raw.soundFile}");


            // create chan1  which is the urgent notifications channel
            var chan1 = new NotificationChannel(PRIMARY_CHANNEL_ID, channelName, NotificationImportance.High)
            {
                Description = channelDescription
            };


            // set the channel properties
            chan1.EnableLights(true);
            chan1.LightColor = Color.Red;
            chan1.SetSound(alarmUri, alarmAttributes);
            chan1.EnableVibration(true);
            chan1.SetVibrationPattern(vibrationPattern);               
            chan1.SetBypassDnd(true);
            chan1.LockscreenVisibility = NotificationVisibility.Public;

            // finally create the notification channel
            var manager = (NotificationManager)GetSystemService(NotificationService);
            manager.CreateNotificationChannel(chan1);
    }
...