2017-02-17 7 views
2

Я использую Firebase Cloud Messaging для отправки уведомлений клиентам моего приложения. Клиенты могут быть любой из трех поддерживаемых платформ (ios, android, web).Firebase Cloud Messaging формат click_action является специфичным для платформы?

Я хочу, чтобы пользователь мог нажать на уведомление, чтобы запустить приложение.
Для этого мне нужно указать click_action в уведомлении. Для ios и android, которые кажутся простой строкой. Для Интернета это будет URL.

Как я могу отправить уведомление, которое работает для потенциально смешанного набора устройств?

Должен ли я отделять устройства и отправлять им разные сообщения?

+0

plz ясно объяснить, что вы хотите –

+0

вы хотите отправить все платформы android ios и web –

+0

Уведомления для Интернета получены в firebase-messaging-sw. Я думаю, я мог бы отобразить строку для ios или android на url. Как вы думаете? –

ответ

3

fcm работает на основе идентификатора, созданного устройством, которое отличается от устройства и платформы к платформе и сеансу завитки для разных платформ. Для android разных, для iOS разных и для web разных. Если вы хотите отправить всю платформу вы должны назвать 3 раз метода (СВНА, Android, веб) Whith другой полезной нагрузки или творог сессии для различных платформ иХ посылает в двух КСНА платформе и Android, чтобы сделать две разные функции и вызова одновременно

+0

Обратите внимание, что этот подход затрудняет использование групп устройств и тем в FCM. Вам нужно будет создавать группы и темы для конкретной платформы. – nicoqh

3

Update: Последняя функция была добавлена ​​для FCM, которая дает возможность предоставлять определенные параметры для определенных платформ, называемых Platform Overrides.


Каждая платформа может обрабатывать одно и то же уведомление по-разному в зависимости от вашей полезной нагрузки.

Параметр click_action поддерживается для всех 3 платформ (Android, IOS, Web):

действие, связанное с пользователем нажмите на уведомление.

Каждый имеет разные ноты:

  • Android

    Если указано, деятельность с соответствующим умысел фильтра запускается, когда пользователь нажимает на уведомление.

  • IOS

    Соответствует категории в полезной нагрузке APNs.

  • Web

    Для всех значений URL, требуется безопасный HTTPS.

Примечание для Web не говорит, что вы можете иметь только URL, так как это значение, так что, если это URL, он должен иметь безопасный протокол HTTPS (по соображениям безопасности).

Можно отправить одно уведомление для всех платформ, если вы можете обращаться с ними соответственно и вам нравится. Однако, как и в другом ответе, вам лучше отправлять разные полезные нагрузки в зависимости от платформы.

+0

В своем комментарии к [связанному вопросу] (https://stackoverflow.com/q/48457799/4815718) вы указываете, что 'click_action' не поддерживается. Этот комментарий устарел? –

+0

Игнорировать мой предыдущий комментарий. Теперь я вижу, что этот ответ для старого FCM. Меня смутила ссылка на _Platform Overrides_, в которой описаны параметры протокола протокола FCM v1 HTTP. –