Я начинаю создавать сервис на Rust, который публикует сообщения Firebase, и планирую использовать крейт fcm (https://docs.rs/fcm/latest/fcm/).
Я не понимаю, что такое регистрационный идентификатор? Я не вижу этого в облачной консоли.
Спасибо за вашу помощь
let client = fcm::Client::new();
let mut map = HashMap::new();
map.insert("message", "Howdy!");
let mut builder = fcm::MessageBuilder::new("<Registration ID>", "<registration id>"); **// What is the registration id?**
builder.data(&map);
let response = client.send(builder.finalize()).await?;
println!("Sent: {:?}", response);

Это массив регистрационных токенов. И вы получите токен, позвонив FirebaseInstanceId.getInstance().getToken() или Firebase.messaging.token
В своем коде Rust замените <Registration ID> фактическим регистрационным токеном, полученным из вашего клиентского приложения.
конфигурация с узла: fcmMessengerSettings: { "type": "service_account", "project_id": "project_id", "private_key_id": "private_key_id", "private_key": "private_key", "client_email": "client_email", "client_id": "client_id", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "cert_url", "universe_domain": "googleapis.com" }
Используемый вами ящик fcm использует устаревший API, поддержка которого будет прекращена к концу следующего месяца.
Спасибо @Jack! Я получаю несанкционированную ошибку от fcm sdk в Rust. Я могу успешно публиковать с Node. В Node я передаю в Firebase немного больше информации, но в клиенте fcm он запрашивает только ключ API и ключ регистрации. Я не вижу способа передать в Rust project_id, client_id и т. д. Разве это не требуется? Есть идеи, почему я получаю несанкционированную ошибку?