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

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