OneSignal SDK для Xamarin: HandleNotificationReceived не запускается на устройстве Huawei, но HandleNotificationOpened это
Я пытаюсь интегрировать oneignal в приложение, которое я разрабатываю с помощью Xamarin SDK. С устройствами android и ios все работает нормально.
С устройствами Hauwei у меня проблема в том, что обратный вызов "HandleNotificationReceived" не вызывается, а вместо него вызывается обратный вызов "HandleNotificationOpened". Уведомления все равно приходят, поэтому предполагается, что push-комплект Huawei настроен правильно.
Я также пытался расширить класс "Com.OneSignal.Android.NotificationExtenderService", но сценарий тот же: в Android он вызывается, а в Huawei - нет.
OneSignal.Current.StartInit(OneSignalData.AppId)
.Settings(new Dictionary<string, bool>() {
{ IOSSettings.kOSSettingsKeyAutoPrompt, false },
{ IOSSettings.kOSSettingsKeyInAppLaunchURL, false }, })
.InFocusDisplaying(OSInFocusDisplayOption.Notification)
.HandleNotificationOpened((result) =>
{
on_notification_action(result);
})
.HandleNotificationReceived((notification) =>
{
on_notification_received(notification);
})
.HandleInAppMessageClicked((action) =>
{
// Example IAM click handling for IAM elements
Debug.WriteLine("HandledInAppMessageClicked: {0}", action.clickName);
})
.EndInit();
Установленные пакеты nuGet: Com.OneSignal 3.10.2 и nventive.Com.OneSignal 3.2.13 Я тестирую приложение на Huawei p40PRO EMUI 10.1.0 Andorid 10.
Настройки разрешений приложения для энергосбережения также должны быть в порядке.
Что это может быть? заранее спасибо
1 ответ
Согласно документации OneSignal, вы должны сначала интегрировать Huawei Xamarin SDK, а затем добавить OneSignal в свое приложение на устройствах Huawei. Вы также можете интегрировать Xamarin Push Kit.