Я пытаюсь внедрить OneSignal PushNotifications в свое приложение Unity, но никогда не получаю уведомление. Пожалуйста помоги! Кроме того, HandleNotificationReceived никогда не срабатывает!
Вот как я инициализирую OneSignal:
void Start()
{
extraMessage = null;
OneSignal.SetLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
OneSignal.StartInit("633492bf-e776-464c-ad6a-d06bc3b62e9f")
.HandleNotificationReceived(HandleNotificationReceived)
.HandleNotificationOpened(HandleNotificationOpened)
.EndInit();
OneSignal.inFocusDisplayType = OneSignal.OSInFocusDisplayOption.Notification;
OneSignal.permissionObserver += OneSignal_permissionObserver;
OneSignal.subscriptionObserver += OneSignal_subscriptionObserver;
OneSignal.SendTag("data", "data");
var pushState = OneSignal.GetPermissionSubscriptionState();
Debug.Log("pushState.subscriptionStatus.subscribed : " + pushState.subscriptionStatus.subscribed);
Debug.Log("pushState.subscriptionStatus.userId : " + pushState.subscriptionStatus.userId);
GameDefaults.PUSHID = pushState.subscriptionStatus.userId;
OneSignal.ClearOneSignalNotifications();
}
А это функция-обработчик:
private static void HandleNotificationReceived(OSNotification notification)
{
OSNotificationPayload payload = notification.payload;
string message = payload.body;
ToastMessage.Instance.showToastOnUiThread("Message: "+ message);
print("GameControllerExample:HandleNotificationReceived: " + message);
print("displayType: " + notification.displayType);
extraMessage = "Notification received with text: " + message;
Dictionary<string, object> additionalData = payload.additionalData;
if (additionalData == null)
Debug.Log("[HandleNotificationReceived] Additional Data == null");
else
Debug.Log("[HandleNotificationReceived] message " + message + ", additionalData: " + Json.Serialize(additionalData) as string);
}
Ознакомьтесь с этой документацией о том, как правильно настроить и импортировать OneSignal в себя Unity App.
После импорта SDK initialize он:
using OneSignalSDK;
OneSignal.Default.Initialize("YOUR_APP_ID_HERE")
Теперь, если вы все сделали правильно, вы можете получать уведомления.