В этом примере токен отправляется в сообщении, а не в уведомлении. Уведомление также является частью сообщения.
Сообщение отправляется на сервер FCM, где с помощью токена он узнает, кому направлено уведомление.
Насчет включения токена в уведомление я бы этого не делал.
Кроме того, мобильное устройство уже имеет маркер, который был отправлен ему, когда устройство зарегистрировано в FCM.
И если устройство не зарегистрировано по какой-либо причине, например, при деинсталляции, то даже если вы добавите токен в уведомление, оно не достигнет устройства.
РЕДАКТИРОВАТЬ I
Вы не сможете таким образом добавить токен в уведомление (как дополнительный атрибут).
Посмотрите, как сообщение json
должно быть сформировано в документации fcm. Если есть место, которое вы можете установить (что я не рекомендую делать), это часть data
.
Причина, по которой его не включать, заключается в том, что для этого нет причин:
Токен не управляется вашим приложением, он управляется сервером FCM. Вам просто нужно позаботиться об обновлении вашего сервера при изменении токена, и в этом случае API FCM сообщает об этом вашему приложению, вызывая обратный вызов в приложении ( onTokenRefresh () ).
Когда вы делаете это, вы сохраняете копию токена в общих настройках.
После последнего пункта приложение уже имеет токен. Отправляя его в каждом уведомлении, если оно попадает на мобильное устройство, это потому, что оно все еще действует, поэтому оно уже есть в общих настройках.
С другой стороны, если токен недействителен, сообщение не будет получено, и приложение никогда не узнает об этом. Все вернется на круги своя, когда сервер FCM предоставит новый токен приложению. В этом случае приложение уведомляется с помощью обратного вызова, и ваше приложение заменяет токен в общих настройках и обновляет ваш сервер.