Как запретить Firebase Cloud Messaging запрашивать разрешение pu sh на iOS / Unity - PullRequest
0 голосов
/ 31 марта 2020

Я работал над проектом в Unity, и у меня проблема с iOS. У меня уже есть локальные уведомления pu sh, реализованные в моей игре, и он запрашивает разрешение для уведомлений pu sh позже в игре. После того, как я внедряю Firebase Cloud Messaging, этот порядок меняется. Теперь прямо на старте игра запрашивает уведомления pu sh. Есть ли способ запретить этот призыв к разрешению при запуске игры? Я хотел бы попросить разрешения позже в игре.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

Создайте PostProcessBuild, где вы можете отредактировать сгенерированный info.plist проект XCode и добавить параметр ввода FirebaseMessagingAutoInitEnabled в false. Вы можете проверить this для получения дополнительной информации о том, как добавить / отредактировать список.

Кроме того, переместите любую ссылку на FirebaseMessaging в ту часть вашей игры, где вы хотите запросить permissions.

//If platform is not IOS, immediately set message listeners
#if !UNITY_IOS
SetPushNotificationListeners()
#endif

//Call this in the part of the game where you want the notifications to appear
public void SetPushNotificationListeners()
{
    //You might need FirebaseMessaging.RequestPermissionAsync() for IOS as well

    FirebaseMessaging.TokenReceived -= OnTokenReceived;
    FirebaseMessaging.TokenReceived += OnTokenReceived;

    FirebaseMessaging.MessageReceived -= OnMessageReceived;
    FirebaseMessaging.MessageReceived += OnMessageReceived;
}

Я получил FirebaseMessagingAutoInitEnabled из документации , но в моих предыдущих тестах, похоже, что любая ссылка на FirebaseMessaging по-прежнему будет запрашивать разрешения. Также обратите внимание, что это задерживает инициализацию FirebaseMessaging и запрос разрешений, поэтому вам, возможно, придется перезапустить игру, прежде чем вы получите какие-либо уведомления pu sh (я не проверял это до сих пор, поэтому не уверен).

0 голосов
/ 31 марта 2020

Инициализация Firebase не вызовет диалоговое окно с разрешениями. Вы захотите проверить, где в вашем коде вы запрашиваете авторизацию для отображения уведомлений.

Предполагая, iOS 10 или более поздней версии, найдите запрос requestAuthorization в UNUserNotificationCenter. Вот что вызовет запрос на уведомления о pu sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...