FCM уведомление Tap Tap не запускает события в Rayact Native (за исключением случаев, когда отправляется через консоль FAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 FCM уведомление Tap Tap не запускает события в Rayact Native (за исключением случаев, когда отправляется через консоль F

Сообщение Anonymous »

уведомление FCM Нажмите Не запускать события в Native Native (за исключением случаев, когда отправляется через консоль FCM)
Я боролся с этой проблемой в течение прошлой недели и не смог найти исправление. /> Проблема: < /h3>

Когда я отправляю уведомления FCM из моего бэкэнда, они получены на устройстве, а постукивание их открывает приложение. Триггер. Слушатели событий правильно зарегистрированы. < /li>
Проверяли, сохраняется ли вопрос как на переднем плане, так и на фоновом плане. Любая помощь ценится! < /P>
public static async Task SendNotificationToFCM(string fcmToken, string title, string message, string imageUrl, string amazonAffiliateUrl)
{

try
{
Dictionary data = new Dictionary
{
{ "Why mobile development is hard?", "hello world!" },
};

var fcmMessage = new Message()
{
Notification = new Notification()
{
Title = title,
Body = message,
ImageUrl = imageUrl,
},
Data = data,
Token = fcmToken,
Android = new AndroidConfig()
{
Notification = new AndroidNotification()
{
Title = title,
Body = message,
ImageUrl = imageUrl,
},
// Data = data,

Priority = Priority.High // Set high priority
}
};

string serializedMsg = JsonConvert.SerializeObject(fcmMessage);
if (FirebaseApp.DefaultInstance == null)
{
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile(firebase-config.json")
});
}

// Send a message to the device corresponding to the provided
// registration token.
string response = await FirebaseMessaging.DefaultInstance.SendAsync(fcmMessage);
// Response is a message ID string.
Console.WriteLine("Successfully sent message: " + response);
return true;
}
catch (Exception ex)
{
return false;
}

}

< /code>
Теперь нативный код React < /p>
useEffect(() => {
const handleNotification = async (remoteMessage) => {
console.log("🔔 FCM Message Received:", remoteMessage);

};

console.log("🚀 Initializing FCM listeners...");

// ✅ Handle FCM notification when the app is opened from a **cold start**
messaging()
.getInitialNotification()
.then((remoteMessage) => {
if (remoteMessage) {
console.log("🔥 Cold Start Notification:", remoteMessage);
handleNotification(remoteMessage);
} else {
console.log("✅ No cold start notification.");
}
})
.catch((error) => console.error("❌ Error fetching initial notification:", error));

// ✅ Handle FCM notification when the app is in the background
const unsubscribe = messaging().onNotificationOpenedApp((remoteMessage) => {
console.log("📤 Notification opened from background:", remoteMessage);
handleNotification(remoteMessage);
});

// ✅ Handle FCM notification when the app is in the foreground
const foregroundUnsubscribe = messaging().onMessage((remoteMessage) => {
console.log("🟢 Foreground notification received:", remoteMessage);
handleNotification(remoteMessage);
});

return () => {
console.log("🛑 Cleaning up FCM listeners...");
unsubscribe();
foregroundUnsubscribe();
};
}, []);


Подробнее здесь: https://stackoverflow.com/questions/794 ... n-sent-via
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»