Unity Mobile Notification не приходят на Android13+

Не приходят уведомления на Android 13 и выше. На Андройд 12 все работает корректно.

POST_NOTIFICATION в кастомном манифесте присутствует.

Перед регистрацией канала и самих уведомлений запрашиваю у пользователя разрешение на получение уведомлений.

По логам в Logcat вижу, что ошибок нет и уведомления регистрируются корректно.

Версия UnityMobileNotification последняя.

Что интересно: перетащил скрипт, отвечающий за регистрацию уведомлений в Unity2022, поковырялся с манифестом и настройками проекта - на всех версиях Андройд уведомления приходят. Настройки с основным проектом (Unity6) и тестовым (Unity2022) - идентичны.

Прикрепляю скрипт, если нужно:

 public async UniTask StartAsync(CancellationToken cancellation)
        {
            await WaitPermissionAsync(_tokenSource.Token);
            
            RegisterChannel();
            ClearNotifications();
        }

        private void RegisterChannel()
        {
            AndroidNotificationCenter.Initialize();
            var channel = new AndroidNotificationChannel()
            {
                Id = ChannelId,
                Name = "Notifications_Channel_Evolution",
                Description = "Default description",
                Importance = Importance.High,
            };

            AndroidNotificationCenter.RegisterNotificationChannel(channel);
            _notificationInitialized = true;

            Debug.Log("[Notification] Channel registered");
        }

        private async UniTask WaitPermissionAsync(CancellationToken token)
        {
            var request = new PermissionRequest();
            await UniTask.WaitUntil(() => request.Status != PermissionStatus.RequestPending, cancellationToken: token);

            Debug.Log("[Notification] Permission perform: " + request.Status);
        }

        private void RegisterNotifications()
        {
            if (_notificationInitialized == false)
            {
                return;
            }
            
            var calculatedTimes = CalculateNotificationTimes();
            int i = 0;
            foreach (var calculatedTime in calculatedTimes)
            {
                i++;
                
                if (i > 2)
                {
                    return;
                }
                
                NotificationsType type = NotificationsType.Default;

                if (_dailyRewardClaimedObserver.GetDailyRewardStatus())
                {
                    type = NotificationsType.Reward;
                }

                var notificationData = _localTextProvider.ChooseLocalKeysByRewardStatus(type)
                    .GetRandomLocalText();

                var time = DateTime.Now.AddSeconds(20);

                var notification = new AndroidNotification
                {
                    Title = notificationData.Item1,
                    Text = notificationData.Item2,
                    FireTime = time
                };

                var id = AndroidNotificationCenter.SendNotification(notification, ChannelId);
                var status = AndroidNotificationCenter.CheckScheduledNotificationStatus(id);

                Debug.Log($"[Notification] Notification {id} at {calculatedTime} is {status}");
            }

            Debug.Log("[Notification] Notifications registered");
        }

Ответы (0 шт):