1

У меня есть проблемы с ТСМ, как описано в Firebase команды:Firebase click_action не работает

click_action: Указывает действие, связанное с пользователем нажмите на уведомление. Когда это установлено, действие с соответствующим фильтром намерения запускается, когда пользователь щелкает уведомление.

Я знаю, что это обсуждалось, но, согласно моему пониманию, это должно быть возможно с консоли firebase по тому, что я понимаю из документации. Он не говорит, что для сообщений данных он четко говорит о своем поле для уведомлений-сообщений, и, насколько я понимаю, это те, которые посылает Firebase Console.

Может кто-нибудь это разъяснить. Спасибо!

ответ

3

click_action В настоящее время недоступна консоль Firebase.

Вы правильно говорите, что консоль отправляет уведомления, но не позволяет вам установить поле click_action сообщения уведомления. Чтобы использовать click_action, вам необходимо отправить уведомление с помощью REST API, где доступны все поля уведомлений.

Обратите внимание, что пользовательские данные, которые добавляются через консоль, становятся парами ключ/значение в полезной нагрузке данных, которая будет сопровождать уведомление. Пример структуры:

{ 
    "to": <topic>, 
    "notification": { 
    <notification payload> 
    }, 
    "data": { 
    <data payload, console custom data key/value pairs go here> 
    } 
} 

Так click_action является частью полезной нагрузки уведомления, но вы должны использовать REST API, чтобы использовать его в данный момент. Я понимаю, что это непонятно, я рассмотрю возможные обновления док-кода, чтобы сделать это более понятным.

2

Консоль пока не поддерживает click_action. Вы либо должны использовать API для запуска уведомления, либо попытаться передать параметр click_action через поля пользовательских данных в расширенном разделе при составлении уведомления в Firebase Console (я пока не пробовал, но мог бы работать).

+0

Я попытался отправить этот параметр через пользовательские данные, но не буду принимать во внимание фильтры-намерения из манифеста ... все, что я мог сделать, это получить намерение в активности запуска и перенаправить с использованием этого параметра в соответствующей деятельности ... но его плохое решение – Dieguinho

+0

Но это лучшее, что вы получите от консоли. Консоль далека от совершенства и имеет много недостающих функций прямо сейчас – crysxd

0

Вы можете использовать следующий фрагмент Rest службы отправить нажимной сообщение от RestClient (Почтальон)

Method : POST 
URL: https://fcm.googleapis.com/fcm/send 
Header: 
Authorization : key=<FCM SERVER LEGACY KEY> 
Content-Type: application/json 

Body: 

{ 

     "notification": { 
      "title": "Firebase notification", 
      "message": "I am firebase notification. you can customise me. enjoy", 
      "click_action": "OPEN_ACTIVITY", 
      "sound":"default", 

     } 
    , 
    "to": "<Your device FCM Token - Getting it from the FirebaseInstanceIdService>" 
} 

В вашем файле манифеста - Включите Intent фильтр, чтобы соответствовать значение Click_action: Ex:

<activity 
      android:name=".ui.NotificationActivity" 
      > 

     <intent-filter> 
      <action android:name="OPEN_ACTIVITY" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
     </activity> 
Смежные вопросы