From b94494fdafbee633e9b87ffd3df12088ac667e6e Mon Sep 17 00:00:00 2001 From: Tal Mirmelshtein Date: Tue, 30 Jul 2024 23:10:46 +0300 Subject: [PATCH 1/3] Required changes to support Android core v7.1.0 and Swift core v1.7.0 --- android/build.gradle | 2 +- example/android/app/build.gradle | 6 +- .../providers/GoogleProviderWrapper.java | 163 ++++++++++-------- .../GigyaProviders/FacebookWrapper.swift | 10 +- .../Runner/GigyaProviders/GoogleWrapper.swift | 14 +- .../routes/login_with_credentials_page.dart | 4 +- .../routes/one_time_password_login_page.dart | 2 +- example/pubspec.lock | 94 +++++----- ios/gigya_flutter_plugin.podspec | 2 +- 9 files changed, 171 insertions(+), 126 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 1898d3ab..31a68e34 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -58,7 +58,7 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // Gigya SDK core implementation. - api 'com.sap.oss.gigya-android-sdk:sdk-core:7.0.+' + api 'com.sap.oss.gigya-android-sdk:sdk-core:7.1.+' api 'com.github.SAP.gigya-android-sdk:sdk-auth:auth-v2.2.0' api 'com.github.SAP.gigya-android-sdk:sdk-biometric:bio-v2.1.2' diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index e1774ea6..ee5c2d04 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 33 + compileSdkVersion 34 sourceSets { main.java.srcDirs += 'src/main/kotlin' @@ -87,7 +87,7 @@ dependencies { implementation 'com.facebook.android:facebook-android-sdk:14.1.1' // Google (Optional) - implementation 'com.google.android.gms:play-services-auth:20.5.0' - + implementation 'androidx.credentials:credentials-play-services-auth:1.2.2' + implementation 'com.google.android.libraries.identity.googleid:googleid:1.1.0' } diff --git a/example/android/app/src/main/kotlin/com/sap/gigya_flutter_plugin_example/gigya/providers/GoogleProviderWrapper.java b/example/android/app/src/main/kotlin/com/sap/gigya_flutter_plugin_example/gigya/providers/GoogleProviderWrapper.java index a8478503..8ab896ea 100644 --- a/example/android/app/src/main/kotlin/com/sap/gigya_flutter_plugin_example/gigya/providers/GoogleProviderWrapper.java +++ b/example/android/app/src/main/kotlin/com/sap/gigya_flutter_plugin_example/gigya/providers/GoogleProviderWrapper.java @@ -1,11 +1,22 @@ package com.sap.gigya_flutter_plugin_example.gigya.providers; import android.content.Context; -import android.content.Intent; import android.os.Bundle; +import android.os.CancellationSignal; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; +import androidx.credentials.ClearCredentialStateRequest; +import androidx.credentials.Credential; +import androidx.credentials.CredentialManager; +import androidx.credentials.CredentialManagerCallback; +import androidx.credentials.GetCredentialRequest; +import androidx.credentials.GetCredentialResponse; +import androidx.credentials.exceptions.ClearCredentialException; +import androidx.credentials.exceptions.GetCredentialException; +import androidx.credentials.exceptions.NoCredentialException; import com.sap.gigya_flutter_plugin_example.R; import com.gigya.android.sdk.GigyaLogger; @@ -13,16 +24,11 @@ import com.gigya.android.sdk.providers.external.IProviderWrapperCallback; import com.gigya.android.sdk.providers.external.ProviderWrapper; import com.gigya.android.sdk.ui.HostActivity; -import com.google.android.gms.auth.api.signin.GoogleSignIn; -import com.google.android.gms.auth.api.signin.GoogleSignInAccount; -import com.google.android.gms.auth.api.signin.GoogleSignInClient; -import com.google.android.gms.auth.api.signin.GoogleSignInOptions; -import com.google.android.gms.auth.api.signin.GoogleSignInStatusCodes; -import com.google.android.gms.common.api.ApiException; -import com.google.android.gms.tasks.Task; - -import java.util.HashMap; +import com.google.android.libraries.identity.googleid.GetGoogleIdOption; +import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential; + import java.util.Map; +import java.util.concurrent.Executor; /** * Google sign in wrapper class. @@ -32,12 +38,18 @@ public class GoogleProviderWrapper extends ProviderWrapper implements IProviderWrapper { private static final int RC_SIGN_IN = 0; - private GoogleSignInClient _googleClient; + + private final CredentialManager _credentialsManager; + + private final Executor _executor; + final Context context; public GoogleProviderWrapper(Context context) { super(context, R.string.google_client_id); this.context = context; + _credentialsManager = CredentialManager.create(context); + _executor = ContextCompat.getMainExecutor(context); } @Override @@ -46,80 +58,93 @@ public void login(Context context, final Map params, final IProv callback.onFailed("Missing server client id. Check manifest implementation"); return; } - GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) - .requestServerAuthCode(pId) - .requestEmail() - .build(); - _googleClient = GoogleSignIn.getClient(context, gso); - // Not using cached account. Server auth code can be used only once. - authenticate(params, callback); + authenticate(params, callback, true); } - private void authenticate(final Map params, final IProviderWrapperCallback callback) { + private void handleSignIn(GetCredentialResponse getCredentialResponse, final Map params, final IProviderWrapperCallback callback) { + Credential credential = getCredentialResponse.getCredential(); + if (credential.getType().equals(GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL)) { + GoogleIdTokenCredential googleIdTokenCredential = + GoogleIdTokenCredential.createFrom(credential.getData()); + params.put("idToken", googleIdTokenCredential.getIdToken()); + callback.onLogin(params); + } else { + GigyaLogger.error("GoogleProviderWrapper", "Unexpected type of credential"); + // ERROR. + callback.onFailed("Unexpected type of credential"); + } + } + + private void authenticate(final Map params, + final IProviderWrapperCallback callback, + boolean setFilterByAuthorizedAccounts) { HostActivity.present(context, new HostActivity.HostActivityLifecycleCallbacks() { @Override public void onCreate(AppCompatActivity activity, @Nullable Bundle savedInstanceState) { - Intent signInIntent = _googleClient.getSignInIntent(); - activity.startActivityForResult(signInIntent, RC_SIGN_IN); - } - @Override - public void onActivityResult(AppCompatActivity activity, int requestCode, int resultCode, @Nullable Intent data) { - if (requestCode == RC_SIGN_IN) { - Task task = GoogleSignIn.getSignedInAccountFromIntent(data); - handleSignInResult(params, activity, task, callback); - } + GetGoogleIdOption googleIdOption = new GetGoogleIdOption.Builder() + .setFilterByAuthorizedAccounts(setFilterByAuthorizedAccounts) + .setAutoSelectEnabled(true) + .setServerClientId(pId) + .build(); + + GetCredentialRequest request = new GetCredentialRequest.Builder() + .addCredentialOption(googleIdOption) + .build(); + + credentialsSignIn(activity, params, request, setFilterByAuthorizedAccounts, callback); } }); } - private void handleSignInResult(final Map loginParams, AppCompatActivity activity, Task completedTask, final IProviderWrapperCallback callback) { - try { - GoogleSignInAccount account = completedTask.getResult(ApiException.class); - if (account == null) { - callback.onFailed("Account unavailable"); - } else { - /* Fetch server auth code */ - final String authCode = account.getServerAuthCode(); - if (authCode == null) { - callback.onFailed("Id token no available"); - } else { - final Map loginMap = new HashMap<>(); - loginMap.put("code", authCode); - callback.onLogin(loginMap); + private void credentialsSignIn(AppCompatActivity activity, + final Map params, + GetCredentialRequest request, + boolean setFilterByAuthorizedAccounts, + final IProviderWrapperCallback callback) { + _credentialsManager.getCredentialAsync(activity, request, + new CancellationSignal(), + _executor, + new CredentialManagerCallback() { + @Override + public void onResult(GetCredentialResponse getCredentialResponse) { + handleSignIn(getCredentialResponse, params, callback); + activity.finish(); + } + + @Override + public void onError(@NonNull GetCredentialException e) { + GigyaLogger.debug("GoogleProviderWrapper", "login exception: " + e); + if (e instanceof NoCredentialException && setFilterByAuthorizedAccounts) { + authenticate(params, callback, false); + } else { + callback.onFailed(e.getLocalizedMessage()); + activity.finish(); + } + } } - } - activity.finish(); - } catch (ApiException e) { - final int exceptionStatusCode = e.getStatusCode(); - switch (exceptionStatusCode) { - case GoogleSignInStatusCodes.SIGN_IN_CANCELLED: - callback.onCanceled(); - break; - case GoogleSignInStatusCodes.SIGN_IN_FAILED: - default: - callback.onFailed(GoogleSignInStatusCodes.getStatusCodeString(exceptionStatusCode)); - break; - } - activity.finish(); - } + ); } @Override public void logout() { - if (_googleClient == null) { - if (pId == null) { - GigyaLogger.error("GoogleLoginProvider", "provider client id unavailable for logout"); - return; - } - GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) - .requestServerAuthCode(pId) - .requestEmail() - .build(); - _googleClient = GoogleSignIn.getClient(context, gso); - } - _googleClient.signOut(); + ClearCredentialStateRequest request = new ClearCredentialStateRequest(); + _credentialsManager.clearCredentialStateAsync(request, new CancellationSignal(), + _executor, + new CredentialManagerCallback() { + @Override + public void onResult(Void unused) { + GigyaLogger.debug("GoogleProviderWrapper", "logout success"); + } + + @Override + public void onError(@NonNull ClearCredentialException e) { + GigyaLogger.debug("GoogleProviderWrapper", "logout exception: " + e); + } + } + ); } + } diff --git a/example/ios/Runner/GigyaProviders/FacebookWrapper.swift b/example/ios/Runner/GigyaProviders/FacebookWrapper.swift index 356318eb..5e2efc06 100644 --- a/example/ios/Runner/GigyaProviders/FacebookWrapper.swift +++ b/example/ios/Runner/GigyaProviders/FacebookWrapper.swift @@ -11,13 +11,15 @@ import FBSDKCoreKit import FBSDKLoginKit import Gigya +// MARK: - for Gigya v1.7.0+ + class FacebookWrapper: ProviderWrapperProtocol { private var completionHandler: (_ jsonData: [String: Any]?, _ error: String?) -> Void = { _, _ in } var clientID: String? - private let defaultReadPermissions = ["email"] + private let defaultReadPermissions = ["email", "user_birthday", "user_gender", "user_hometown", "user_location"] lazy var fbLogin: LoginManager = { return LoginManager() @@ -33,7 +35,7 @@ class FacebookWrapper: ProviderWrapperProtocol { fbLogin.logIn(permissions: defaultReadPermissions, from: viewController) { (result, error) in if result?.isCancelled != false { - completion(nil, "cancelled") + completion(nil, "canceled") return } @@ -41,8 +43,8 @@ class FacebookWrapper: ProviderWrapperProtocol { completion(nil, error.localizedDescription) } - let jsonData: [String: Any] = ["accessToken": result?.token?.tokenString ?? "", "tokenExpiration": result?.token?.expirationDate.timeIntervalSince1970 ?? 0] - + let jsonData: [String: Any] = ["authToken": result?.token?.tokenString ?? "", "idToken": result?.authenticationToken?.tokenString ?? "", "tokenExpiration": Int32(result?.token?.expirationDate.timeIntervalSince1970 ?? 0)] + completion(jsonData, nil) } } diff --git a/example/ios/Runner/GigyaProviders/GoogleWrapper.swift b/example/ios/Runner/GigyaProviders/GoogleWrapper.swift index 70760bf9..2f1d0cb6 100644 --- a/example/ios/Runner/GigyaProviders/GoogleWrapper.swift +++ b/example/ios/Runner/GigyaProviders/GoogleWrapper.swift @@ -2,7 +2,7 @@ // GoogleWrapper.swift // GigyaSwift // -// Created by Shmuel, Sagi on 15/04/2019. +// Created by Shmuel, Sagi on 15/07/2023. // Copyright © 2019 Gigya. All rights reserved. // @@ -10,8 +10,8 @@ import UIKit import GoogleSignIn import Gigya - -// MARK: - Google Sign In V6 wrapper +// MARK: - for Gigya v1.7.0+ +// MARK: - Google Sign In V7 wrapper class GoogleWrapper: ProviderWrapperProtocol { var clientID: String? = { @@ -34,15 +34,17 @@ class GoogleWrapper: ProviderWrapperProtocol { let signInConfig = GIDConfiguration.init(clientID: clientID, serverClientID: googleServerClientID) - GIDSignIn.sharedInstance.signIn(with: signInConfig, presenting: viewController) { user, error in + GIDSignIn.sharedInstance.configuration = signInConfig + + GIDSignIn.sharedInstance.signIn(withPresenting: viewController) { user, error in guard error == nil else { completion(nil, error?.localizedDescription) return } + + let jsonData: [String: Any] = ["idToken": user?.user.idToken?.tokenString ?? ""] - let jsonData = ["accessToken": user?.serverAuthCode ?? ""] completion(jsonData, nil) - } } diff --git a/example/lib/routes/login_with_credentials_page.dart b/example/lib/routes/login_with_credentials_page.dart index c7827dca..4eb27506 100644 --- a/example/lib/routes/login_with_credentials_page.dart +++ b/example/lib/routes/login_with_credentials_page.dart @@ -214,7 +214,7 @@ class _LoginWithCredentialsPageState extends State { return; } - scaffoldState.showBottomSheet( + scaffoldState.showBottomSheet( (BuildContext context) => Material( color: Colors.white, elevation: 4, @@ -276,7 +276,7 @@ class _LoginWithCredentialsPageState extends State { return; } - scaffoldState.showBottomSheet( + scaffoldState.showBottomSheet( (BuildContext context) => Material( color: Colors.white, elevation: 4, diff --git a/example/lib/routes/one_time_password_login_page.dart b/example/lib/routes/one_time_password_login_page.dart index 80395e4c..d741f0d6 100644 --- a/example/lib/routes/one_time_password_login_page.dart +++ b/example/lib/routes/one_time_password_login_page.dart @@ -60,7 +60,7 @@ class _OneTimePasswordLoginPageState extends State { PendingOtpVerification verification, String phone, ) { - _scaffoldKey.currentState?.showBottomSheet((BuildContext context) { + _scaffoldKey.currentState?.showBottomSheet((BuildContext context) { return Material( color: Colors.white, elevation: 4, diff --git a/example/pubspec.lock b/example/pubspec.lock index bbebb54c..f5d99325 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" fake_async: dependency: transitive description: @@ -78,7 +78,7 @@ packages: path: ".." relative: true source: path - version: "1.0.5" + version: "1.0.6" google_sign_in: dependency: "direct main" description: @@ -91,26 +91,26 @@ packages: dependency: transitive description: name: google_sign_in_android - sha256: "8d76099cb220d4f10c7e3c24492814c733f48ecb574c45c0ccadf5d5e50b012d" + sha256: "5a47ebec9af97daf0822e800e4f101c3340b5ebc3f6898cf860c1a71b53cf077" url: "https://pub.dev" source: hosted - version: "6.1.19" + version: "6.1.28" google_sign_in_ios: dependency: transitive description: name: google_sign_in_ios - sha256: "8edfde9698b5951f3d02632eceb39cc283865c3cff0b03216bf951089f10345b" + sha256: a058c9880be456f21e2e8571c1126eaacd570bdc5b6c6d9d15aea4bdf22ca9fe url: "https://pub.dev" source: hosted - version: "5.6.3" + version: "5.7.6" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface - sha256: "35ceee5f0eadc1c07b0b4af7553246e315c901facbb7d3dadf734ba2693ceec4" + sha256: "1f6e5787d7a120cc0359ddf315c92309069171306242e181c09472d1b00a2971" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.5" google_sign_in_web: dependency: transitive description: @@ -127,6 +127,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lints: dependency: transitive description: @@ -139,50 +163,42 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.12.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d - url: "https://pub.dev" - source: hosted - version: "2.1.6" - quiver: - dependency: transitive - description: - name: quiver - sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "2.1.8" sky_engine: dependency: transitive description: flutter @@ -200,18 +216,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -232,10 +248,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.7.0" vector_math: dependency: transitive description: @@ -244,14 +260,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - web: + vm_service: dependency: transitive description: - name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "14.2.1" sdks: - dart: ">=3.1.0-185.0.dev <4.0.0" - flutter: ">=3.7.0" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/ios/gigya_flutter_plugin.podspec b/ios/gigya_flutter_plugin.podspec index 3dd26b4f..d4580285 100644 --- a/ios/gigya_flutter_plugin.podspec +++ b/ios/gigya_flutter_plugin.podspec @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.source = { :path => '.' } s.source_files = 'Classes/**/*' s.dependency 'Flutter' - s.dependency 'Gigya', '>= 1.6.2' + s.dependency 'Gigya', '>= 1.7.0' s.dependency 'GigyaAuth', '>= 1.1.2' s.platform = :ios, '13.0' From a6b9c7b026f4491027545b6bb0657372dee7e027 Mon Sep 17 00:00:00 2001 From: Tal Mirmelshtein Date: Wed, 31 Jul 2024 09:43:49 +0300 Subject: [PATCH 2/3] Preparing version update 1.0.7 --- CHANGELOG.md | 7 +++++++ example/pubspec.yaml | 2 +- pubspec.yaml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bce430be..fe00b5d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# 1.0.7 +1.0.7 + +* Updated Android core 7.1.0 - https://github.com/SAP/gigya-android-sdk/releases/tag/core-v7.1.0 +* Updated Swift Core 1.7.0 - https://github.com/SAP/gigya-swift-sdk/releases/tag/core%2Fv1.7.0 +* Please read each platform requirement changes for supporting social sign in. + # 1.0.6 1.0.6 diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 09560501..57b99c3a 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,6 +1,6 @@ name: gigya_flutter_plugin_example description: Demonstrates how to use the gigya_flutter_plugin plugin. -version: 1.0.6 +version: 1.0.7 homepage: https://www.sap.com publish_to: none diff --git a/pubspec.yaml b/pubspec.yaml index 125f0872..e818689b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: gigya_flutter_plugin description: SAP Gigya Flutter plugin -version: 1.0.6 +version: 1.0.7 homepage: https://github.com/SAP/gigya-flutter-plugin environment: From 1c38a4ae822ff571319d3424956048078bd66a12 Mon Sep 17 00:00:00 2001 From: Tal Mirmelshtein Date: Wed, 31 Jul 2024 11:23:30 +0300 Subject: [PATCH 3/3] Fixing Swift version reporting --- ios/Classes/GigyaSdkWrapper.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Classes/GigyaSdkWrapper.swift b/ios/Classes/GigyaSdkWrapper.swift index 12ab16f5..8ce1b43d 100644 --- a/ios/Classes/GigyaSdkWrapper.swift +++ b/ios/Classes/GigyaSdkWrapper.swift @@ -50,7 +50,7 @@ public class GigyaSdkWrapper :GigyaInstanceProtocol { init(accountSchema: T.Type) { // Initializing the Gigya SDK instance. - GigyaDefinitions.versionPrefix = "flutter_1.0.6_" + GigyaDefinitions.versionPrefix = "flutter_1.0.7_" sdk = Gigya.sharedInstance(accountSchema) GigyaAuth.shared.register(scheme: accountSchema) }