0

我试图将react-native-firebase集成到一个简单的应用程序。我遵循这里提到的步骤http://invertase.io/react-native-firebase/#/installation-ios?id=_11-initialisation。我配置了一切,运行应用程序,但是当我从上面提到的错误消息FCM应用崩溃得到通知,并将其在RNFirebaseMessaging.m行号406, 的代码看起来像这样响应本机应用程序崩溃收到错误消息“没有completionHandlerId完成处理程序:<Id>”

RCT_EXPORT_METHOD(finishRemoteNotification: (NSString *)completionHandlerId fetchResult:(UIBackgroundFetchResult)result) { 
    RCTRemoteNotificationCallback completionHandler = self.notificationCallbacks[completionHandlerId]; 
    if (!completionHandler) { 
     RCTLogError(@"There is no completion handler with completionHandlerId: %@", completionHandlerId); 
     return; 
    } 
    completionHandler(result); 
    [self.notificationCallbacks removeObjectForKey:completionHandlerId]; 
} 

我做打印情况completionHandler字典在调用此方法之前具有数据,但此方法称为completionHandler时为零。 有没有人遇到过同样的问题?

我正在使用反应原生版本0.47.0和react-native-firebase 2.0.5 PS:应用程序每次收到远程通知时崩溃。

+0

我可以建议在github上回购了RNFirebase,开心那边看看它做的问题。 – Salakar

回答

1

书面here

的问题是,你可能订阅2(或更多)的onMessage听众。

当您调用onMessage时,它将返回取消订阅方法,您可以稍后调用,如果需要,然后再次订阅后。

而且,他们目前正在Messaging/FCM overhaul

// subscribe 
 
const unsubscribe = firebase.messaging().onMessage((url) => { 
 
    // ... 
 
}); 
 

 
// unsubscribe 
 
unsubscribe();

相关问题