Skip to main content

3rd Party Setup

Web Push Notification

  • Create your own firebase Web app from https://console.firebase.google.com with your own web domain/any name.

  • Generate key pair from under Project Setting->Web configuration.

  • Select The Web App from Project Setting->General->Web apps, and you will found SDK setup and configuration section

  • Select Config and copy Firebase configuration object

  • Go to <project>/web/index.html and set firebaseConfig with Firebase configuration object value.

    /web/index.html
    var firebaseConfig = {
    apiKey: "AIzaSyB4NEjiBYcHAbtz2Hy4dc8L7xyngnQQrG4",
    authDomain: "grofresh-web-test.firebaseapp.com",
    projectId: "grofresh-web-test",
    storageBucket: "grofresh-web-test.appspot.com",
    messagingSenderId: "536310321033",
    appId: "1:536310321031:web:a4de7b7eae799c9c0d22",
    measurementId: "536310321034",
    };
  • Also go to <project>/lib/main.dart and change FirebaseOptions argument value with Firebase configuration object value.
    /lib/main.dart
    await Firebase.initializeApp(options: FirebaseOptions(
    apiKey: "AIzaSyB4NEjiBYcHAbtz2Hy4dc8L7xyngnQQrG4",
    authDomain: "grofresh-web-test.firebaseapp.com",
    projectId: "grofresh-web-test",
    storageBucket: "grofresh-web-test.appspot.com",
    messagingSenderId: "536310321033",
    appId: "1:536310321031:web:a4de7b7eae799c9c0d22",
    measurementId: "536310321034",
    ));
tip

You can find the video tutorials here

Web Push Notification Sound Customization

If you want to change default notification sound of web then go to <project>/assets/notification.wav and rand replace notification.wav with your own notification.wav

