# Flutter-ReachFive **Repository Path**: mirrors_bamlab/Flutter-ReachFive ## Basic Information - **Project Name**: Flutter-ReachFive - **Description**: Flutter plugin around reach five native SDKs. Made by BAM ❤️💙💛 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-24 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flutter-ReachFive --- # Installation --- ## Android Prerequisites: - In your `android/app/build.gradle`, update your `minSdkVersion` in your default config : ```gradle defaultConfig { // others configs minSdkVersion 21 } ``` - In your `android/app/src/main/AndroidManifest.xml`, add these lines : ```xml ``` - To use the sdk in release mode, add a file `android/app/proguard-rules.pro` with these lines : (Otherwise a `java.lang.NullPointerException` uncaught exception is thrown when initializing reachFive) ```pro # We need to keep reachfive models from obfuscating otherwise there is # serialization/deserialization errors when building your app in release mode -keep class co.reachfive.identity.sdk.core.models.** {*;} ``` And in your `android/app/build.gradle`, add this line in your release buildTypes : ```gradle buildTypes { // ...others buildTypes release { // ...others lines // Add this line proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") } } ``` - to use the sdk in release mode, you also need to add these lines in your `android/gradle.properties` : ```gradle android.enableR8.fullMode=false ``` --- ## iOS Prerequisites: - In your `ios/Podfile`, update your ios sdk version : ```rb platform :ios, '13.0' ``` - Because of an issue causing WebViewProvider session to be lost by the flutter app, you need to add this dependency override in your `ios/Podfile` : ```rb target 'Runner' do use_frameworks! use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) # Add the next line in your Podfile to use webview providers pod 'IdentitySdkCore', :git => 'git@github.com:bamlab/identity-ios-sdk.git', :tag => '6.1.0.fork' end ``` --- # Implementation login/signup with provider --- ## Android ### WebView Providers Every providers defined in your reachFive console can be accessed through a webview in your app To use webview providers, you need to make the following changes (according to this [doc](https://developer.reachfive.com/sdk-android/8.0.1/guides/web-based-flows.html)) You will need to add a callbackUrl, to your android and reachFive config The url will have this form : {YOUR_SCHEME}://{YOUR_HOST}{YOUR_PATH_PREFIX} This url must match the one given in your SdkConfig androidScheme You must give this url in your SdkConfig androidScheme when initializing your reachFive instance - You need to add this url in the list of authorized callback URL in your reachFive console client - This url must match the `scheme` you give in the reachFive instance initialization - In your `android/app/src/main/AndroidManifest.xml`, add these lines : ```xml ``` ### Google Native Provider To configure the google native provider, you need to give the google provider creator in the ReachFiveManager initialization method and you need to follow these docs : - [Android](https://developer.reachfive.com/sdk-android/8.0.1/index.html#configure-google-native-provider) ### Facebook Native Provider To configure the facebook native provider, you need to give the facebook provider creator in the ReachFiveManager initialization method and you need to follow these docs : - [Android](https://developer.reachfive.com/sdk-android/8.0.1/index.html#facebook-native-provider) --- ## iOS ### WebView Providers Every providers defined in your reachFive console can be accessed through a webview in your app To use webview providers, you need to make the following changes (according to this [doc](https://developer.reachfive.com/sdk-ios/index.html#sdk-webview)) You will need to add a callbackUrlScheme, to your ios config The scheme will have this form : reachfive-{YOUR_CLIENTID} You must give the iosScheme reachfive-{YOUR_CLIENTID}://callback in your SdkConfig iosScheme when initializing your reachFive instance - You need to add this url in the list of authorized callback URL in your reachFive console client - In your `ios/Runner/Info.plist`, add these lines : ```plist CFBundleURLTypes CFBundleTypeRole Editor CFBundleURLSchemes reachfive-{YOUR_CLIENTID} ``` ### Google Native Provider To configure the google native provider, you need to give the google provider creator in the ReachFiveManager initialization method and you need to follow these docs : - [iOS](https://developer.reachfive.com/sdk-ios/index.html#google-native-provider) ### Facebook Native Provider To configure the facebook native provider, you need to give the facebook provider creator in the ReachFiveManager initialization method and you need to follow these docs : - [iOS](https://developer.reachfive.com/sdk-ios/index.html#facebook-native-provider) --- ## About ReachFive This sdk is the flutter interface implementation of the [android](https://github.com/ReachFive/identity-android-sdk) and [ios](https://github.com/ReachFive/identity-ios-sdk) sdks of ReachFive If you want more informations about ReachFive, here is their [website](https://www.reachfive.com/) --- ## 👉 About Bam We are a 100 people company developing and designing multiplatform applications with [React Native](https://www.bam.tech/expertise/react-native) and [Flutter](https://www.bam.tech/expertise/flutter) using the Lean & Agile methodology. To get more information on the solutions that would suit your needs, feel free to get in touch by [email](mailto://contact@bam.tech) or through [contact form](https://www.bam.tech/contact)! We will always answer you with pleasure 😁