Интеграция библиотеки 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:
<string name="fcm_sender_id">YOUR_SENDER_ID</string>9. В кроссплатформенной части App.xaml.cs добавьте регистрацию в метод onStart:
PushManager.Instance.Register();Message Inbox
Section titled “Message Inbox”- Установите 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();- Чтобы отобразить пользовательский интерфейс 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. Если вы столкнетесь с какими-либо трудностями, пожалуйста, поделитесь своими мыслями с нами, заполнив эту форму.