Не получаю уведомления GCM на Pubnub - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь получить Push-уведомление с GCM в моем приложении PubNub:

Вот что я делаю:

  1. Я зарегистрировался на обычных каналах PUbnub и могу отправлять и получать обычные сообщения.
  2. Подписаться на канал PushNotification:

    var regId = getDeviceRegistrationId (). // Это было из ответа регистра GCM

    pubnub!!.addPushNotificationsOnChannels()
    .pushType(PNPushType.GCM)
    .channels(Arrays.asList( pubnubChannelID+ CHANNEL_TAG_PUSH))
    .deviceId(regId)
      .async( object  : PNCallback<PNPushAddChannelResult>() {
          override fun onResponse(result: PNPushAddChannelResult?, status: PNStatus?) {
          Timber.d("PNPushAddChannelResult  "+!status!!.isError)  
        }
    });
    
  3. В консоли Pubnub я ввел действительный ключ API GCM

  4. Я публикую сообщение, как указано ниже, для канала, зарегистрированного выше:

    { "pn_gcm": { «данные»: «Сообщение» }, "pn_apns": { "Апс": { "тревога": { "loc-key": "MessageAlertKey", "loc-args": "none"} } } }

Документация по адресу: https://support.pubnub.com/support/discussions/topics/14000006344#latest полезна лишь незначительно.

Чего мне не хватает при получении Push-уведомлений GCM на устройстве Android с Pubnub?

Ценю любую помощь.

Спасибо

1 Ответ

0 голосов
/ 28 сентября 2018

ПРИМЕЧАНИЕ. Следующее содержимое можно найти в этой статье базы знаний по поддержке PubNub , но есть политика переполнения стека, которая не отвечает простой ссылкой. Так что я вставляю содержимое здесь. Я написал оригинал, чтобы он не воровал;)

Почему не работают мои push-уведомления FCM?

Когда вы настраиваете и внедряете FCM в приложение PubNub, вы можете не видеть отправляемые push-уведомления. Перед тем, как приступить к устранению неполадок PubNub для мобильных устройств , убедитесь, что вы отправляете и получаете нужный тип FCM.

ПРИМЕЧАНИЕ. Следующие документы получены непосредственно из документов FCM Android : С помощью FCM вы можете отправлять клиентам два типа сообщений:

  • Уведомительные сообщения, иногда называемые «отображаемыми сообщениями». Они обрабатываются FCM SDK автоматически.
  • Сообщения с данными, которые обрабатываются клиентским приложением.
  • Уведомительные сообщения содержат предопределенный набор видимых пользователем ключей и могут содержать дополнительную полезную нагрузку данных.
  • Напротив, сообщения данных содержат только ваши пользовательские пары ключ-значение.
  • Максимальная полезная нагрузка для обоих типов сообщений составляет 4 КБ, за исключением случаев отправки сообщений с консоли Firebase, что обеспечивает ограничение в 1024 символа.

В соответствии с вышеизложенным может случиться так, что ваш код в приложении тянет неправильный тип сообщения или вы отправляете неправильный тип сообщения. Например, вы можете использовать один, другой или оба этих ключа сообщения в полезной нагрузке сообщения FCM (ранее известной как GCM): data или notification.

{
    "pn_gcm" : {
        "notification": {
            "title":"Portugal vs. Denmark",
            "body":"great match!"
        },
        "data" : {
            "body" : "great match!",
            "room" : "PortugalVSDenmark"
        }
    }
}

Вам нужен только data или notification (возможно, оба в зависимости от вашего варианта использования), но имеет значение, если вы отправляете только data, потому что ваш код явно отвечает за отображение push-уведомления, тогда как notification будет автоматически отображаться Android.

...