@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 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.dependency 'Firebase/InAppMessaging', firebase_sdk_version
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}'"
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  // Generated by genversion.
4
- export const version = '26.0.0';
4
+ export const version = '26.2.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -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.0.0";
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.0.0";
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:@([FIRInAppMessaging inAppMessaging].messageDisplaySuppressed)]);
35
+ @([RCTConvert BOOL:@([RNFBFiamHelper isMessageDisplaySuppressed])]);
36
36
  constants[@"isAutomaticDataCollectionEnabled"] =
37
- @([RCTConvert BOOL:@([FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled)]);
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
- [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = (BOOL)enabled;
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
- [FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = (BOOL)enabled;
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
- [[FIRInAppMessaging inAppMessaging] triggerEvent:eventId];
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.0.0';
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.0.0",
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.0.0",
49
- "@react-native-firebase/app": "26.0.0"
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.0.0",
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": "2a360acb2aebdd39dd40e31be386b30697270626"
89
+ "gitHead": "b7efa8ca2781b5102975ee5169ee6fc52e9c1588"
90
90
  }