Запрос авторизации удаленного уведомления Unity не отображается

У меня есть базовая сцена единства, в которой есть кнопка, связанная с методом OnClick. Я знаю, что эта часть работает, потому что у меня есть debug.log, который мне сообщает.

Я пробовал искать в Интернете и переполнение стека, но не нашел ответа на свою проблему.

Я подозреваю, что проблема заключается в запросе авторизации. Я использую симулятор Unity для тестирования, а также приложение Remote 5. Когда я играю в свой проект, ни в одной из форм тестирования нет запросов на уведомления. Итак, мой главный вопрос - почему не выполняется запрос авторизации. Я использую пакет мобильных уведомлений, предлагаемый Unity, и пробовал возиться с его настройками, такими как авторизация запроса при запуске приложения.

Отчасти меня смущает то, что я взял большую часть кода прямо из документации Unity.

      using System.Collections;
using System.Collections.Generic;
using Unity.Notifications.iOS;
using UnityEngine;

public class NotificationManager : MonoBehaviour
{
    private void Start()
    {
        StartCoroutine(RequestAuthorization());
    }
    IEnumerator RequestAuthorization()
    {
        using (var req = new AuthorizationRequest(AuthorizationOption.Alert | AuthorizationOption.Badge, true))
        {
            Debug.Log(req.IsFinished);
            while (!req.IsFinished)
            {
                yield return null;
            };

            string res = "\n RequestAuthorization:";
            res += "\n finished: " + req.IsFinished;
            res += "\n granted :  " + req.Granted;
            res += "\n error:  " + req.Error;
            res += "\n deviceToken:  " + req.DeviceToken;
            Debug.Log(res);
        }
    }
    
    public void OnClick()
    {
        Debug.Log("Sending Notif");
        SendNotification();
    }
    
    private void SendNotification()
    {
        var timeTrigger = new iOSNotificationTimeIntervalTrigger()
        {
            TimeInterval = new TimeSpan(0, 0, 1),
            Repeats = false
        };

        var notification = new iOSNotification()
        {
            // You can specify a custom identifier which can be used to manage the notification later.
            // If you don't provide one, a unique string will be generated automatically.
            Identifier = "testNotification",
            Title = "Test Notification",
            Body = "Testing the notification capability",
            Subtitle = "What does the subtitle look like",
            ShowInForeground = true,
            ForegroundPresentationOption = (PresentationOption.Alert | PresentationOption.Sound),
            CategoryIdentifier = "category_a",
            ThreadIdentifier = "thread1",
            Trigger = timeTrigger,
        };

        iOSNotificationCenter.ScheduleNotification(notification);
    }
}

0 ответов