@react-native-firebase/remote-config 25.0.1 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/RNFBRemoteConfig.podspec +7 -6
- package/android/build.gradle +19 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/{ReactNativeFirebaseConfigModule.java → NativeRNFBTurboConfig.java} +53 -40
- package/android/src/reactnative/java/io/invertase/firebase/config/ReactNativeFirebaseConfigPackage.java +1 -1
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboConfigSpec.java +115 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/jni/CMakeLists.txt +36 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/jni/RNFBRemoteConfigTurboModules-generated.cpp +98 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/jni/RNFBRemoteConfigTurboModules.h +31 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/jni/react/renderer/components/RNFBRemoteConfigTurboModules/RNFBRemoteConfigTurboModulesJSI-generated.cpp +110 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/generated/jni/react/renderer/components/RNFBRemoteConfigTurboModules/RNFBRemoteConfigTurboModulesJSI.h +471 -0
- package/dist/module/index.js +499 -5
- package/dist/module/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/index.d.ts +83 -5
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +25 -24
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/types/remote-config.d.ts +24 -3
- package/dist/typescript/lib/types/remote-config.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBConfig/RNFBConfigModule.h +3 -2
- package/ios/RNFBConfig/{RNFBConfigModule.m → RNFBConfigModule.mm} +137 -93
- package/ios/RNFBConfig.xcodeproj/project.pbxproj +8 -8
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBRemoteConfigTurboModules/RNFBRemoteConfigTurboModules-generated.mm +121 -0
- package/ios/generated/RNFBRemoteConfigTurboModules/RNFBRemoteConfigTurboModules.h +172 -0
- package/ios/generated/RNFBRemoteConfigTurboModulesJSI-generated.cpp +110 -0
- package/ios/generated/RNFBRemoteConfigTurboModulesJSI.h +471 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/index.ts +683 -8
- package/lib/types/internal.ts +25 -44
- package/lib/types/remote-config.ts +28 -3
- package/lib/version.ts +1 -1
- package/package.json +23 -5
- package/react-native.config.js +10 -0
- package/specs/NativeRNFBTurboConfig.ts +60 -0
- package/typedoc.json +1 -1
- package/dist/module/modular.js +0 -155
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -400
- package/dist/module/namespaced.js.map +0 -1
- package/dist/module/types/namespaced.js +0 -24
- package/dist/module/types/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -76
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -11
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/dist/typescript/lib/types/namespaced.d.ts +0 -124
- package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
- package/lib/modular.ts +0 -197
- package/lib/namespaced.ts +0 -552
- package/lib/types/namespaced.ts +0 -163
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ConfigUpdateObserver, FetchStatus, RemoteConfig, RemoteConfigSettings, Unsubscribe, Value, ValueSource } from './remote-config';
|
|
2
|
-
import type { FirebaseRemoteConfigTypes } from './namespaced';
|
|
3
2
|
export type ConfigValueSourceInternal = ValueSource;
|
|
4
3
|
export type LastFetchStatusInternal = FetchStatus;
|
|
5
|
-
export type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export type OnConfigUpdatedListenerCallback = (event?: {
|
|
5
|
+
updatedKeys: string[];
|
|
6
|
+
}, error?: RemoteConfigUpdateErrorInternal) => void;
|
|
7
|
+
export type CallbackOrObserver<T extends (...args: any[]) => any> = T | {
|
|
8
|
+
next: T;
|
|
9
|
+
};
|
|
10
10
|
export interface ConfigSettingsStateInternal {
|
|
11
11
|
fetchTimeoutMillis: number;
|
|
12
12
|
minimumFetchIntervalMillis: number;
|
|
@@ -39,6 +39,7 @@ export interface RemoteConfigUpdateErrorEventInternal extends RemoteConfigUpdate
|
|
|
39
39
|
resultType?: string;
|
|
40
40
|
}
|
|
41
41
|
export interface RNFBConfigModule {
|
|
42
|
+
getConstants(): NativeRemoteConfigConstants;
|
|
42
43
|
activate(): Promise<NativeRemoteConfigResult<boolean>>;
|
|
43
44
|
setConfigSettings(settings: {
|
|
44
45
|
fetchTimeout: number;
|
|
@@ -61,34 +62,34 @@ export interface RemoteConfigInternal extends RemoteConfig {
|
|
|
61
62
|
defaultConfig: {
|
|
62
63
|
[key: string]: string | number | boolean;
|
|
63
64
|
};
|
|
64
|
-
activate(
|
|
65
|
-
ensureInitialized(
|
|
66
|
-
fetchAndActivate(
|
|
67
|
-
fetch(expirationDurationSeconds?: number
|
|
68
|
-
getAll(
|
|
69
|
-
getBoolean(key: string
|
|
70
|
-
getNumber(key: string
|
|
71
|
-
getString(key: string
|
|
72
|
-
getValue(key: string
|
|
73
|
-
reset(
|
|
65
|
+
activate(): Promise<boolean>;
|
|
66
|
+
ensureInitialized(): Promise<void>;
|
|
67
|
+
fetchAndActivate(): Promise<boolean>;
|
|
68
|
+
fetch(expirationDurationSeconds?: number): Promise<void>;
|
|
69
|
+
getAll(): Record<string, Value>;
|
|
70
|
+
getBoolean(key: string): boolean;
|
|
71
|
+
getNumber(key: string): number;
|
|
72
|
+
getString(key: string): string;
|
|
73
|
+
getValue(key: string): Value;
|
|
74
|
+
reset(): Promise<void>;
|
|
74
75
|
setConfigSettings(settings: RemoteConfigSettings | {
|
|
75
76
|
minimumFetchIntervalMillis?: number;
|
|
76
77
|
fetchTimeMillis?: number;
|
|
77
78
|
fetchTimeoutMillis?: number;
|
|
78
|
-
},
|
|
79
|
+
}, fromSettingsSetter?: boolean): Promise<void>;
|
|
79
80
|
setDefaults(defaults: {
|
|
80
81
|
[key: string]: string | number | boolean;
|
|
81
|
-
},
|
|
82
|
-
setDefaultsFromResource(resourceName: string
|
|
83
|
-
onConfigUpdate(observer: ConfigUpdateObserver
|
|
84
|
-
onConfigUpdated(listenerOrObserver:
|
|
82
|
+
}, fromDefaultConfigSetter?: boolean): Promise<null>;
|
|
83
|
+
setDefaultsFromResource(resourceName: string): Promise<null>;
|
|
84
|
+
onConfigUpdate(observer: ConfigUpdateObserver): Unsubscribe;
|
|
85
|
+
onConfigUpdated(listenerOrObserver: CallbackOrObserver<OnConfigUpdatedListenerCallback>): Unsubscribe;
|
|
85
86
|
readonly native: RNFBConfigModule;
|
|
86
|
-
_promiseWithConstants(promise: Promise<NativeRemoteConfigResult<void
|
|
87
|
-
_promiseWithConstants<T>(promise: Promise<NativeRemoteConfigResult<T
|
|
87
|
+
_promiseWithConstants(promise: Promise<NativeRemoteConfigResult<void>>): Promise<void>;
|
|
88
|
+
_promiseWithConstants<T>(promise: Promise<NativeRemoteConfigResult<T>>): Promise<T>;
|
|
88
89
|
}
|
|
89
90
|
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
90
91
|
interface ReactNativeFirebaseNativeModules {
|
|
91
|
-
|
|
92
|
+
NativeRNFBTurboConfig: RNFBConfigModule;
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,KAAK,EACL,WAAW,EACZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
import type { FirebaseApp } from '@firebase/app';
|
|
2
|
-
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
1
|
+
import type { FirebaseApp, FirebaseError } from '@firebase/app';
|
|
3
2
|
export type LogLevel = 'debug' | 'error' | 'silent';
|
|
4
3
|
export type FetchStatus = 'success' | 'failure' | 'no_fetch_yet' | 'throttled';
|
|
5
4
|
export type ValueSource = 'static' | 'default' | 'remote';
|
|
5
|
+
export interface FirebaseRemoteConfigObject {
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
}
|
|
8
|
+
export interface FirebaseExperimentDescription {
|
|
9
|
+
experimentId: string;
|
|
10
|
+
variantId: string;
|
|
11
|
+
experimentStartTime: string;
|
|
12
|
+
triggerTimeoutMillis: string;
|
|
13
|
+
timeToLiveMillis: string;
|
|
14
|
+
affectedParameterKeys?: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface FetchResponse {
|
|
17
|
+
status: number;
|
|
18
|
+
eTag?: string;
|
|
19
|
+
config?: FirebaseRemoteConfigObject;
|
|
20
|
+
templateVersion?: number;
|
|
21
|
+
experiments?: FirebaseExperimentDescription[];
|
|
22
|
+
}
|
|
23
|
+
export interface RemoteConfigOptions {
|
|
24
|
+
templateId?: string;
|
|
25
|
+
initialFetchResponse?: FetchResponse;
|
|
26
|
+
}
|
|
6
27
|
export interface Value {
|
|
7
28
|
getSource(): ValueSource;
|
|
8
29
|
asBoolean(): boolean;
|
|
@@ -18,7 +39,7 @@ export interface ConfigUpdate {
|
|
|
18
39
|
}
|
|
19
40
|
export interface ConfigUpdateObserver {
|
|
20
41
|
next: (configUpdate: ConfigUpdate) => void;
|
|
21
|
-
error: (error:
|
|
42
|
+
error: (error: FirebaseError) => void;
|
|
22
43
|
complete: () => void;
|
|
23
44
|
}
|
|
24
45
|
export type Unsubscribe = () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../../../lib/types/remote-config.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../../../lib/types/remote-config.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,aAAa,CAAC;CACtC;AAED,MAAM,WAAW,KAAK;IACpB,SAAS,IAAI,WAAW,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC;IACrB,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,WAAW,CAAC;IAC7B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,aAAa,EAAE;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KAC1C,CAAC;CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "26.0.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
|
|
18
18
|
#import <Foundation/Foundation.h>
|
|
19
19
|
|
|
20
|
-
#import <React/
|
|
20
|
+
#import <React/RCTInvalidating.h>
|
|
21
|
+
#import "RNFBRemoteConfigTurboModules.h"
|
|
21
22
|
|
|
22
|
-
@interface RNFBConfigModule : NSObject <
|
|
23
|
+
@interface RNFBConfigModule : NSObject <NativeRNFBTurboConfigSpec, RCTInvalidating>
|
|
23
24
|
|
|
24
25
|
@end
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
|
|
18
18
|
#import <Firebase/Firebase.h>
|
|
19
19
|
#import <React/RCTConvert.h>
|
|
20
|
-
#import <React/RCTUtils.h>
|
|
21
20
|
|
|
21
|
+
#import "RNFBApp/RCTConvert+FIRApp.h"
|
|
22
|
+
#import "RNFBApp/RNFBSharedUtils.h"
|
|
22
23
|
#import "RNFBConfigModule.h"
|
|
23
|
-
#import "RNFBSharedUtils.h"
|
|
24
24
|
|
|
25
25
|
static NSString *const ON_CONFIG_UPDATED_EVENT = @"on_config_updated";
|
|
26
26
|
|
|
@@ -90,34 +90,32 @@ NSDictionary *convertFIRRemoteConfigValueToNSDictionary(FIRRemoteConfigValue *va
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
static FIRApp *firebaseAppForName(NSString *appName) {
|
|
94
|
+
return [RCTConvert firAppFromString:appName];
|
|
95
|
+
}
|
|
96
|
+
|
|
93
97
|
#pragma mark -
|
|
94
98
|
#pragma mark Module Setup
|
|
95
99
|
|
|
96
|
-
RCT_EXPORT_MODULE()
|
|
97
|
-
|
|
98
|
-
- (dispatch_queue_t)methodQueue {
|
|
99
|
-
return dispatch_get_main_queue();
|
|
100
|
-
}
|
|
100
|
+
RCT_EXPORT_MODULE(NativeRNFBTurboConfig)
|
|
101
101
|
|
|
102
102
|
+ (BOOL)requiresMainQueueSetup {
|
|
103
|
-
return
|
|
103
|
+
return NO;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
- (
|
|
106
|
+
- (instancetype)init {
|
|
107
107
|
self = [super init];
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
if (self) {
|
|
109
|
+
static dispatch_once_t onceToken;
|
|
110
|
+
dispatch_once(&onceToken, ^{
|
|
111
|
+
configUpdateHandlers = [[NSMutableDictionary alloc] init];
|
|
112
|
+
});
|
|
113
|
+
}
|
|
112
114
|
return self;
|
|
113
115
|
}
|
|
114
116
|
|
|
115
|
-
- (void)dealloc {
|
|
116
|
-
[self invalidate];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
117
|
- (void)invalidate {
|
|
120
|
-
for (NSString *key in configUpdateHandlers) {
|
|
118
|
+
for (NSString *key in [configUpdateHandlers allKeys]) {
|
|
121
119
|
FIRConfigUpdateListenerRegistration *registration = [configUpdateHandlers objectForKey:key];
|
|
122
120
|
[registration remove];
|
|
123
121
|
}
|
|
@@ -125,13 +123,29 @@ RCT_EXPORT_MODULE();
|
|
|
125
123
|
[configUpdateHandlers removeAllObjects];
|
|
126
124
|
}
|
|
127
125
|
|
|
126
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
127
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
128
|
+
return std::make_shared<facebook::react::NativeRNFBTurboConfigSpecJSI>(params);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboConfig::Constants::Builder>)
|
|
132
|
+
constantsToExport {
|
|
133
|
+
return [_RCTTypedModuleConstants
|
|
134
|
+
newWithUnsafeDictionary:[self
|
|
135
|
+
getConstantsForApp:firebaseAppForName(DEFAULT_APP_DISPLAY_NAME)]];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboConfig::Constants::Builder>)getConstants {
|
|
139
|
+
return [self constantsToExport];
|
|
140
|
+
}
|
|
141
|
+
|
|
128
142
|
#pragma mark -
|
|
129
143
|
#pragma mark Firebase Config Methods
|
|
130
144
|
|
|
131
|
-
|
|
132
|
-
:
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
- (void)ensureInitialized:(NSString *)appName
|
|
146
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
147
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
148
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
135
149
|
FIRRemoteConfigInitializationCompletion completionHandler = ^(NSError *__nullable error) {
|
|
136
150
|
if (error) {
|
|
137
151
|
[RNFBSharedUtils rejectPromiseWithNSError:reject error:error];
|
|
@@ -144,11 +158,11 @@ RCT_EXPORT_METHOD(ensureInitialized
|
|
|
144
158
|
ensureInitializedWithCompletionHandler:completionHandler];
|
|
145
159
|
}
|
|
146
160
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
161
|
+
- (void)fetch:(NSString *)appName
|
|
162
|
+
expirationDurationSeconds:(double)expirationDurationSeconds
|
|
163
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
164
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
165
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
152
166
|
FIRRemoteConfigFetchCompletion completionHandler =
|
|
153
167
|
^(FIRRemoteConfigFetchStatus status, NSError *__nullable error) {
|
|
154
168
|
if (error) {
|
|
@@ -164,46 +178,23 @@ RCT_EXPORT_METHOD(fetch
|
|
|
164
178
|
}
|
|
165
179
|
};
|
|
166
180
|
|
|
167
|
-
if (
|
|
181
|
+
if (expirationDurationSeconds == -1) {
|
|
168
182
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp]
|
|
169
183
|
fetchWithCompletionHandler:completionHandler];
|
|
170
184
|
} else {
|
|
171
185
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp]
|
|
172
|
-
fetchWithExpirationDuration:
|
|
186
|
+
fetchWithExpirationDuration:expirationDurationSeconds
|
|
173
187
|
completionHandler:completionHandler];
|
|
174
188
|
}
|
|
175
189
|
}
|
|
176
190
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (error.userInfo && error.userInfo[@"ActivationFailureReason"] != nil &&
|
|
185
|
-
[error.userInfo[@"ActivationFailureReason"] containsString:@"already activated"]) {
|
|
186
|
-
resolve([self resultWithConstants:@([RCTConvert BOOL:@(YES)]) firebaseApp:firebaseApp]);
|
|
187
|
-
} else {
|
|
188
|
-
[RNFBSharedUtils rejectPromiseWithNSError:reject error:error];
|
|
189
|
-
}
|
|
190
|
-
} else {
|
|
191
|
-
if (status == FIRRemoteConfigFetchAndActivateStatusSuccessFetchedFromRemote) {
|
|
192
|
-
resolve([self resultWithConstants:@([RCTConvert BOOL:@(YES)]) firebaseApp:firebaseApp]);
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
// if no data fetched remotely, return false
|
|
196
|
-
resolve([self resultWithConstants:@([RCTConvert BOOL:@(NO)]) firebaseApp:firebaseApp]);
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
[[FIRRemoteConfig remoteConfig] fetchAndActivateWithCompletionHandler:completionHandler];
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
RCT_EXPORT_METHOD(activate
|
|
204
|
-
: (FIRApp *)firebaseApp
|
|
205
|
-
: (RCTPromiseResolveBlock)resolve
|
|
206
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
191
|
+
// Shared by `activate:` and `fetchAndActivate:` below - resolves with the `changed` BOOL from
|
|
192
|
+
// `-[FIRRemoteConfig activateWithCompletion:]`, treating the SDK's "already activated" error as a
|
|
193
|
+
// non-error `false` result rather than a rejection, since it just means there was nothing new to
|
|
194
|
+
// activate.
|
|
195
|
+
- (void)rnfb_activateRemoteConfig:(FIRApp *)firebaseApp
|
|
196
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
197
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
207
198
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp] activateWithCompletion:^(
|
|
208
199
|
BOOL changed, NSError *_Nullable error) {
|
|
209
200
|
if (error) {
|
|
@@ -219,41 +210,83 @@ RCT_EXPORT_METHOD(activate
|
|
|
219
210
|
}];
|
|
220
211
|
}
|
|
221
212
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
213
|
+
- (void)fetchAndActivate:(NSString *)appName
|
|
214
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
215
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
216
|
+
// NOTE: We deliberately do not use `-[FIRRemoteConfig fetchAndActivateWithCompletionHandler:]`
|
|
217
|
+
// here. Its `FIRRemoteConfigFetchAndActivateStatus` result only reflects whether the fetch
|
|
218
|
+
// succeeded (`SuccessFetchedFromRemote`) vs fell back to previously fetched data
|
|
219
|
+
// (`SuccessUsingPreFetchedData`) - it does NOT reflect whether activation actually changed any
|
|
220
|
+
// config values, so it reports `SuccessFetchedFromRemote` (=> we'd resolve `true`) even when the
|
|
221
|
+
// fetched values are identical to what's already active. See
|
|
222
|
+
// https://github.com/invertase/react-native-firebase/issues/7779
|
|
223
|
+
//
|
|
224
|
+
// Instead we perform the fetch ourselves and hand off to the same activation + resolution logic
|
|
225
|
+
// `activate()` uses, so `fetchAndActivate()` resolves `true` only when activation changed the
|
|
226
|
+
// in-use config values - matching `activate()`'s own semantics as well as the Android
|
|
227
|
+
// implementation.
|
|
228
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
229
|
+
__weak RNFBConfigModule *weakSelf = self;
|
|
230
|
+
FIRRemoteConfigFetchCompletion fetchCompletion =
|
|
231
|
+
^(FIRRemoteConfigFetchStatus status, NSError *__nullable error) {
|
|
232
|
+
RNFBConfigModule *strongSelf = weakSelf;
|
|
233
|
+
if (!strongSelf) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
228
236
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
237
|
+
if (error) {
|
|
238
|
+
[RNFBSharedUtils
|
|
239
|
+
rejectPromiseWithUserInfo:reject
|
|
240
|
+
userInfo:[@{
|
|
241
|
+
@"code" : convertFIRRemoteConfigFetchStatusToNSString(status),
|
|
242
|
+
@"message" :
|
|
243
|
+
convertFIRRemoteConfigFetchStatusToNSStringDescription(status)
|
|
244
|
+
} mutableCopy]];
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
233
247
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
248
|
+
[strongSelf rnfb_activateRemoteConfig:firebaseApp resolve:resolve reject:reject];
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp] fetchWithCompletionHandler:fetchCompletion];
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
- (void)activate:(NSString *)appName
|
|
255
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
256
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
257
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
258
|
+
[self rnfb_activateRemoteConfig:firebaseApp resolve:resolve reject:reject];
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
- (void)setConfigSettings:(NSString *)appName
|
|
262
|
+
settings:(JS::NativeRNFBTurboConfig::ConfigSettings &)configSettings
|
|
263
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
264
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
265
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
266
|
+
FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
|
|
267
|
+
remoteConfigSettings.minimumFetchInterval = configSettings.minimumFetchInterval();
|
|
268
|
+
remoteConfigSettings.fetchTimeout = configSettings.fetchTimeout();
|
|
237
269
|
|
|
238
270
|
[FIRRemoteConfig remoteConfigWithApp:firebaseApp].configSettings = remoteConfigSettings;
|
|
239
271
|
resolve([self resultWithVoidConstantsForApp:firebaseApp]);
|
|
240
272
|
}
|
|
241
273
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
274
|
+
- (void)setDefaults:(NSString *)appName
|
|
275
|
+
defaults:(NSDictionary *)defaults
|
|
276
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
277
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
278
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
247
279
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp] setDefaults:defaults];
|
|
248
280
|
resolve([self resultWithConstants:[NSNull null] firebaseApp:firebaseApp]);
|
|
249
281
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
282
|
+
|
|
283
|
+
- (void)setDefaultsFromResource:(NSString *)appName
|
|
284
|
+
resourceName:(NSString *)resourceName
|
|
285
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
286
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
287
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
288
|
+
if ([[NSBundle mainBundle] pathForResource:resourceName ofType:@"plist"] != nil) {
|
|
289
|
+
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp] setDefaultsFromPlistFileName:resourceName];
|
|
257
290
|
resolve([self resultWithConstants:[NSNull null] firebaseApp:firebaseApp]);
|
|
258
291
|
} else {
|
|
259
292
|
[RNFBSharedUtils rejectPromiseWithUserInfo:reject
|
|
@@ -264,7 +297,15 @@ RCT_EXPORT_METHOD(setDefaultsFromResource
|
|
|
264
297
|
}
|
|
265
298
|
}
|
|
266
299
|
|
|
267
|
-
|
|
300
|
+
- (void)reset:(NSString *)appName
|
|
301
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
302
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
303
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
304
|
+
resolve([self resultWithVoidConstantsForApp:firebaseApp]);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
- (void)onConfigUpdated:(NSString *)appName {
|
|
308
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
268
309
|
if (![configUpdateHandlers valueForKey:firebaseApp.name]) {
|
|
269
310
|
FIRConfigUpdateListenerRegistration *newRegistration =
|
|
270
311
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp]
|
|
@@ -274,7 +315,8 @@ RCT_EXPORT_METHOD(onConfigUpdated : (FIRApp *)firebaseApp) {
|
|
|
274
315
|
NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
|
|
275
316
|
|
|
276
317
|
[userInfo setValue:@"error" forKey:@"resultType"];
|
|
277
|
-
[userInfo setValue:convertFIRRemoteConfigUpdateErrorToNSString(
|
|
318
|
+
[userInfo setValue:convertFIRRemoteConfigUpdateErrorToNSString(
|
|
319
|
+
(FIRRemoteConfigUpdateError)error.code)
|
|
278
320
|
forKey:@"code"];
|
|
279
321
|
[userInfo setValue:error.localizedDescription forKey:@"message"];
|
|
280
322
|
[userInfo setValue:error.localizedDescription forKey:@"nativeErrorMessage"];
|
|
@@ -298,20 +340,22 @@ RCT_EXPORT_METHOD(onConfigUpdated : (FIRApp *)firebaseApp) {
|
|
|
298
340
|
}
|
|
299
341
|
}
|
|
300
342
|
|
|
301
|
-
|
|
343
|
+
- (void)removeConfigUpdateRegistration:(NSString *)appName {
|
|
344
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
302
345
|
if ([configUpdateHandlers valueForKey:firebaseApp.name]) {
|
|
303
346
|
[[configUpdateHandlers objectForKey:firebaseApp.name] remove];
|
|
304
347
|
[configUpdateHandlers removeObjectForKey:firebaseApp.name];
|
|
305
348
|
}
|
|
306
349
|
}
|
|
307
350
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
:
|
|
312
|
-
|
|
351
|
+
- (void)setCustomSignals:(NSString *)appName
|
|
352
|
+
customSignals:(NSDictionary *)customSignals
|
|
353
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
354
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
355
|
+
FIRApp *firebaseApp = firebaseAppForName(appName);
|
|
356
|
+
NSDictionary *decodedCustomSignals = [RNFBSharedUtils decodeNullSentinels:customSignals];
|
|
313
357
|
[[FIRRemoteConfig remoteConfigWithApp:firebaseApp]
|
|
314
|
-
setCustomSignals:
|
|
358
|
+
setCustomSignals:decodedCustomSignals
|
|
315
359
|
withCompletion:^(NSError *_Nullable error) {
|
|
316
360
|
if (error != nil) {
|
|
317
361
|
[RNFBSharedUtils rejectPromiseWithNSError:reject error:error];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
2744B98621F45429004F8E3F /* RNFBConfigModule.
|
|
10
|
+
2744B98621F45429004F8E3F /* RNFBConfigModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBConfigModule.mm */; };
|
|
11
11
|
/* End PBXBuildFile section */
|
|
12
12
|
|
|
13
13
|
/* Begin PBXCopyFilesBuildPhase section */
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
/* Begin PBXFileReference section */
|
|
26
26
|
2744B98221F45429004F8E3F /* libRNFBConfig.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNFBConfig.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
27
27
|
2744B98421F45429004F8E3F /* RNFBConfigModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBConfigModule.h; path = RNFBConfig/RNFBConfigModule.h; sourceTree = SOURCE_ROOT; };
|
|
28
|
-
2744B98521F45429004F8E3F /* RNFBConfigModule.
|
|
28
|
+
2744B98521F45429004F8E3F /* RNFBConfigModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBConfigModule.mm; path = RNFBConfig/RNFBConfigModule.mm; sourceTree = SOURCE_ROOT; };
|
|
29
29
|
/* End PBXFileReference section */
|
|
30
30
|
|
|
31
31
|
/* Begin PBXFrameworksBuildPhase section */
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
2744B9A121F48736004F8E3F /* converters */,
|
|
54
54
|
2744B98C21F45C64004F8E3F /* common */,
|
|
55
55
|
2744B98421F45429004F8E3F /* RNFBConfigModule.h */,
|
|
56
|
-
2744B98521F45429004F8E3F /* RNFBConfigModule.
|
|
56
|
+
2744B98521F45429004F8E3F /* RNFBConfigModule.mm */,
|
|
57
57
|
);
|
|
58
58
|
path = RNFBConfig;
|
|
59
59
|
sourceTree = "<group>";
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
isa = PBXSourcesBuildPhase;
|
|
125
125
|
buildActionMask = 2147483647;
|
|
126
126
|
files = (
|
|
127
|
-
2744B98621F45429004F8E3F /* RNFBConfigModule.
|
|
127
|
+
2744B98621F45429004F8E3F /* RNFBConfigModule.mm in Sources */,
|
|
128
128
|
);
|
|
129
129
|
runOnlyForDeploymentPostprocessing = 0;
|
|
130
130
|
};
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
);
|
|
160
160
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
161
161
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
162
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
162
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
163
163
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
164
164
|
MTL_FAST_MATH = YES;
|
|
165
165
|
OTHER_LDFLAGS = "-ObjC";
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
194
194
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
195
195
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
196
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
196
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
197
197
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
198
198
|
MTL_FAST_MATH = YES;
|
|
199
199
|
OTHER_LDFLAGS = "-ObjC";
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
|
|
255
255
|
"$(SRCROOT)/../../../packages/app/ios/**",
|
|
256
256
|
);
|
|
257
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
257
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
258
258
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
259
259
|
MACH_O_TYPE = staticlib;
|
|
260
260
|
OTHER_LDFLAGS = "$(inherited)";
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
"$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
|
|
313
313
|
"$(SRCROOT)/../../../packages/app/ios/**",
|
|
314
314
|
);
|
|
315
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
315
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
316
316
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
317
317
|
MACH_O_TYPE = staticlib;
|
|
318
318
|
ONLY_ACTIVE_ARCH = YES;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
#if __has_include(<React-RCTAppDelegate/RCTDependencyProvider.h>)
|
|
12
|
+
#import <React-RCTAppDelegate/RCTDependencyProvider.h>
|
|
13
|
+
#elif __has_include(<React_RCTAppDelegate/RCTDependencyProvider.h>)
|
|
14
|
+
#import <React_RCTAppDelegate/RCTDependencyProvider.h>
|
|
15
|
+
#else
|
|
16
|
+
#import "RCTDependencyProvider.h"
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
20
|
+
|
|
21
|
+
@interface RCTAppDependencyProvider : NSObject <RCTDependencyProvider>
|
|
22
|
+
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
NS_ASSUME_NONNULL_END
|