Приложение iOS для чата PubNub не получает сообщение push-уведомления

Я использовал службу PubNub для общения в своем приложении, и теперь она может хорошо работать для: подписки на канал, публикации сообщения на канал, получения сообщения ... Но я не хочу получать сообщение push-уведомления, когда один пользователь отправляет сообщение на канал, который пользователь подпискаb. Я настроил сертификат APNS в админке PubNub  введите описание изображения здесь

Я протестировал свой файл PEM для службы Push Follow ссылка

Пришло push-сообщение. Я добавил токен своего устройства в каналы, на которые я подписался

[self addPushNotificationsOnChannels:@[@"channel1", @"channel2"] withDevicePushToken:self.deviceToken andCompletion:^(PNAcknowledgmentStatus * _Nonnull status) {
    if (!status.error) {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Token Chat" message:status.errorData.information delegate:@"Sent token OK" cancelButtonTitle:@"Close" otherButtonTitles:nil];
        [alert show];

    }
    else {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Token error" message:status.errorData.information delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:nil];
        [alert show];
    }
}];

Затем я дважды проверил каналы списка, что deviceToken был снова добавлен, каналы списка совпадают. Но когда я попытался отправить (опубликовать) сообщение из чата (от пользователя к пользователю, от пользователя к каналу), мое устройство не получило никаких сообщений push.

Я, может быть, пропустил какие-то шаги или что-то в этом роде? Посоветуйте, пожалуйста!


person Mục Đồng    schedule 16.04.2018    source источник
comment
Вы пробовали использовать канал pndebug, чтобы узнать, есть ли сообщения об ошибках? Просмотрите этот раздел об устранении неполадок мобильного push и позвольте нам узнайте, получаете ли вы какие-либо полезные сообщения от канала -pndebug.   -  person Craig Conover    schedule 16.04.2018
comment
@CraigConover Да, я тестировал -pndebug, и сообщение пришло, но когда я общаюсь с пользователями на каналах, сообщение не приходит   -  person Mục Đồng    schedule 17.04.2018


Ответы (1)


Формат мобильных push-уведомлений PubNub

Как обсуждалось в частной ветке поддержки, ваше сообщение:

{"data":{"time":1523961017642,"text":"Hello"},"event":"dev-ecteam","sender":"DOAN-dev-ecteam"}

... не включает pn_apns. Чтобы PubNub знал, что вы хотите отправить это как push-уведомление через APNS, вы должны включить сообщение внутри pn_apns, а APNS требует aps ключа (для Android требуется data ключ).

{
  "pn_gcm": {
   "data": {
    "time": 1523961017642,
    "text": "Hello"
   },
   "event": "dev-ecteam",
   "sender": "DOAN-dev-ecteam"
  },
  "pn_apns": {
   "aps": {
    "time": 1523961017642,
    "text": "Hello"
   },
   "event": "dev-ecteam",
   "sender": "DOAN-dev-ecteam"
  }
}

Все сообщение будет получено всеми подписчиками, которые активно подписаны, но только содержимое pn_gcm будет получено устройствами Android, а содержимое pn_apns будет получено устройствами iOS, зарегистрированными для push-уведомлений на канале.

Дополнительные сведения о мобильных push-уведомлениях PubNub см .:

person Craig Conover    schedule 17.04.2018