@react-native-firebase/in-app-messaging 26.0.0 → 26.2.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 +12 -0
- package/RNFBInAppMessaging.podspec +3 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/index.d.ts +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBFiam/RNFBFiamHelper.h +47 -0
- package/ios/RNFBFiam/RNFBFiamHelper.m +82 -0
- package/ios/RNFBFiam/RNFBFiamModule.mm +6 -6
- package/lib/version.ts +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [26.2.0](https://github.com/invertase/react-native-firebase/compare/v26.1.0...v26.2.0) (2026-08-10)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- codegen should be wipe-then-regen ([04bc4e4](https://github.com/invertase/react-native-firebase/commit/04bc4e4cdab9870cb366fd212b2ccb331b0289d6))
|
|
11
|
+
|
|
12
|
+
## [26.1.0](https://github.com/invertase/react-native-firebase/compare/v26.0.0...v26.1.0) (2026-08-03)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- **ios:** add SPM dependency resolution support alongside CocoaPods ([#8933](https://github.com/invertase/react-native-firebase/issues/8933)) ([44a7a9a](https://github.com/invertase/react-native-firebase/commit/44a7a9ae7b404f412e9766c0417f1df8fa971a0b))
|
|
17
|
+
|
|
6
18
|
## [26.0.0](https://github.com/invertase/react-native-firebase/compare/v25.1.0...v26.0.0) (2026-07-29)
|
|
7
19
|
|
|
8
20
|
### ⚠ BREAKING CHANGES
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'json'
|
|
2
|
+
require_relative '../app/firebase_spm'
|
|
2
3
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
3
4
|
appPackage = JSON.parse(File.read(File.join('..', 'app', 'package.json')))
|
|
4
5
|
|
|
@@ -28,6 +29,7 @@ Pod::Spec.new do |s|
|
|
|
28
29
|
s.ios.deployment_target = firebase_ios_target
|
|
29
30
|
s.macos.deployment_target = firebase_macos_target
|
|
30
31
|
s.tvos.deployment_target = firebase_tvos_target
|
|
32
|
+
s.swift_version = '5.10'
|
|
31
33
|
s.source_files = 'ios/**/*.{h,m,mm,cpp,swift}'
|
|
32
34
|
s.private_header_files = "ios/**/*.h"
|
|
33
35
|
s.exclude_files = 'ios/generated/RCTThirdPartyComponentsProvider.*', 'ios/generated/RCTAppDependencyProvider.*', 'ios/generated/RCTModuleProviders.*', 'ios/generated/RCTModulesConformingToProtocolsProvider.*', 'ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.*'
|
|
@@ -46,7 +48,7 @@ Pod::Spec.new do |s|
|
|
|
46
48
|
end
|
|
47
49
|
|
|
48
50
|
# Firebase dependencies
|
|
49
|
-
s
|
|
51
|
+
firebase_dependency(s, firebase_sdk_version, ['FirebaseInAppMessaging-Beta'], 'Firebase/InAppMessaging')
|
|
50
52
|
|
|
51
53
|
if defined?($RNFirebaseAsStaticFramework)
|
|
52
54
|
Pod::UI.puts "#{s.name}: Using overridden static_framework value of '#{$RNFirebaseAsStaticFramework}'"
|
package/dist/module/version.js
CHANGED
|
@@ -6,7 +6,7 @@ import type { InAppMessaging } from './types/in-app-messaging';
|
|
|
6
6
|
*
|
|
7
7
|
* The firebase-js-sdk does not ship a modular In-App Messaging entry point or `SDK_VERSION` export.
|
|
8
8
|
*/
|
|
9
|
-
export declare const SDK_VERSION = "26.
|
|
9
|
+
export declare const SDK_VERSION = "26.2.0";
|
|
10
10
|
/**
|
|
11
11
|
* Returns the {@link InAppMessaging} instance for the default or given {@link FirebaseApp}.
|
|
12
12
|
*
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "26.
|
|
1
|
+
export declare const version = "26.2.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#import <Foundation/Foundation.h>
|
|
19
|
+
|
|
20
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
21
|
+
|
|
22
|
+
/// Thin Objective-C wrapper around FirebaseInAppMessaging.
|
|
23
|
+
///
|
|
24
|
+
/// FirebaseInAppMessaging is a pure-Swift SPM module: its generated ObjC
|
|
25
|
+
/// interface header (FirebaseInAppMessaging-Swift.h) is not reliably
|
|
26
|
+
/// importable from a cross-project CocoaPods target, and `@import
|
|
27
|
+
/// FirebaseInAppMessaging;` (the pattern the Firebase SDK itself documents
|
|
28
|
+
/// for ObjC clients, see SPMSwiftHeaderWorkaround.swift) requires C++
|
|
29
|
+
/// modules to be enabled when used from an Objective-C++ (.mm) file, which
|
|
30
|
+
/// breaks React Native's own jsi/React modules. Isolating all
|
|
31
|
+
/// FirebaseInAppMessaging usage in this plain Objective-C (.m) file avoids
|
|
32
|
+
/// that requirement entirely, since `@import` only needs `-fmodules`
|
|
33
|
+
/// (already enabled) for plain ObjC. On Mac Catalyst + SPM the upstream
|
|
34
|
+
/// wrap target omits the real module — see RNFBFiamHelper.m stubs and
|
|
35
|
+
/// https://github.com/firebase/firebase-ios-sdk/pull/16468. See
|
|
36
|
+
/// okf-bundle/ios-spm-native-imports.md.
|
|
37
|
+
@interface RNFBFiamHelper : NSObject
|
|
38
|
+
|
|
39
|
+
+ (BOOL)isMessageDisplaySuppressed;
|
|
40
|
+
+ (BOOL)isAutomaticDataCollectionEnabled;
|
|
41
|
+
+ (void)setAutomaticDataCollectionEnabled:(BOOL)enabled;
|
|
42
|
+
+ (void)setMessageDisplaySuppressed:(BOOL)enabled;
|
|
43
|
+
+ (void)triggerEvent:(NSString *)eventId;
|
|
44
|
+
|
|
45
|
+
@end
|
|
46
|
+
|
|
47
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#if __has_include(<Firebase/Firebase.h>)
|
|
19
|
+
#import <Firebase/Firebase.h>
|
|
20
|
+
#define RNFB_FIAM_SDK_AVAILABLE 1
|
|
21
|
+
#elif !TARGET_OS_MACCATALYST
|
|
22
|
+
// SPM on iOS/tvOS: FirebaseInAppMessaging is a Swift product — use @import in
|
|
23
|
+
// this plain .m (needs -fmodules only). Do not move @import into the .mm
|
|
24
|
+
// TurboModule (that would require -fcxx-modules).
|
|
25
|
+
@import FirebaseCore;
|
|
26
|
+
@import FirebaseInAppMessaging;
|
|
27
|
+
#define RNFB_FIAM_SDK_AVAILABLE 1
|
|
28
|
+
#else
|
|
29
|
+
// Product module absent under Mac Catalyst + SPM. Upstream Package.swift omits
|
|
30
|
+
// .macCatalyst from FirebaseInAppMessagingTarget; CocoaPods historically
|
|
31
|
+
// masked this via the Firebase umbrella. Temporary stubs pending
|
|
32
|
+
// https://github.com/firebase/firebase-ios-sdk/pull/16468 (or permanent if
|
|
33
|
+
// upstream declines). When that PR lands, drop the TARGET_OS_MACCATALYST
|
|
34
|
+
// gate and use the @import path on Catalyst too.
|
|
35
|
+
#define RNFB_FIAM_SDK_AVAILABLE 0
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#import "RNFBFiamHelper.h"
|
|
39
|
+
|
|
40
|
+
@implementation RNFBFiamHelper
|
|
41
|
+
|
|
42
|
+
+ (BOOL)isMessageDisplaySuppressed {
|
|
43
|
+
#if RNFB_FIAM_SDK_AVAILABLE
|
|
44
|
+
return [FIRInAppMessaging inAppMessaging].messageDisplaySuppressed;
|
|
45
|
+
#else
|
|
46
|
+
return NO;
|
|
47
|
+
#endif
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
+ (BOOL)isAutomaticDataCollectionEnabled {
|
|
51
|
+
#if RNFB_FIAM_SDK_AVAILABLE
|
|
52
|
+
return [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled;
|
|
53
|
+
#else
|
|
54
|
+
return NO;
|
|
55
|
+
#endif
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
+ (void)setAutomaticDataCollectionEnabled:(BOOL)enabled {
|
|
59
|
+
#if RNFB_FIAM_SDK_AVAILABLE
|
|
60
|
+
[FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = enabled;
|
|
61
|
+
#else
|
|
62
|
+
(void)enabled;
|
|
63
|
+
#endif
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
+ (void)setMessageDisplaySuppressed:(BOOL)enabled {
|
|
67
|
+
#if RNFB_FIAM_SDK_AVAILABLE
|
|
68
|
+
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = enabled;
|
|
69
|
+
#else
|
|
70
|
+
(void)enabled;
|
|
71
|
+
#endif
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
+ (void)triggerEvent:(NSString *)eventId {
|
|
75
|
+
#if RNFB_FIAM_SDK_AVAILABLE
|
|
76
|
+
[[FIRInAppMessaging inAppMessaging] triggerEvent:eventId];
|
|
77
|
+
#else
|
|
78
|
+
(void)eventId;
|
|
79
|
+
#endif
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@end
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
#import <Firebase/Firebase.h>
|
|
19
18
|
#import <React/RCTConvert.h>
|
|
20
19
|
#import <React/RCTUtils.h>
|
|
21
20
|
|
|
21
|
+
#import "RNFBFiamHelper.h"
|
|
22
22
|
#import "RNFBFiamModule.h"
|
|
23
23
|
|
|
24
24
|
@implementation RNFBFiamModule
|
|
@@ -32,9 +32,9 @@ RCT_EXPORT_MODULE(NativeRNFBTurboFiam)
|
|
|
32
32
|
- (NSDictionary *)fiamConstantsDictionary {
|
|
33
33
|
NSMutableDictionary *constants = [NSMutableDictionary new];
|
|
34
34
|
constants[@"isMessagesDisplaySuppressed"] =
|
|
35
|
-
@([RCTConvert BOOL:@([
|
|
35
|
+
@([RCTConvert BOOL:@([RNFBFiamHelper isMessageDisplaySuppressed])]);
|
|
36
36
|
constants[@"isAutomaticDataCollectionEnabled"] =
|
|
37
|
-
@([RCTConvert BOOL:@([
|
|
37
|
+
@([RCTConvert BOOL:@([RNFBFiamHelper isAutomaticDataCollectionEnabled])]);
|
|
38
38
|
return constants;
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -54,21 +54,21 @@ RCT_EXPORT_MODULE(NativeRNFBTurboFiam)
|
|
|
54
54
|
- (void)setAutomaticDataCollectionEnabled:(BOOL)enabled
|
|
55
55
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
56
56
|
reject:(RCTPromiseRejectBlock)reject {
|
|
57
|
-
[
|
|
57
|
+
[RNFBFiamHelper setAutomaticDataCollectionEnabled:(BOOL)enabled];
|
|
58
58
|
resolve([NSNull null]);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
- (void)setMessagesDisplaySuppressed:(BOOL)enabled
|
|
62
62
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
63
63
|
reject:(RCTPromiseRejectBlock)reject {
|
|
64
|
-
[
|
|
64
|
+
[RNFBFiamHelper setMessageDisplaySuppressed:(BOOL)enabled];
|
|
65
65
|
resolve([NSNull null]);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
- (void)triggerEvent:(NSString *)eventId
|
|
69
69
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
70
70
|
reject:(RCTPromiseRejectBlock)reject {
|
|
71
|
-
[
|
|
71
|
+
[RNFBFiamHelper triggerEvent:eventId];
|
|
72
72
|
resolve([NSNull null]);
|
|
73
73
|
}
|
|
74
74
|
|
package/lib/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '26.
|
|
2
|
+
export const version = '26.2.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-firebase/in-app-messaging",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.2.0",
|
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
5
5
|
"description": "React Native Firebase - Firebase In-App Messaging helps you engage your app's active users by sending them targeted, contextual messages that encourage them to use key app features. React Native Firebase provides support for both native Android & iOS integration with a simple JavaScript API.",
|
|
6
6
|
"main": "./dist/module/index.js",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"compile": "bob build",
|
|
26
26
|
"prepare": "yarn run build && yarn compile",
|
|
27
27
|
"codegen": "yarn android:codegen && yarn ios:codegen",
|
|
28
|
-
"android:codegen": "npx @react-native-community/cli codegen --platform android --outputPath=./android/src/reactnative/java/io/invertase/firebase/fiam/generated",
|
|
29
|
-
"ios:codegen": "npx @react-native-community/cli codegen --platform ios --outputPath=./ios/generated"
|
|
28
|
+
"android:codegen": "rimraf android/src/reactnative/java/io/invertase/firebase/fiam/generated && npx @react-native-community/cli codegen --platform android --outputPath=./android/src/reactnative/java/io/invertase/firebase/fiam/generated",
|
|
29
|
+
"ios:codegen": "rimraf ios/generated && npx @react-native-community/cli codegen --platform ios --outputPath=./ios/generated"
|
|
30
30
|
},
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
"inAppMessaging"
|
|
46
46
|
],
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@react-native-firebase/analytics": "26.
|
|
49
|
-
"@react-native-firebase/app": "26.
|
|
48
|
+
"@react-native-firebase/analytics": "26.2.0",
|
|
49
|
+
"@react-native-firebase/app": "26.2.0"
|
|
50
50
|
},
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public",
|
|
53
53
|
"provenance": true
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@react-native-firebase/app": "26.
|
|
56
|
+
"@react-native-firebase/app": "26.2.0",
|
|
57
57
|
"react-native-builder-bob": "^0.41.0"
|
|
58
58
|
},
|
|
59
59
|
"exports": {
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"node_modules/",
|
|
87
87
|
"dist/"
|
|
88
88
|
],
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "b7efa8ca2781b5102975ee5169ee6fc52e9c1588"
|
|
90
90
|
}
|