Facebook Login

  • If you want facebook login in your project then create your own app form https://developers.facebook.com/apps

  • Configure your app form Settings->Basic with your own Display name, Contact email , Privacy Policy URL, Terms of Service URL, App icon

  • Add your platform (web/android/ios) with click Add platform and configure your app.

  • Add Facebook Login form products section.

  • To Configuration setting in App->Facebook Login->Settings->Client OAuth settings enable Client OAuth login, Web OAuth login, Enforce HTTPS, Use Strict Mode for redirect URIs, Login with the JavaScript SDK.

  • Also, you need to add yor Allowed Domains for the JavaScript SDK (ex- https://grofresh-web.6amtech.com)

  • To get profile information you need to request access in App Review->Permissions and features get access for public_profile

  • Now open your flutter project go to <project>/lib/main.dart and replace with your facebook appID

  • For android go to <project>/android/app/src/main/res/values/string.xml and set value.

    /android/app/src/main/res/values/
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <string name="app_name">GroFresh</string>
    <string name="facebook_app_id">YOUR_APP_ID</string>
    <string name="fb_login_protocol_scheme">fb_YOUR_APP_ID</string>
    <string name="facebook_client_token">Go_to_your_fb_app->Settings->Advance->Security->Client token</string>
    </resources>
  • For ios go to ios/Runner/Info.plist and set value

    ios/Runner/Info.plist
    <array>
    <dict>
    <key>CFBundleURLSchemes</key>
    <array>
    <string>fb_your_app_id</string>
    </array>
    </dict>
    <array>

    <key>FacebookAppID</key>
    <string>app_id</string>
    <key>FacebookClientToken</key>
    <string>
    Go_to_your_fb_app->Settings->Advance->Security->Client token
    </string>
    <key>FacebookDisplayName</key>
    <string>name</string>
  • For web go to <project>/lib/main.dart set your appID.

    /lib/main.dart
    await FacebookAuth.instance.webAndDesktopInitialize(
    appId: "YOUR_FB_APP_ID",
    cookie: true,
    xfbml: true,
    version: "v13.0",
    );
tip

You can find the video tutorials here

Google Login

  • If you want to enable your Google login then go to https://console.firebase.google.com and open your Project->Authentication->Sign-in method-> Add new Provider->Additional providers then select Google and enable finlay Save.

  • For android, you need to set fingerprint in Project->Project settings-> Android apps-> add fingerprint then enter your SHA1 and SHA256 and Save.

  • After published on playscape you need to add your SHA1 and SHA256 form App integrity.

  • To found App integrity App signing, go to google play console Project-> Release-> Setup-> App integrity-> App signing

  • Download your google-service and Copy that file and paste it under <project>/android/app/ folder.

  • Go to https://console.cloud.google.com and select your firebase project, you can find your Client id in, APIs & Services-> Credentials -> OAuth 2.0 Client IDs then select Web Client and finally copy the Client ID.

  • For ios go to <project>/ios/Runner/Info.plist and add your Client ID

    /ios/Runner/Info.plist
    <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLSchemes</key>
    <array>
    <string>YOUR_CLIENT_ID</string>
    </array>
    </dict>
  • For web go to <project>/web/index.html and set your CLIENT_ID

    /web/index.html
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
tip

You can find the video tutorials here

Apple Login

To configure Apple Login Sign-up follow the steps mentioned below -

Step 1: Find out Team ID

  • Visit the Apple Developer page.
  • Go to Account and find out Membership details section. There you will find TeamID.

Step 2: Create or Use App ID

info

If you already have an App ID that you want to use for Apple Sign-In, you can skip creating a new one and proceed to the next step.

  • Go to the Identifiers list here.
  • Click the Plus icon besides Identifiers, and then select App IDs and continue
  • Select type App and continue.
  • Provide a brief description and a Bundle ID (the same one used for your app). This identifier will serve as the Client ID for Apple Sign-In.
  • In Capabilities, select the required options like Push Notifications, Sign In with Apple, and Associated Domains (if you want QR-Scan feature).
  • Click Continue and proceed.

Step 3: Create Service ID

  • Go again to the Identifiers list here.
  • Click the Plus icon besides Identifiers, and then select Service IDs and continue
  • Add a description and an identifier for your service, then click Continue
  • Download the file labeled as AuthKey_example.p8. This is the Service File, and the segment "example" within the file name is indicative of the KeyID. To illustrate, if your file is titled AuthKey_XXXXXXXXXX.p8, then XXXXXXXXXX signifies the KeyID.

Step 4: Submit Data in Admin Panel

  • Go to the Admin panel.

  • Navigate to 3rd Party > Social Login > Apple Login setup your data.

  • Use the following information:

    • Client ID: The Bundle ID you previously specified.
    • Team ID: Obtained from the Apple Developer page.
    • Key ID: KeyID from the AuthKey_example.p8 file name.
    • Service File: Downloaded AuthKey_example.p8 file.
  • Save and enable Apple Login status.

By following these steps, you can successfully set up and implement Apple Sign-In in your Project.

tip

Recommended tutorial is below 👇

Firebase OTP Configuration

For configuring OTP in the Firebase, you must create a Firebase project first. If you haven't created any project for your application yet, please follow the instruction given here.

Now go the firebase console and follow the instructions below-

Adding sign-in method

  1. Go to your Firebase project.
  2. Navigate to the Build menu from the left sidebar and select Authentication.
  3. Get started the project and go to the Sign-in method tab.
  4. From the Sign-in providers section, select the Phone option.
  5. Ensure to enable the method Phone and press save.

Admin Panel Configuration

To configure the Admin panel for Firebase OTP verification, follow these steps:

  1. Go to your Firebase project.
  2. In the Project settings, locate your Web API Key and make a copy of it.
  3. Go to the Admin panel.
  4. Navigate to the 3rd Party section.
  5. Select 3rd Party Configuration.
  6. Choose Firebase OTP Verification.
  7. Paste the Web API Key copied from your Firebase project.
  8. Turn on the Firebase OTP Verification Status.
  9. Turn on the Phone Verification option under Business Setup.

Web Configuration

To configure your web domain for Firebase OTP verification:

  1. Go to your Firebase project.
  2. Navigate to the Build menu from the left sidebar and select Authentication.
  3. Go to the Settings tab.
  4. Under the Authorized Domains section, add your web domain without specifying "http" or "https." (for example: example.com).

App Configuration

For configuring the app, follow the steps below-

  1. Go to the Project settings > General > Your apps.
  2. Download google-services.json file for android and GoogleService-Info.plist for IOS app.
  3. Copy that file and paste it under <project>/android/app/ folder for android and under <project>/iOS/ for IOS.