From 98165bfe3878f5c12652a54f4f155c9354820d24 Mon Sep 17 00:00:00 2001 From: Kamo Spertsyan Date: Wed, 20 Aug 2025 11:48:00 +0300 Subject: [PATCH] Added source and version for no-codes. --- android/build.gradle | 2 +- .../java/com/qonversion/reactnativesdk/NoCodesModule.kt | 3 ++- example/ios/Podfile.lock | 8 ++++---- fastlane/Fastfile | 4 ++-- ios/RNNoCodes.mm | 6 ++++-- ios/RNNoCodesImpl.swift | 3 ++- qonversion-react-native-sdk.podspec | 2 +- src/internal/NoCodesInternal.ts | 4 +++- src/internal/QonversionInternal.ts | 5 +++-- src/internal/specs/NativeNoCodesModule.ts | 2 +- 10 files changed, 23 insertions(+), 16 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 5d53f50e..b9e5212d 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -80,7 +80,7 @@ def kotlin_version = getExtOrDefault("kotlinVersion") dependencies { implementation "com.facebook.react:react-android" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation "io.qonversion:sandwich:6.0.6" + implementation "io.qonversion:sandwich:6.0.10" } if (isNewArchitectureEnabled()) { diff --git a/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt b/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt index 70b8a8aa..5993fb25 100644 --- a/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt +++ b/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt @@ -32,7 +32,8 @@ class NoCodesModule(private val reactContext: ReactApplicationContext) : NativeN } @ReactMethod - override fun initialize(projectKey: String) { + override fun initialize(projectKey: String, source: String, version: String) { + noCodesSandwich.storeSdkInfo(reactContext, source, version) noCodesSandwich.initialize(reactContext, projectKey, null, null, null) noCodesSandwich.setDelegate(noCodesEventListener) noCodesSandwich.setScreenCustomizationDelegate() diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 42add2d0..9194c259 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -19,7 +19,7 @@ PODS: - fmt - glog - hermes-engine - - QonversionSandwich (= 6.0.8) + - QonversionSandwich (= 6.0.10) - RCT-Folly - RCT-Folly/Fabric - RCTRequired @@ -43,7 +43,7 @@ PODS: - SocketRocket - Yoga - Qonversion/Main (5.13.3) - - QonversionSandwich (6.0.8): + - QonversionSandwich (6.0.10): - NoCodes (= 0.1.3) - Qonversion (= 5.13.3) - RCT-Folly (2024.11.18.00): @@ -2406,8 +2406,8 @@ SPEC CHECKSUMS: hermes-engine: 4f07404533b808de66cf48ac4200463068d0e95a NoCodes: 21b87d320a16758c6eb79167ff98010d81b4894e Qonversion: 2b32ae8681de3ba02db5b5ed69c8f213ac4a28fa - qonversion-react-native-sdk: 156d8718de509e82cfeee2e6bcf24d3cea9a4c58 - QonversionSandwich: 8a8638ee1fbdf304f0629f064712d206c390fedf + qonversion-react-native-sdk: dc32c5cf63d9e4f1d650ba3692209d09f115df06 + QonversionSandwich: 6a8c8704a57bc97393ec1684c8932402aa0b7ba9 RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f RCTDeprecation: efa5010912100e944a7ac9a93a157e1def1988fe RCTRequired: bbc4cf999ddc4a4b076e076c74dd1d39d0254630 diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 941eb12c..c4dbfca4 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,7 +1,7 @@ def update_js(new_version) path = Dir['../src/**/QonversionInternal.ts'].first - regex = /const sdkVersion = ".*";/ - result_value = "const sdkVersion = \"#{new_version}\";" + regex = /export const sdkVersion = ".*";/ + result_value = "export const sdkVersion = \"#{new_version}\";" update_file(path, regex, result_value) end diff --git a/ios/RNNoCodes.mm b/ios/RNNoCodes.mm index 714fb0a2..5c39dcd8 100644 --- a/ios/RNNoCodes.mm +++ b/ios/RNNoCodes.mm @@ -18,8 +18,10 @@ - (instancetype)init { return self; } -- (void)initialize:(NSString *)projectKey { - [self.impl initializeWithProjectKey:projectKey]; +- (void)initialize:(NSString *)projectKey + source:(NSString *)source + version:(NSString *)version { + [self.impl initializeWithProjectKey:projectKey source:source version:version]; } - (void)setScreenPresentationConfig:(NSDictionary *)configData diff --git a/ios/RNNoCodesImpl.swift b/ios/RNNoCodesImpl.swift index 88c25238..ff8a8af2 100644 --- a/ios/RNNoCodesImpl.swift +++ b/ios/RNNoCodesImpl.swift @@ -42,7 +42,8 @@ public class RNNoCodesImpl: NSObject { } @objc - public func initialize(projectKey: String) { + public func initialize(projectKey: String, source: String, version: String) { + // Ignore source and version, because it's taken from the Qonversion SDK. noCodesSandwich?.initialize(projectKey: projectKey) } diff --git a/qonversion-react-native-sdk.podspec b/qonversion-react-native-sdk.podspec index 04674e9d..6cd1e494 100644 --- a/qonversion-react-native-sdk.podspec +++ b/qonversion-react-native-sdk.podspec @@ -16,6 +16,6 @@ Pod::Spec.new do |s| s.source_files = "ios/**/*.{h,m,mm,cpp,swift}" s.private_header_files = "ios/**/*.h" - s.dependency "QonversionSandwich", "6.0.8" + s.dependency "QonversionSandwich", "6.0.10" install_modules_dependencies(s) end diff --git a/src/internal/NoCodesInternal.ts b/src/internal/NoCodesInternal.ts index 072a2234..6e4a56d4 100644 --- a/src/internal/NoCodesInternal.ts +++ b/src/internal/NoCodesInternal.ts @@ -6,6 +6,8 @@ import ScreenPresentationConfig from '../dto/ScreenPresentationConfig'; import NoCodesError from '../dto/NoCodesError'; import {NoCodesErrorCode} from '../dto/enums'; import RNNoCodes, {type NoCodeEvent} from './specs/NativeNoCodesModule'; +import {sdkSource, sdkVersion} from './QonversionInternal'; + const EVENT_SCREEN_SHOWN = "nocodes_screen_shown"; const EVENT_FINISHED = "nocodes_finished"; const EVENT_ACTION_STARTED = "nocodes_action_started"; @@ -17,7 +19,7 @@ export default class NoCodesInternal implements NoCodesApi { private noCodesListener: NoCodesListener | null = null; constructor(config: NoCodesConfig) { - RNNoCodes.initialize(config.projectKey); + RNNoCodes.initialize(config.projectKey, sdkSource, sdkVersion); if (config.noCodesListener) { this.setNoCodesListener(config.noCodesListener); diff --git a/src/internal/QonversionInternal.ts b/src/internal/QonversionInternal.ts index 291bdaac..0c379889 100644 --- a/src/internal/QonversionInternal.ts +++ b/src/internal/QonversionInternal.ts @@ -23,7 +23,8 @@ import PromotionalOffer from '../dto/PromotionalOffer'; import RNQonversion from './specs/NativeQonversionModule'; import type { QPromoOfferDetails } from './specs/NativeQonversionModule'; -const sdkVersion = "9.0.2"; +export const sdkVersion = "9.0.2"; +export const sdkSource = "rn"; export default class QonversionInternal implements QonversionApi { @@ -31,7 +32,7 @@ export default class QonversionInternal implements QonversionApi { private promoPurchasesDelegate: PromoPurchasesListener | null = null; constructor(qonversionConfig: QonversionConfig) { - RNQonversion.storeSDKInfo("rn", sdkVersion); + RNQonversion.storeSDKInfo(sdkSource, sdkVersion); RNQonversion.initializeSdk( qonversionConfig.projectKey, qonversionConfig.launchMode, diff --git a/src/internal/specs/NativeNoCodesModule.ts b/src/internal/specs/NativeNoCodesModule.ts index 0378edd6..e8837040 100644 --- a/src/internal/specs/NativeNoCodesModule.ts +++ b/src/internal/specs/NativeNoCodesModule.ts @@ -9,7 +9,7 @@ export type NoCodeEvent = { }; export interface Spec extends TurboModule { - initialize(projectKey: string): void; + initialize(projectKey: string, source: string, version: string): void; setScreenPresentationConfig(configData: Object, contextKey?: string): Promise; showScreen(contextKey: string): Promise; close(): Promise;