OneSignal SDK для Xamarin: нет определения inFocusDisplayType - PullRequest
0 голосов
/ 30 апреля 2020

Пример кода Xamarin.Forms на https://documentation.onesignal.com/docs/xamarin-sdk-setup (раздел 2.1A) кажется немного устаревшим. Мне пришлось изменить несколько объектов пакета, например, OneSignal.LOG_LEVEL.VERBOSE на Com.OneSignal.Abstractions.LOG_LEVEL.VERBOSE.

Одна строка, которую я не смог преобразовать сразу в текущий SDK:

OneSignal.inFocusDisplayType = Com.OneSignal.Abstractions.OSInFocusDisplayOption.Notification;

Так, где есть inFocusDisplayType переехал в SDK?

Полный код:

public partial class App : Xamarin.Forms.Application
{
    public App ()
    {
        // The root page of your application
        MainPage = new NavigationPage(new MyApp.LoggingInPage());

        //Remove this method to stop OneSignal Debugging  
        OneSignal.Current.SetLogLevel(Com.OneSignal.Abstractions.LOG_LEVEL.VERBOSE, Com.OneSignal.Abstractions.LOG_LEVEL.NONE);

        OneSignal.Current.StartInit("YOUR_ONESIGNAL_APP_ID")
        .Settings(new Dictionary<string, bool>() {
            { Com.OneSignal.Abstractions.IOSSettings.kOSSettingsKeyAutoPrompt, false },
            { Com.OneSignal.Abstractions.IOSSettings.kOSSettingsKeyInAppLaunchURL, false } })
        .EndInit();

        OneSignal.inFocusDisplayType = Com.OneSignal.Abstractions.OSInFocusDisplayOption.Notification;
               // ^^^^^^^^^^^^^^^^^^ ??

        // The promptForPushNotificationsWithUserResponse function will show the iOS push notification prompt. We recommend removing the following code and instead using an In-App Message to prompt for notification permission (See step 7)
        OneSignal.Current.RegisterForPushNotifications();
    }

1 Ответ

0 голосов
/ 03 мая 2020

Вот как это будет работать в наше время:

OneSignal.Current.StartInit("YOUR_ONESIGNAL_APP_ID")
    .Settings(new Dictionary<string, bool>() { 
        { Com.OneSignal.Abstractions.IOSSettings.kOSSettingsKeyAutoPrompt, false }, 
        { Com.OneSignal.Abstractions.IOSSettings.kOSSettingsKeyInAppLaunchURL, false }
    })
.InFocusDisplaying(Com.OneSignal.Abstractions.OSInFocusDisplayOption.Notification)  // <-- !
.EndInit();

(Спасибо enkaradag , который ответил на проблему GitHub )

...