У меня есть задача с сельдереем, которая отправляет сообщения моему клиенту через firebase-admin. В процессе разработки я использовал такие уведомления, и все работало нормально (мое приложение React-Native получало сообщения как на переднем плане, так и в фоновом режиме, как и ожидалось):
message = messaging.Message(
data={
'text': msg.text,
},
token=registration_token,
)
response = messaging.send(message)
Но после выпуска мое Android устройство отказался получать сообщение в фоновом режиме, если его приоритет не установлен на «высокий». И, очевидно, я не могу просто добавить ключ «приоритет» к моей старой простой конфигурации (я попробовал и получил ValueError: Message. android должен быть экземпляром класса Android .config). Итак, я нашел пример того, как установить приоритет в firebase-admin docs :
def android_message():
# [START android_message]
message = messaging.Message(
android=messaging.AndroidConfig(
ttl=datetime.timedelta(seconds=3600),
priority='normal',
notification=messaging.AndroidNotification(
title='$GOOG up 1.43% on the day',
body='$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.',
icon='stock_ticker_update',
color='#f45342'
),
),
topic='industry-tech',
)
# [END android_message]
return message
Теперь мой вопрос: как мне установить регистрационный токен в этой более сложной конфигурации сообщения? Токен сейчас куда-то уходит? Думаю, мне здесь не хватает чего-то очень очевидного, поэтому буду благодарен за любую помощь и подсказки.