[ios] Centralise event sending to ensure all events validate bridge present before sending
This commit is contained in:
parent
ff8a8676d6
commit
2b2f3ce594
@ -26,6 +26,7 @@
|
||||
839D91741EF3E20B0077C7C8 /* RNFirebaseMessaging.m in Sources */ = {isa = PBXBuildFile; fileRef = 839D91651EF3E20A0077C7C8 /* RNFirebaseMessaging.m */; };
|
||||
839D91751EF3E20B0077C7C8 /* RNFirebasePerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = 839D91681EF3E20A0077C7C8 /* RNFirebasePerformance.m */; };
|
||||
839D91761EF3E20B0077C7C8 /* RNFirebaseStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 839D916B1EF3E20A0077C7C8 /* RNFirebaseStorage.m */; };
|
||||
83C3EEEE1FA1EACC00B64D3C /* RNFirebaseUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C3EEEC1FA1EACC00B64D3C /* RNFirebaseUtil.m */; };
|
||||
D950369E1D19C77400F7094D /* RNFirebase.m in Sources */ = {isa = PBXBuildFile; fileRef = D950369D1D19C77400F7094D /* RNFirebase.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -82,6 +83,8 @@
|
||||
839D916A1EF3E20A0077C7C8 /* RNFirebaseStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNFirebaseStorage.h; sourceTree = "<group>"; };
|
||||
839D916B1EF3E20A0077C7C8 /* RNFirebaseStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNFirebaseStorage.m; sourceTree = "<group>"; };
|
||||
839D91771EF3E22F0077C7C8 /* RNFirebaseEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNFirebaseEvents.h; path = RNFirebase/RNFirebaseEvents.h; sourceTree = "<group>"; };
|
||||
83C3EEEC1FA1EACC00B64D3C /* RNFirebaseUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNFirebaseUtil.m; path = RNFirebase/RNFirebaseUtil.m; sourceTree = "<group>"; };
|
||||
83C3EEED1FA1EACC00B64D3C /* RNFirebaseUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNFirebaseUtil.h; path = RNFirebase/RNFirebaseUtil.h; sourceTree = "<group>"; };
|
||||
D950369C1D19C77400F7094D /* RNFirebase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNFirebase.h; path = RNFirebase/RNFirebase.h; sourceTree = "<group>"; };
|
||||
D950369D1D19C77400F7094D /* RNFirebase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNFirebase.m; path = RNFirebase/RNFirebase.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@ -121,6 +124,8 @@
|
||||
D950369C1D19C77400F7094D /* RNFirebase.h */,
|
||||
D950369D1D19C77400F7094D /* RNFirebase.m */,
|
||||
839D91771EF3E22F0077C7C8 /* RNFirebaseEvents.h */,
|
||||
83C3EEED1FA1EACC00B64D3C /* RNFirebaseUtil.h */,
|
||||
83C3EEEC1FA1EACC00B64D3C /* RNFirebaseUtil.m */,
|
||||
134814211AA4EA7D00B7C361 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
@ -312,6 +317,7 @@
|
||||
D950369E1D19C77400F7094D /* RNFirebase.m in Sources */,
|
||||
839D91731EF3E20B0077C7C8 /* RNFirebaseDatabase.m in Sources */,
|
||||
8323CF071F6FBD870071420B /* NativeExpressComponent.m in Sources */,
|
||||
83C3EEEE1FA1EACC00B64D3C /* RNFirebaseUtil.m in Sources */,
|
||||
839D91721EF3E20B0077C7C8 /* RNFirebaseCrash.m in Sources */,
|
||||
839D91741EF3E20B0077C7C8 /* RNFirebaseMessaging.m in Sources */,
|
||||
839D91751EF3E20B0077C7C8 /* RNFirebasePerformance.m in Sources */,
|
||||
|
14
ios/RNFirebase/RNFirebaseUtil.h
Normal file
14
ios/RNFirebase/RNFirebaseUtil.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifndef RNFirebaseUtil_h
|
||||
#define RNFirebaseUtil_h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <React/RCTEventEmitter.h>
|
||||
|
||||
@interface RNFirebaseUtil : NSObject
|
||||
|
||||
+ (void)sendJSEvent:(RCTEventEmitter *)emitter name:(NSString *)name body:(NSDictionary *)body;
|
||||
+ (void)sendJSEventWithAppName:(RCTEventEmitter *)emitter appName:(NSString *)appName name:(NSString *)name body:(NSDictionary *)body;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
25
ios/RNFirebase/RNFirebaseUtil.m
Normal file
25
ios/RNFirebase/RNFirebaseUtil.m
Normal file
@ -0,0 +1,25 @@
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@implementation RNFirebaseUtil
|
||||
|
||||
+ (void)sendJSEvent:(RCTEventEmitter *)emitter name:(NSString *)name body:(NSDictionary *)body {
|
||||
@try {
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (emitter.bridge) {
|
||||
[emitter sendEventWithName:name body:body];
|
||||
}
|
||||
} @catch (NSException *error) {
|
||||
NSLog(@"An error occurred in sendJSEvent: %@", [error debugDescription]);
|
||||
}
|
||||
}
|
||||
|
||||
+ (void)sendJSEventWithAppName:(RCTEventEmitter *)emitter appName:(NSString *)appName name:(NSString *)name body:(NSDictionary *)body {
|
||||
// Add the appName to the body
|
||||
NSMutableDictionary *newBody = [body mutableCopy];
|
||||
newBody[@"appName"] = appName;
|
||||
|
||||
[RNFirebaseUtil sendJSEvent:emitter name:name body:newBody];
|
||||
}
|
||||
|
||||
@end
|
@ -1,4 +1,5 @@
|
||||
#import "RNFirebaseAdMobInterstitial.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@implementation RNFirebaseAdMobInterstitial
|
||||
|
||||
@ -31,7 +32,7 @@
|
||||
}
|
||||
|
||||
- (void)sendJSEvent:(NSString *)type payload:(NSDictionary *)payload {
|
||||
[_delegate sendEventWithName:ADMOB_INTERSTITIAL_EVENT body:@{
|
||||
[RNFirebaseUtil sendJSEvent:self.delegate name:ADMOB_INTERSTITIAL_EVENT body:@{
|
||||
@"type": type,
|
||||
@"adUnit": _adUnitID,
|
||||
@"payload": payload
|
||||
|
@ -1,4 +1,5 @@
|
||||
#import "RNFirebaseAdMobRewardedVideo.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@implementation RNFirebaseAdMobRewardedVideo
|
||||
|
||||
@ -31,7 +32,7 @@
|
||||
}
|
||||
|
||||
- (void)sendJSEvent:(NSString *)type payload:(NSDictionary *)payload {
|
||||
[_delegate sendEventWithName:ADMOB_REWARDED_VIDEO_EVENT body:@{
|
||||
[RNFirebaseUtil sendJSEvent:self.delegate name:ADMOB_REWARDED_VIDEO_EVENT body:@{
|
||||
@"type": type,
|
||||
@"adUnit": _adUnitID,
|
||||
@"payload": payload
|
||||
@ -73,4 +74,4 @@
|
||||
|
||||
#endif
|
||||
|
||||
@end
|
||||
@end
|
||||
|
@ -1,5 +1,6 @@
|
||||
#import "RNFirebaseAuth.h"
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
#import "RCTDefines.h"
|
||||
|
||||
|
||||
@ -28,9 +29,9 @@ RCT_EXPORT_METHOD(addAuthStateListener:
|
||||
FIRApp *firApp = [FIRApp appNamed:appName];
|
||||
FIRAuthStateDidChangeListenerHandle newListenerHandle = [[FIRAuth authWithApp:firApp] addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
|
||||
if (user != nil) {
|
||||
[self sendJSEventWithAppName:appName title:AUTH_CHANGED_EVENT props:[@{@"authenticated": @(true), @"user": [self firebaseUserToDict:user]} mutableCopy]];
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:AUTH_CHANGED_EVENT body:@{@"authenticated": @(true), @"user": [self firebaseUserToDict:user]}];
|
||||
} else {
|
||||
[self sendJSEventWithAppName:appName title:AUTH_CHANGED_EVENT props:[@{@"authenticated": @(false)} mutableCopy]];
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:AUTH_CHANGED_EVENT body:@{@"authenticated": @(false)}];
|
||||
}
|
||||
}];
|
||||
|
||||
@ -63,9 +64,9 @@ RCT_EXPORT_METHOD(addIdTokenListener:
|
||||
FIRApp *firApp = [FIRApp appNamed:appName];
|
||||
FIRIDTokenDidChangeListenerHandle newListenerHandle = [[FIRAuth authWithApp:firApp] addIDTokenDidChangeListener:^(FIRAuth * _Nonnull auth, FIRUser * _Nullable user) {
|
||||
if (user != nil) {
|
||||
[self sendJSEventWithAppName:appName title:AUTH_ID_TOKEN_CHANGED_EVENT props:[@{@"authenticated": @(true), @"user": [self firebaseUserToDict:user]} mutableCopy]];
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:AUTH_ID_TOKEN_CHANGED_EVENT body:@{@"authenticated": @(true), @"user": [self firebaseUserToDict:user]}];
|
||||
} else {
|
||||
[self sendJSEventWithAppName:appName title:AUTH_ID_TOKEN_CHANGED_EVENT props:[@{@"authenticated": @(false)} mutableCopy]];
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:AUTH_ID_TOKEN_CHANGED_EVENT body:@{@"authenticated": @(false)}];
|
||||
}
|
||||
}];
|
||||
|
||||
@ -686,21 +687,21 @@ RCT_EXPORT_METHOD(verifyPhoneNumber:(NSString *) appName
|
||||
[[FIRPhoneAuthProvider providerWithAuth:[FIRAuth authWithApp:firApp]] verifyPhoneNumber:phoneNumber UIDelegate:nil completion:^(NSString * _Nullable verificationID, NSError * _Nullable error) {
|
||||
if (error) {
|
||||
NSDictionary * jsError = [self getJSError:(error)];
|
||||
NSMutableDictionary * props = [@{
|
||||
@"type": @"onVerificationFailed",
|
||||
@"requestKey":requestKey,
|
||||
@"state": @{@"error": jsError},
|
||||
} mutableCopy];
|
||||
[self sendJSEventWithAppName:appName title:PHONE_AUTH_STATE_CHANGED_EVENT props: props];
|
||||
NSDictionary *body = @{
|
||||
@"type": @"onVerificationFailed",
|
||||
@"requestKey":requestKey,
|
||||
@"state": @{@"error": jsError},
|
||||
};
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:PHONE_AUTH_STATE_CHANGED_EVENT body:body];
|
||||
} else {
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
[defaults setObject:verificationID forKey:@"authVerificationID"];
|
||||
NSMutableDictionary * props = [@{
|
||||
@"type": @"onCodeSent",
|
||||
@"requestKey":requestKey,
|
||||
@"state": @{@"verificationId": verificationID},
|
||||
} mutableCopy];
|
||||
[self sendJSEventWithAppName:appName title:PHONE_AUTH_STATE_CHANGED_EVENT props: props];
|
||||
NSDictionary *body = @{
|
||||
@"type": @"onCodeSent",
|
||||
@"requestKey":requestKey,
|
||||
@"state": @{@"verificationId": verificationID},
|
||||
};
|
||||
[RNFirebaseUtil sendJSEventWithAppName:self appName:appName name:PHONE_AUTH_STATE_CHANGED_EVENT body:body];
|
||||
}
|
||||
}];
|
||||
}
|
||||
@ -1087,31 +1088,6 @@ RCT_EXPORT_METHOD(fetchProvidersForEmail:
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
wrapper for sendEventWithName for auth events
|
||||
|
||||
@param title sendEventWithName
|
||||
@param props <#props description#>
|
||||
*/
|
||||
- (void)sendJSEvent:(NSString *)title props:(NSDictionary *)props {
|
||||
@try {
|
||||
[self sendEventWithName:title body:props];
|
||||
} @catch (NSException *error) {
|
||||
NSLog(@"An error occurred in sendJSEvent: %@", [error debugDescription]);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)sendJSEventWithAppName:(NSString *)appName title:(NSString *)title props:(NSMutableDictionary *)props {
|
||||
props[@"appName"] = appName;
|
||||
|
||||
@try {
|
||||
[self sendEventWithName:title body:props];
|
||||
} @catch (NSException *error) {
|
||||
NSLog(@"An error occurred in sendJSEvent: %@", [error debugDescription]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Converts an array of FIRUserInfo instances into the correct format to match the web sdk
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
#import <Firebase.h>
|
||||
#import "RNFirebaseDatabaseReference.h"
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@implementation RNFirebaseDatabase
|
||||
RCT_EXPORT_MODULE();
|
||||
@ -87,11 +88,7 @@ RCT_EXPORT_METHOD(transactionStart:(NSString *) appName
|
||||
dispatch_barrier_async(_transactionQueue, ^{
|
||||
[_transactions setValue:transactionState forKey:transactionId];
|
||||
NSDictionary *updateMap = [self createTransactionUpdateMap:appName transactionId:transactionId updatesData:currentData];
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (self.bridge) {
|
||||
[self sendEventWithName:DATABASE_TRANSACTION_EVENT body:updateMap];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self name:DATABASE_TRANSACTION_EVENT body:updateMap];
|
||||
});
|
||||
|
||||
// wait for the js event handler to call tryCommitTransaction
|
||||
@ -118,11 +115,7 @@ RCT_EXPORT_METHOD(transactionStart:(NSString *) appName
|
||||
andCompletionBlock:
|
||||
^(NSError *_Nullable databaseError, BOOL committed, FIRDataSnapshot *_Nullable snapshot) {
|
||||
NSDictionary *resultMap = [self createTransactionResultMap:appName transactionId:transactionId error:databaseError committed:committed snapshot:snapshot];
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (self.bridge) {
|
||||
[self sendEventWithName:DATABASE_TRANSACTION_EVENT body:resultMap];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self name:DATABASE_TRANSACTION_EVENT body:resultMap];
|
||||
}
|
||||
withLocalEvents:
|
||||
applyLocally];
|
||||
@ -286,9 +279,9 @@ RCT_EXPORT_METHOD(off:(NSString *) key
|
||||
NSString *key = props[@"key"];
|
||||
NSString *path = props[@"path"];
|
||||
NSDictionary *modifiers = props[@"modifiers"];
|
||||
|
||||
|
||||
RNFirebaseDatabaseReference *ref = _dbReferences[key];
|
||||
|
||||
|
||||
if (ref == nil) {
|
||||
ref = [[RNFirebaseDatabaseReference alloc] initWithPathAndModifiers:self app:appName key:key refPath:path modifiers:modifiers];
|
||||
_dbReferences[key] = ref;
|
||||
|
@ -6,6 +6,7 @@
|
||||
#import <FirebaseDatabase/FIRDatabase.h>
|
||||
#import "RNFirebaseDatabase.h"
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
#import <React/RCTEventEmitter.h>
|
||||
|
||||
@interface RNFirebaseDatabaseReference : NSObject
|
||||
|
@ -71,11 +71,7 @@
|
||||
[event setValue:eventType forKey:@"eventType"];
|
||||
[event setValue:registration forKey:@"registration"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter.bridge) {
|
||||
[_emitter sendEventWithName:DATABASE_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:DATABASE_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
- (void)handleDatabaseError:(NSDictionary *) registration
|
||||
@ -85,11 +81,7 @@
|
||||
[event setValue:[RNFirebaseDatabase getJSError:error] forKey:@"error"];
|
||||
[event setValue:registration forKey:@"registration"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter) {
|
||||
[_emitter sendEventWithName:DATABASE_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:DATABASE_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
+ (NSDictionary *)snapshotToDictionary:(FIRDataSnapshot *) dataSnapshot
|
||||
|
@ -9,6 +9,7 @@
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseFirestore.h"
|
||||
#import "RNFirebaseFirestoreDocumentReference.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@interface RNFirebaseFirestoreCollectionReference : NSObject
|
||||
@property RCTEventEmitter *emitter;
|
||||
|
@ -151,11 +151,7 @@ queryListenOptions:(NSDictionary *) queryListenOptions {
|
||||
[event setValue:listenerId forKey:@"listenerId"];
|
||||
[event setValue:[RNFirebaseFirestore getJSError:error] forKey:@"error"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter.bridge) {
|
||||
[_emitter sendEventWithName:FIRESTORE_COLLECTION_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:FIRESTORE_COLLECTION_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
- (void)handleQuerySnapshotEvent:(NSString *)listenerId
|
||||
@ -166,11 +162,7 @@ queryListenOptions:(NSDictionary *) queryListenOptions {
|
||||
[event setValue:listenerId forKey:@"listenerId"];
|
||||
[event setValue:[RNFirebaseFirestoreCollectionReference snapshotToDictionary:querySnapshot] forKey:@"querySnapshot"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter.bridge) {
|
||||
[_emitter sendEventWithName:FIRESTORE_COLLECTION_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:FIRESTORE_COLLECTION_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
+ (NSDictionary *)snapshotToDictionary:(FIRQuerySnapshot *)querySnapshot {
|
||||
|
@ -9,6 +9,7 @@
|
||||
#import <React/RCTEventEmitter.h>
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseFirestore.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
|
||||
@interface RNFirebaseFirestoreDocumentReference : NSObject
|
||||
@property RCTEventEmitter *emitter;
|
||||
|
@ -136,11 +136,7 @@ static NSMutableDictionary *_listeners;
|
||||
[event setValue:listenerId forKey:@"listenerId"];
|
||||
[event setValue:[RNFirebaseFirestore getJSError:error] forKey:@"error"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter.bridge) {
|
||||
[_emitter sendEventWithName:FIRESTORE_DOCUMENT_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:FIRESTORE_DOCUMENT_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
- (void)handleDocumentSnapshotEvent:(NSString *)listenerId
|
||||
@ -151,11 +147,7 @@ static NSMutableDictionary *_listeners;
|
||||
[event setValue:listenerId forKey:@"listenerId"];
|
||||
[event setValue:[RNFirebaseFirestoreDocumentReference snapshotToDictionary:documentSnapshot] forKey:@"documentSnapshot"];
|
||||
|
||||
// TODO: Temporary fix for https://github.com/invertase/react-native-firebase/issues/233
|
||||
// until a better solution comes around
|
||||
if (_emitter.bridge) {
|
||||
[_emitter sendEventWithName:FIRESTORE_DOCUMENT_SYNC_EVENT body:event];
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self.emitter name:FIRESTORE_DOCUMENT_SYNC_EVENT body:event];
|
||||
}
|
||||
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
@import UserNotifications;
|
||||
#if __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
#import <FirebaseMessaging/FirebaseMessaging.h>
|
||||
#import <FirebaseInstanceID/FIRInstanceID.h>
|
||||
|
||||
@ -217,7 +218,7 @@ RCT_EXPORT_MODULE()
|
||||
data[@"_completionHandlerId"] = completionHandlerId;
|
||||
}
|
||||
|
||||
[self sendEventWithName:MESSAGING_NOTIFICATION_RECEIVED body:data];
|
||||
[RNFirebaseUtil sendJSEvent:self name:MESSAGING_NOTIFICATION_RECEIVED body:data];
|
||||
}
|
||||
|
||||
|
||||
@ -234,13 +235,13 @@ RCT_EXPORT_MODULE()
|
||||
// ** Start FIRMessagingDelegate methods **
|
||||
// Handle data messages in the background
|
||||
- (void)applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage {
|
||||
[self sendEventWithName:MESSAGING_NOTIFICATION_RECEIVED body:[remoteMessage appData]];
|
||||
[RNFirebaseUtil sendJSEvent:self name:MESSAGING_NOTIFICATION_RECEIVED body:[remoteMessage appData]];
|
||||
}
|
||||
|
||||
// Listen for token refreshes
|
||||
- (void)messaging:(nonnull FIRMessaging *)messaging didRefreshRegistrationToken:(nonnull NSString *)fcmToken {
|
||||
NSLog(@"FCM registration token: %@", fcmToken);
|
||||
[self sendEventWithName:MESSAGING_TOKEN_REFRESHED body:fcmToken];
|
||||
[RNFirebaseUtil sendJSEvent:self name:MESSAGING_TOKEN_REFRESHED body:fcmToken];
|
||||
}
|
||||
// ** End FIRMessagingDelegate methods **
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#if __has_include(<FirebaseStorage/FIRStorage.h>)
|
||||
|
||||
#import "RNFirebaseEvents.h"
|
||||
#import "RNFirebaseUtil.h"
|
||||
#import <MobileCoreServices/MobileCoreServices.h>
|
||||
#import <Photos/Photos.h>
|
||||
#import <Firebase.h>
|
||||
@ -392,12 +393,7 @@ RCT_EXPORT_METHOD(putFile:(NSString *) appName
|
||||
}
|
||||
|
||||
- (void)sendJSEvent:(NSString *)appName type:(NSString *)type path:(NSString *)path title:(NSString *)title props:(NSDictionary *)props {
|
||||
@try {
|
||||
[self sendEventWithName:type body:@{@"eventName": title, @"appName": appName, @"path": path, @"body": props}];
|
||||
} @catch (NSException *err) {
|
||||
NSLog(@"An error occurred in sendJSEvent: %@", [err debugDescription]);
|
||||
NSLog(@"Tried to send: %@ with %@", title, props);
|
||||
}
|
||||
[RNFirebaseUtil sendJSEvent:self name:type body:@{@"eventName": title, @"appName": appName, @"path": path, @"body": props}];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -150,7 +150,7 @@ PODS:
|
||||
- React/Core
|
||||
- React/fishhook
|
||||
- React/RCTBlob
|
||||
- RNFirebase (3.0.0):
|
||||
- RNFirebase (3.0.5):
|
||||
- React
|
||||
- yoga (0.49.1.React)
|
||||
|
||||
@ -208,7 +208,7 @@ SPEC CHECKSUMS:
|
||||
nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3
|
||||
Protobuf: 03eef2ee0b674770735cf79d9c4d3659cf6908e8
|
||||
React: cf892fb84b7d06bf5fea7f328e554c6dcabe85ee
|
||||
RNFirebase: 901a473c68fcbaa28125c56a911923f2fbe5d61b
|
||||
RNFirebase: 7c86b4efd2860700048d927f34db237fbce1d5fc
|
||||
yoga: 3abf02d6d9aeeb139b4c930eb1367feae690a35a
|
||||
|
||||
PODFILE CHECKSUM: b5674be55653f5dda937c8b794d0479900643d45
|
||||
|
Loading…
x
Reference in New Issue
Block a user