From a60bd0d85b042ab9f1cedaa2a8022dec0652eb37 Mon Sep 17 00:00:00 2001 From: Akash Date: Wed, 3 Dec 2025 16:41:24 +0530 Subject: [PATCH] feat: global param introduced for iOS and android --- README.md | 4 ++-- android/build.gradle | 2 +- .../com/digioreactnative/DigioReactNativeModule.java | 5 +++++ example/ios/Podfile.lock | 12 ++++++------ example/src/App.tsx | 7 ++++--- ios/DigioReactNative.swift | 11 +++++++---- package.json | 2 +- src/index.ts | 1 + src/types/interfaces/digio_config.ts | 1 + 9 files changed, 28 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 6115af8..2c63b50 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Instantiate the Digio instance with `environment` & other options ```tsx import { Digio, DigioConfig, DigioResponse, ServiceMode } from '@digiotech/react-native'; -const config: DigioConfig = { environment: Environment.PRODUCTION, serviceMode: ServiceMode.OTP }; +const config: DigioConfig = { environment: Environment.PRODUCTION, serviceMode: ServiceMode.OTP, isGlobal: false }; const digio = new Digio(config); const documentId = ""; const identifier = ""; @@ -73,7 +73,7 @@ function YourComponent() { }, []); const triggerDigioGateway = async () => { - const config: DigioConfig = { environment: Environment.PRODUCTION, serviceMode: ServiceMode.OTP }; + const config: DigioConfig = { environment: Environment.PRODUCTION, serviceMode: ServiceMode.OTP, isGlobal: false }; const digio = new Digio(config); const documentId = ""; const identifier = ""; diff --git a/android/build.gradle b/android/build.gradle index e020d74..842bddb 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -104,7 +104,7 @@ dependencies { //noinspection GradleDynamicVersion implementation "com.facebook.react:react-native:+" // core dependencies - implementation(platform("com.github.digio-tech:digio-bom:v1.0.30")) + implementation(platform("com.github.digio-tech:digio-bom:v1.0.38")) implementation("androidx.appcompat:appcompat") implementation("com.google.android.material:material") implementation("androidx.navigation:navigation-fragment-ktx") diff --git a/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java b/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java index 5bf3008..d03c398 100644 --- a/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java +++ b/android/src/main/java/com/digioreactnative/DigioReactNativeModule.java @@ -203,6 +203,9 @@ public void start(String documentId, String identifier, String tokenId, Readable String environment = config.getString("environment"); String logo = config.getString("logo"); String mode = config.getString("mode"); + boolean global = config.hasKey("global") ? config.getBoolean("global") : false; + + // Log.e("Digio_mode ", ""+mode); if (!TextUtils.isEmpty(environment)) { try { @@ -248,6 +251,8 @@ public void start(String documentId, String identifier, String tokenId, Readable digioConfig.setRequestId(documentId); digioConfig.setUserIdentifier(identifier); digioConfig.setLinkApproach(false); + digioConfig.setGlobal(global); + HashMap additionalDataMap = new HashMap(); if (additionalData != null) { diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 6a76238..f5f0e8d 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,14 +1,14 @@ PODS: - boost (1.83.0) - CocoaAsyncSocket (7.6.5) - - digio-react-native (2.0.4): + - digio-react-native (2.0.6): - DigioEsignSDK - DigiokycSDK - glog - RCT-Folly (= 2022.05.16.00) - React-Core - - DigioEsignSDK (1.0.9) - - DigiokycSDK (1.3.0) + - DigioEsignSDK (1.0.11) + - DigiokycSDK (2.0.0) - DoubleConversion (1.1.6) - FBLazyVector (0.73.11) - FBReactNativeSpec (0.73.11): @@ -1320,9 +1320,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - digio-react-native: 25d59ee7b30521a8528e45c124b413058b58050d - DigioEsignSDK: 332390c3775c662da6ca2671be4a13aa01901bfe - DigiokycSDK: c7e9cf3470ab0e028caad3f3f836515ce3ddc865 + digio-react-native: 2d11964d74731e3f5a59f6620f7d2f83b1543cde + DigioEsignSDK: 6dd659b244c9217d9e95f4923f3f1b87fd09394b + DigiokycSDK: 81c33a2dcc2b1d65715697e13e570acdbeecbd24 DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 FBLazyVector: b46891061bfe0a9b07f601813114c8653a72a45c FBReactNativeSpec: 9a01850c21d81027fa7b20b9dcc25d9bfae083da diff --git a/example/src/App.tsx b/example/src/App.tsx index 179301b..27434de 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -13,6 +13,7 @@ export default function App() { digioRef.current = new Digio({ environment: Environment.PRODUCTION, serviceMode: ServiceMode.OTP, + isGlobal: false }); const digioGatewayEventSubscription = digioRef.current.addGatewayEventListener( @@ -32,9 +33,9 @@ export default function App() { const startDigioFlow = () => { digioRef.current ?.start( - 'ENA25102XXXXX8S94UVP2QJAP', - 'abc@digio.in', - 'GWT2XXXXNJ47VH2YMEUS' + 'KID251203161932082U3CCU9BX8YNEHR', + 'akash.kumar@digio.in', + 'GWT251203161932104GFDCZMDJQUOE1S' ) .then((res: any) => { console.log(res); diff --git a/ios/DigioReactNative.swift b/ios/DigioReactNative.swift index 59a0aed..89000f0 100644 --- a/ios/DigioReactNative.swift +++ b/ios/DigioReactNative.swift @@ -39,12 +39,13 @@ class DigioReactNative: RCTEventEmitter, DigioKycResponseDelegate,DigioEsignDele fontFormat = config?["fontFormat"] as? String; fontFamily = config?["fontFamily"] as? String; fontUrl = config?["fontUrl"] as? String; + let global = config?["global"] as? Bool ?? false if documentId.hasPrefix("ENA") || documentId.hasPrefix("DID") { - try self.startSign(rootViewController: rootViewController!, documentId: documentId, identifier: identifier, tokenId: tokenId, environment: environment, primaryColor: primaryColor, fontFormat: fontFormat, fontFamily: fontFamily, fontUrl: fontUrl, logo: logo, additionalParams: additionalParams) + try self.startSign(rootViewController: rootViewController!, documentId: documentId, identifier: identifier, tokenId: tokenId, environment: environment, primaryColor: primaryColor, fontFormat: fontFormat, fontFamily: fontFamily, fontUrl: fontUrl, logo: logo, additionalParams: additionalParams,isGlobal: global) .build() }else{ - try self.startKyc(rootViewController: rootViewController!, documentId: documentId, identifier: identifier, tokenId: tokenId, environment: environment, primaryColor: primaryColor, fontFormat: fontFormat, fontFamily: fontFamily, fontUrl: fontUrl, logo: logo, additionalParams: additionalParams) + try self.startKyc(rootViewController: rootViewController!, documentId: documentId, identifier: identifier, tokenId: tokenId, environment: environment, primaryColor: primaryColor, fontFormat: fontFormat, fontFamily: fontFamily, fontUrl: fontUrl, logo: logo, additionalParams: additionalParams, isGlobal: global) .build() } @@ -59,7 +60,7 @@ class DigioReactNative: RCTEventEmitter, DigioKycResponseDelegate,DigioEsignDele private func startKyc(rootViewController: UIViewController,documentId: String, identifier: String, tokenId: String?, environment: String,primaryColor: String?,fontFormat: String?, - fontFamily: String?,fontUrl: String?,logo: String?,additionalParams: [String:String]?) -> DigioKycBuilder { + fontFamily: String?,fontUrl: String?,logo: String?,additionalParams: [String:String]?, isGlobal:Bool) -> DigioKycBuilder { print("...........starting kyc.............") return DigioKycBuilder() .withController(viewController: rootViewController) @@ -73,12 +74,13 @@ class DigioReactNative: RCTEventEmitter, DigioKycResponseDelegate,DigioEsignDele .setFontFamily(fontFamily: fontFamily ?? "") .setFontUrl(fontUrl: fontUrl ?? "") .setLogo(logo: logo ?? "") + .setGlobal(global: isGlobal) .setAdditionalParams(additionalParams: additionalParams ?? [:]) } private func startSign(rootViewController: UIViewController,documentId: String, identifier: String, tokenId: String?, - environment: String,primaryColor: String?,fontFormat: String?,fontFamily: String?,fontUrl: String?,logo: String?,additionalParams: [String:String]?) -> DigioBuilder{ + environment: String,primaryColor: String?,fontFormat: String?,fontFamily: String?,fontUrl: String?,logo: String?,additionalParams: [String:String]?, isGlobal:Bool) -> DigioBuilder{ print("...........starting sign.............") return DigioBuilder() .withController(viewController: rootViewController) @@ -92,6 +94,7 @@ class DigioReactNative: RCTEventEmitter, DigioKycResponseDelegate,DigioEsignDele .setFontFamily(fontFamily: fontFamily ?? "") .setFontUrl(fontUrl: fontUrl ?? "") .setLogo(logo: logo ?? "") + .setGlobal(global: isGlobal) .setAdditionalParams(additionalParams: additionalParams ?? [:]) .setServiceMode(serviceMode: DigioServiceMode.OTP) } diff --git a/package.json b/package.json index baf81cc..0477f08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@digiotech/react-native", - "version": "2.0.6", + "version": "2.0.7", "description": "SDK for invoking client side journey for any of Digio request", "main": "lib/commonjs/index", "module": "lib/module/index", diff --git a/src/index.ts b/src/index.ts index 3b97933..f57cea1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -87,6 +87,7 @@ export class Digio { environment: this.config.environment, logo: this.config.logo, mode: this.config.serviceMode, + global: this.config.isGlobal, ...this.config.theme, }; } diff --git a/src/types/interfaces/digio_config.ts b/src/types/interfaces/digio_config.ts index 5d2b3cf..60f724d 100644 --- a/src/types/interfaces/digio_config.ts +++ b/src/types/interfaces/digio_config.ts @@ -7,4 +7,5 @@ export interface DigioConfig { environment?: Environment; theme?: Theme; serviceMode?: ServiceMode; + isGlobal?: boolean; }