Я работаю над внедрением push-уведомлений, которые появляются при смене документа пожарного депо. Я использую модуль response-native-firebase. Моя облачная функция Google прослушивает изменения в firestore, а затем отправляет сообщения через firebase-admin.
Справка Google гласит, что вы можете указать одно устройство для сообщения с:
// This registration token comes from the client FCM SDKs.
var registrationToken = 'YOUR_REGISTRATION_TOKEN';
var message = {
data: {
score: '850',
time: '2:45'
},
token: registrationToken
};
// Send a message to the device corresponding to the provided
// registration token.
admin.messaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});
на стороне клиента в моем приложении-ответе. Я получаю токен, используя react-native-firebase
:
function getToken() {
let fcmToken = await AsyncStorage.getItem("fcmToken");
if (!fcmToken) {
fcmToken = await firebase.messaging().getToken();
if (fcmToken) {
await AsyncStorage.setItem("fcmToken", fcmToken);
}
}
}
Должен ли я хранить токен облачного обмена сообщениями Google где-нибудь, кроме асинхронного хранилища, или есть ли способ получить к нему доступ как есть, в моей функции облака Google? Похоже, мне следует хранить токен аутентификации внутри хранилища и обращаться к нему с помощью облачных функций. это лучший способ сделать это?