Как добавить метку аналитики при отправке сообщения с данными через устаревшие протоколы сервера приложений - PullRequest
0 голосов
/ 02 февраля 2020

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

https://firebase.google.com/docs/cloud-messaging/send-message#send -msages using-the-legacy-app-server-protocol

#
# headers = {'content-type': 'application/json', 'Authorization': 'key={}'.format(constants.FCM_AUTHORIZATION_KEY)}
#
# request_data = {'to' : valid_enabled_token, 'data' : {'sync': sync, 'sync_device_count': sync_device_count}}
#
r = requests.post('https://fcm.googleapis.com/fcm/send', headers=headers, json=request_data)

Однако в последнее время мы не можем увидеть ни одного отчета о доставке в консоли Firebase.

Мы заметили, что нам нужно добавить аналитическую метку в соответствии с https://firebase.google.com/docs/cloud-messaging/understand-delivery

Важно. Для отображения всех типов статистики для сообщений с данными требуется метка аналитики.

Однако неясно, как добавить аналитическая метка устаревшим методом.

Кто-нибудь может привести простой пример того, как это сделать? Спасибо.

1 Ответ

1 голос
/ 10 февраля 2020

Как вы уже описали:

Вы можете добавить метку к любому сообщению, отправленному через HTTP v1 API, установив поле fcmOptions.analyticsLabel в объекте сообщения.

Например:

  fcm_options: {
    analytics_label: "test_label"
  }

В вашем случае вам придется добавить analytics_label к fcm_options в вашем request_data, например:

const headers = {
  "content-type": "application/json",
  Authorization: "key={}".format(constants.FCM_AUTHORIZATION_KEY)
};

const request_data = {
  to: valid_enabled_token,
  data: { sync: sync, sync_device_count: sync_device_count },
  fcm_options: {
    analytics_label: "test_label"
  }
};

const r = requests.post(
  "https://fcm.googleapis.com/fcm/send",
  (headers = headers),
  (json = request_data)
);

В качестве альтернативы вы можете использовать поля c AndroidFcmOptions (FCM SDK для Android) или ApnsFcmOptions (FCM SDK для iOS) для добавления analytics_label, как описано выше.

Обновление : Однако кажется, что устаревший протокол HTTP-сервера (пока) не поддерживает analytics_label и / или fcm_options.

С помощью API HTTP v1 метка аналитики может быть установлена ​​при отправке сообщения, чтобы пометить сообщение для аналитических целей

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

Эти данные доступны для всех сообщений с полезной нагрузкой уведомления и всех помеченных сообщений данных. Подробнее о метках см. В разделе Добавление меток аналитики к сообщениям.

См.

...