简体   繁体   中英

Cannot receive FCM (Push Notification iOS)

I make app by React Native . Few days ago,I was able to receive FCM . But now I cannot.

Client app permissions notification, I set Xcode(capability),firebase and Apple Developer(APNs setting).

And console.log tells me success.

But I cannot receive notification. Although few days ago I could.

Is this error in firebase??

I don't know cause, please help me m(_ _)m

=======environment==========

Xcode Version 11.3 "react-native-firebase": " ^5.6.0 " "react-native": " 0.61.5 " "firebase-admin": " ^8.9.0 "

=======addition========

Regenerating APNs and setting, I could receive notification. But next day, I couldn't receive notification.

APNs is valid in only one day???

Most probably, in your Firebase console number of potential users are eligible for this campaign is 0 currently.

"Estimate based on approximately 0 users who are registered to receive notifications. Some targeted users will not see the message due to device inactivity. For recurring campaigns, estimate is for initial send only."

在此处输入图片说明

Possible solution:

1) If that's the case (0 users are registered)

--> Check if the fcmToken is received.

getFcmToken = async () => {
 const fcmToken = await firebase.messaging().getToken();
 if (fcmToken) {
  console.log(fcmToken);
  this.showAlert(‘Your Firebase Token is:’, fcmToken);
 } else {
  this.showAlert(‘Failed’, ‘No token received’);
 }
}

2) If the number is not zero

--> Most probably your app is opened in foreground and the notification is not displayed.

--> Try to lock your iPhone screen and the notification will appear, else try to handle it which the app is in foreground

messageListener = async () => {
 this.notificationListener = firebase.notifications().onNotification((notification) => {
   const { title, body } = notification;
   this.showAlert(title, body);
 });

 this.notificationOpenedListener = firebase.notifications().onNotificationOpened((notificationOpen) => {
   const { title, body } = notificationOpen.notification;
   this.showAlert(title, body);
 });

 const notificationOpen = await firebase.notifications().getInitialNotification();
 if (notificationOpen) {
   const { title, body } = notificationOpen.notification;
   this.showAlert(title, body);
 }

 this.messageListener = firebase.messaging().onMessage((message) => {
  console.log(JSON.stringify(message));
 });
}

3) Check if the cert has expired (unlikely) since you mentioned that it's still working a few days back.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM