Я пытаюсь реализовать Push-уведомления с помощью this учебника. Чат с PubNub работает отлично. Я также могу отправлять и получать Push-уведомления с помощью скрипта this, но только с сертификатом разработки, поэтому я отправил его в PubNub. (Кто-нибудь знает, почему я создал как сертификаты для моего приложения?) Когда я открываю приложение, я получаю сообщение со всеми ключами, как я вижу это в DebugConsole:Не удается отправить/получить Push-уведомления PubNub в iOS
{ "message": "Asdas",
"pn_apns": {
"aps": {
"alert": "To Apple and PN Native devices!"
}
},
"senderId": "mySenderId",
"receiverId": "myReceiverId"
}
Я покажу все шаги, которые, как я думаю, актуальны для Push-уведомлений, поэтому, пожалуйста, скажите, что я что-то забыл или сделал что-то не так.
didFinishLaunching
UIUserNotificationType types = (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert);
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"pub-key" subscribeKey:@"sub-key"];
self.client = [PubNub clientWithConfiguration:configuration];
[self.client addListener:self];
[self.client subscribeToChannels:@"myChannelId" withPresence:NO];
didRegisterForRemoteNotificationsWithDeviceToken
[self.client addPushNotificationsOnChannels:@[@"apns"] withDevicePushToken:deviceToken andCompletion:^(PNAcknowledgmentStatus *status) { }];
отправить PubNub-чат сообщение
NSDictionary * dict = @{@"aps": @{@"alert":@"To Apple and PN Native devices!"}};
[self.client publish:@{@"message" : @"Hello!", @"senderId" : @"abc123", @"receiverId" : @"abc124"} toChannel:@"myChannel" mobilePushPayload:dict withCompletion:^(PNPublishStatus *status) {}];
Ok, спасибо. Я загрузил сейчас dev-cert в PubNub и также использую Dev-App (запущен с Xcode), но он не работает ... – Steeve
Как вы устанавливаете токен на сервере? Ток-токен отличается между prod и dev, и он может все равно измениться. Если у вас неправильный или старый, то нажатие не будет работать. – Gruntcakes
Я установил Push-Token на сервере в didRegisterForRemote .... С вызовом self.client addPushNotifications ... – Steeve