Push-уведомления, использующие Urban Airship правильно - PullRequest
1 голос
/ 21 ноября 2011

Я пытался использовать Urban Airship для отправки push-уведомлений на устройства. Я регистрирую устройство, чтобы нажать, используя: Код:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

Я создал приложение на Urban Airship, загрузил ключ сертификата и попытался отправить сообщение безуспешно. Только когда я вручную добавил токен устройства в Urban Airship, я успешно отправил и получил трансляцию. У меня вопрос - могу ли я использовать Urban Airship для отправки Push-уведомлений без регистрации токенов устройства и как? Если нет, как я могу автоматически зарегистрировать токены устройства из приложения (и не использовать код curl)? Есть ли другой провайдер push, который не требует больше, чем базовый Apple для registerForRemoteNotificationTypes: method?

Спасибо!

1 Ответ

3 голосов
/ 21 ноября 2011

Нет, Urban Airhip не может отправлять push-уведомления, если устройство не регистрируется в сети, подумайте об этой логике. registerForRemoteNotificationTypes: просто инициирует процесс регистрации и предполагает, что вы проделали остальную часть работы над ногами, чтобы это волшебство произошло.

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

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)_deviceToken;

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;

В дополнение к этим UIApplication делегатам, вы должны инициировать классы дирижабля, выполнив следующие действия в вашем didFinishLaunchingWithOptions: делегате:

[Airship takeOff: kApplicationKey identifiedBy: kApplicationSecret];
...