Mac OS X
Скачать SDK
Пример проекта
Документация по API SDK
Подключение Wavesend.framework
Section titled “Подключение Wavesend.framework”Добавьте Wavesend.framework в ваш проект с помощью менеджера зависимостей, вставив следующие строки в ваш podfile или cartfile:
platform :osx, '10.7'
target 'MyApp' do pod 'Wavesend_mac'endgithub "Wavesend/wavesend-mac-sdk"Кроме того, вы можете просто перетащить фреймворк в раздел Link Binaries With Libraries на вкладке Build Phases вашего проекта.
Добавление библиотек
Section titled “Добавление библиотек”На вкладке Build Phases вашего проекта откройте раздел Link Binaries With Libraries и нажмите кнопку добавления элементов («+»). Найдите и добавьте в свой проект библиотеки libz.tbd и libc++.tbd:

Связывание приложения с Wavesend Control Panel
Section titled “Связывание приложения с Wavesend Control Panel”В вашем файле Info.plist добавьте ключ типа string с названием Wavesend_APPID и вашим Wavesend Application Code в качестве значения.
Изменение AppDelegate
Section titled “Изменение AppDelegate”Добавьте следующий код в ваш AppDelegate:
import PushKitimport Wavesend
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
// ваш код инициализации
//-----------ЧАСТЬ WAVESEND-----------
NSUserNotificationCenter.default.delegate = Wavesend.sharedInstance()?.notificationCenterDelegateProxy
// устанавливаем кастомный делегат для обработки пушей, в нашем случае — view controllerWavesend.sharedInstance().delegate = self
// обработка пуша при запуске приложенияWavesend.sharedInstance().handlePushReceived(aNotification.userInfo)
// регистрируемся для получения push-уведомлений!Wavesend.sharedInstance().registerForPushNotifications()#import <Wavesend/Wavesend.h>
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{ // ваш код инициализации
//-----------ЧАСТЬ WAVESEND-----------
[NSUserNotificationCenter defaultUserNotificationCenter].delegate = [Wavesend sharedInstance].notificationCenterDelegateProxy;
// устанавливаем кастомный делегат для обработки пушей, в нашем случае — view controller [Wavesend sharedInstance].delegate = self;
// обработка пуша при запуске приложения [[Wavesend sharedInstance] handlePushReceived:[aNotification userInfo]];
// регистрируемся для получения push-уведомлений! [[Wavesend sharedInstance] registerForPushNotifications]; }Добавьте следующий код в ваш UIApplicationDelegate (в тот же файл, что и выше).
// колбэк успешной системной регистрации push-уведомлений, делегируется в PWMessagingDelegatefunc application(_ application: NSApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { Wavesend.sharedInstance()?.handlePushRegistration(deviceToken)}
// колбэк ошибки системной регистрации push-уведомлений, делегируется в PWMessagingDelegatefunc application(_ application: NSApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { Wavesend.sharedInstance()?.handlePushRegistrationFailure(error)}// колбэк успешной системной регистрации push-уведомлений, делегируется в pushManager- (void)application:(NSApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[Wavesend sharedInstance] handlePushRegistration:deviceToken];}
// колбэк ошибки системной регистрации push-уведомлений, делегируется в pushManager- (void)application:(NSApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [[Wavesend sharedInstance] handlePushRegistrationFailure:error];}Чтобы обрабатывать push-уведомления, добавьте следующую функцию в ваш UIApplicationDelegate (в тот же файл, что и выше):
// это событие срабатывает при получении push-уведомленияfunc wavesend(_ wavesend: Wavesend!, onMessageReceived message: PWMessage!) { print("onMessageReceived: \(String(describing: message.payload))")}
// это событие срабатывает, когда пользователь нажимает на уведомлениеfunc wavesend(_ wavesend: Wavesend!, onMessageOpened message: PWMessage!) { print("onMessageOpened: \(String(describing: message.payload))")}// это событие срабатывает при получении push-уведомления- (void)wavesend:(Wavesend *)wavesend onMessageReceived:(PWMessage *)message { NSLog(@"onMessageReceived: %@", message.payload);}
// это событие срабатывает, когда пользователь нажимает на уведомление- (void)wavesend:(Wavesend *)wavesend onMessageOpened:(PWMessage *)message { NSLog(@"onMessageOpened: %@", message.payload);}Включение Push-уведомлений
Section titled “Включение Push-уведомлений”Перейдите в Signing and Capabilities в вашем таргете. Нажмите + Capability и добавьте Push Notifications.
