Skip to content

Интеграция библиотеки Xamarin

1. Измените целевую версию фреймворка вашего Android-проекта на Android 8.0 или выше. 2. Добавьте nuget-пакет Wavesend в проекты для Android и iOS. 3. Внесите следующие изменения в файл AppDelegate.cs вашего iOS-проекта: 3.1. В начало метода FinishedLaunching добавьте следующую строку:

Wavesend.iOS.PushManager.Init();

3.2. Добавьте эти методы в AppDelegate:

public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
Wavesend.iOS.PushManager.Instance.RegisteredForRemoteNotifications(deviceToken);
}
public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
{
Wavesend.iOS.PushManager.Instance.FailedToRegisterForRemoteNotifications(error);
}
public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
{
Wavesend.iOS.PushManager.Instance.ReceivedRemoteNotification(userInfo);
}

4. В файле Info.plist измените значение Pushwoosh_APPID на ваш Wavesend Application Code. Его можно найти в Control Panel. 5. Настройте ваш проект в Firebase Console. 6.1. Добавьте файл google-services.json в ваш Android-проект.

6.2. В Visual Studio щелкните правой кнопкой мыши по google-services.json и выберите опцию GoogleServicesJson в меню Build Action.

7. В файле MainActivity.cs вашего Android-проекта перед определением пространства имен добавьте следующие строки:

[assembly:MetaData("com.wavesend.appid", Value = "YOUR_WAVESEND_APP_CODE")]
[assembly:MetaData("com.wavesend.senderid", Value = "@string/fcm_sender_id")]

Также в начало метода onCreate класса MainActivity добавьте инициализацию PushManager строкой Wavesend.Droid.PushManager.Init();.

8. В вашем Android-проекте найдите или создайте файл Resources/values/strings.xml. Добавьте в него строку с вашим Sender ID:

strings.xml
<string name="fcm_sender_id">YOUR_SENDER_ID</string>

9. В кроссплатформенной части App.xaml.cs добавьте регистрацию в метод onStart:

PushManager.Instance.Register();
  1. Установите nuget-пакет Wavesend.Inbox в ваши проекты. 2.1. Для iOS добавьте следующую строку в ваш AppDelegate.cs (после Wavesend.iOS.PushManager.Init();):
Wavesend.Inbox.iOS.InboxManager.Init();

2.2. Для Android добавьте следующую строку в ваш MainActivity.cs (после Wavesend.Droid.PushManager.Init();):

Wavesend.Inbox.Droid.InboxManager.Init();
  1. Чтобы отобразить пользовательский интерфейс Inbox в вашем приложении:

3.1. Создайте экземпляр WavesendInboxStyle:

WavesendInboxStyle inboxStyle = new WavesendInboxStyle
{
AccentColor = Color.Violet,
BackgroundColor = Color.White,
BarAccentColor = Color.Blue,
BarBackgroundColor = Color.WhiteSmoke,
BarTextColor = Color.DarkGray,
DateColor = Color.Violet,
DefaultTextColor = Color.DarkBlue,
DescriptionColor = Color.DarkBlue,
SelectionColor = Color.Crimson,
SeparatorColor = Color.Crimson,
TitleColor = Color.DarkKhaki,
DefaultImageName = "inbox_message",
ListEmptyImageName = "inbox_empty",
ListErrorImageName = "inbox_error",
UnreadImageName = "inbox_unread",
BarTitle = "My custom title",
ListEmptyMessage = "There are no inbox messages yet",
ListErrorMessage = "Some error happened",
DateFormat = "dd.MM.yyyy"
};

3.2. Затем вызовите:

InboxManager.Instance.PresentInboxUI(inboxStyle);

Поделитесь с нами своим мнением

Section titled “Поделитесь с нами своим мнением”

Ваши отзывы помогают нам улучшать продукт, поэтому мы будем рады, если вы расскажете о любых проблемах, возникших в процессе интеграции SDK. Если вы столкнетесь с какими-либо трудностями, пожалуйста, поделитесь своими мыслями с нами, заполнив эту форму.