Prepare
This documents contains instructions for setting up the required configuration of various things such as Facebook app, Firebase project & more before you actually proceed with installation.
Before starting with either of server side or Android configuration, you will need a few things set up.
Prerequisites
On development machine, you must have at least below tools available:
Latest Android Studio with latest Command-line Tools.
Oracle's JDK 1.8 or newer.
Have a Privacy Policy and Terms of Use for your app hosted elsewhere e.g., Google Sites.
Signing keystore
You need to have a keystore to setup a Facebook app and a Firebase project before anything else. There's a YouTube video on https://bit.ly/muly-keystore-hash which you can follow to do this easily.
If you want to do that without the video instructions, please navigate to JDK's bin directory (typically C:\Program Files\Java\jdk-xxx\bin
), open a command prompt there and run below command. Make sure to replace yourapp
with your application short name (with no symbols and spaces).
# make a note of the password you enter below
keytool -genkey -v -keystore "%USERPROFILE%/Desktop/release.jks" -deststoretype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias muly
# make note of the SHA-1/256 from release & debug certificate
# password for release is what you chose above
keytool -list -v -alias muly -keystore "%USERPROFILE%/Desktop/release.jks"
# password for debug keystore is: android
keytool -list -v -alias androiddebugkey -keystore "%USERPROFILE%/.android/debug.keystore"
This above create a keystore named release.jks
on your Desktop and show you the SHA-1/256 hashes for your debug & release keystores. Now open https://bit.ly/vpz-keyhash in your browser and use the form on the right to generate Base64 version of the SHA-1 hash required for Facebook setup.
Facebook setup
Go to https://developers.facebook.com/ and login with your Facebook account.
Click the Create App button.
Choose Something Else and click Continue.
Enter the App Display Name e.g., Your app and click Create App.
In the side menu, click on the "+" sign besides Products.
Click on Set Up button under Facebook Login.
Click on Android.
Click Next until 3rd step, then enter
com.yourapp.android
in Package Name andcom.yourapp.android.activities.MainActivity
in Default Activity Class Name fields, then click Save (replace package name as desired).Click Continue to go to 4th step and enter the value of SHA-1 + Base64 obtained above from your debug & release keystores (both) in the Key Hashes field and click Save.
Click Continue to go to 5th step and turn on Single Sign On. Then click Save and Next until the wizard finishes.
Now go to Settings > Basic from the side menu.
Fill in the Privacy Policy URL and Terms of Service URL in respective fields.
Choose
Yourself or your own business
under App Purpose.Choose
Social Networks & Dating
under Category.Turn on the checkbox before In development to enable live mode.
Make note of App ID and App Secret, you will need those later.
Now go to Settings > Advanced from the side menu.
Make note of the Client token shown under Security, you will need it later.
Firebase setup
Go to https://console.firebase.google.com/ and login with your Google account.
Click on Add project button.
Enter your desired project name e.g., Your app and click Continue.
Click Continue again with default Analytics settings.
In Choose or create a Google Analytics account dropdown, select
Create a new account
and enter your project name again e.g., Your app and click Save.Choose your country e.g.,
India
in Analytics location dropdown, read and accept the terms and click on Create project button.Click Continue after project has been created to move to console.
Click on the
Android
button under Get started by adding Firebase to your app heading.Enter your app's package name e.g.,
com.yourapp.android
in the Android package name field.Enter your app's display name e.g.,
Your app
in the App nickname field.Keep clicking on Next until the Continue to console button shows up and finally click on it.
In the side menu, click on Gear icon besides Project overview and click Project settings.
In General tab, choose a Support email under Public settings.
Below on the same page under SHA certificate fingerprints, click on Add fingerprint.
Enter the SHA-1 and SHA-256 (one by one) obtained above from the your debug & release keystores (both), then click Save.
From side menu, click on Authentication, then click on Get started and finally go to Sign-in methods tab.
Enable Phone and Google options there.
From side menu again, click on Dynamic Links and then click on Get started.
Enter your app's short, URL friendly name e.g.,
yourapp
withpage.link
e.g.,yourapp.page.link
in the Domain field and click Continue, then Finish.Now go back to settings using Gear icon besides Project overview and clicking on Project settings.
In General tab, scroll down and click on
google-services.json
button to download the configuration file you will need later.Now open the
google-services.json
file in a text editor and make not of the client ID for client with type3
, you will also need this later.Then go to Service accounts tab and click the Generate new private key button at the bottom, then click Generate key.
Go to https://console.cloud.google.com/ and select the same project associated with Firebase.
From the side menu, go to APIs & Services > Library.
Search for
Android Device Verification
and click on it.Click on the Enable button.
Files on S3 (AWS)
Go to https://console.aws.amazon.com/ and login with your Amazon account.
Click on Services, then search for IAM and click on it.
From the side menu, click on Users and then click Add user.
In User name field, enter
Muly
.In Access type options, enable
Programmatic access
.Click on the Next: Permissions button.
Click on the Attach existing policies directly button.
Search for
AmazonS3FullAccess
policy and select it.Click on the Next: Tags button, then click Next: Review and lastly Create user.
Make a note of Access key ID and Secret access key, you will need those later.
Now, from Services menu again, search for and click on S3.
Click on Create bucket button.
Enter a URL friendly bucket name e.g.,
yourapp-files
and select your nearest Region.Please also make note of bucket name and region code e.g.,
us-east-1
that you select, you will need it later.Uncheck the Block all public access checkbox.
Scroll to bottom and click Create bucket.
Files on Spaces (DigitalOcean)
Go to https://cloud.digitalocean.com/ and login with your DigitalOcean account.
Click on Create and then click on Spaces.
Choose the closed region and click on Enable CDN.
Scroll down and enter a URL friendly, short name for your Space e.g.,
yourapp-files
.Click on Create space button.
Once created, under your Space name you will see a URL e.g.,
https://yourapp-files.xxx0.digitaloceanspaces.com
where xxx0 is your region code.Make a note of your created Space name and region code, you will need those later.
Now from the side menu, click on Account and then API.
Scroll down and click on Generate new key under Spaces access keys.
In the name field, enter
Muly
and click the tick mark.Make a note of the key ID and secret shown, you will need it later.
Files on B2 (Backblaze)
Go to https://www.backblaze.com/index.html and sign in to your Backblaze account.
From the side menu, click on Buckets and then click on Create a Bucket.
Enter a URL friendly, short name for your bucket e.g.,
yourapp-files
in Bucket Unique Name field.From Files in Bucket are options, select
Public
.Click on the Create a Bucket button.
From bucket information shown, make note of bucket Name and Endpoint, you will need those later.
In the side menu, click on App Keys.
Scroll down and click on Add a New Application Key.
In Name of Key field, enter
Muly
and click on Create New Key.Make a note of keyID and applicationKey, you will need these later.
Files on Cloud Storage (GCP)
Go to https://console.cloud.google.com/ and login with your Google account.
Select the project associated with Firebase console (recommended) or create a new project.
In the side menu, click on IAM & Admin > Service Accounts.
Click on Create Service Account button.
In the Service account name field, enter
Muly
and click Create.From Roles options, choose Cloud Storage > Storage Admin and click Continue and then Done.
From the list of Service accounts, locate Muly and click the menu button (3 vertical dots) then click Create key.
Choose
JSON
as Key type and click on Create.From the side menu, click on Storage and then click on Create bucket.
Enter a URL friendly bucket name e.g.,
yourapp-files
and click Continue.From Location type options, select
Region
.From Location options, choose your nearest region.
Make a note of the bucket name and region code you selected e.g.,
us-east-1
as you will need it later.Finally, click on Create.
Screening with Sightengine
Go to https://dashboard.sightengine.com/ and login to your Sightengine account.
From the side menu, go to API keys.
Make a note of API user and API secret shown, you will need them later.
Screening with Rekognition (AWS)
No specific credentials are needed.
Screening with Cloud Video Intelligence (GCP)
No specific credentials are needed.
Billing with Play Store
Go to https://play.google.com/apps/publish and login with your Play Console account.
From the side menu, go to Settings > Developer account > API access.
From options under Linked Google Cloud project, choose
Create new project
and click Link Project button.Scroll down to Service accounts, click on Create new service account.
Click on the Google Cloud Platform link.
Click on the Create service account button.
In the Service account name field, enter
Muly
and click Create.In Role field, choose Project > Viewer and click Continue and then click Done.
From the list of Service accounts, locate Muly and click the menu button (3 vertical dots) then click Create key.
Choose
JSON
as Key type and click on Create to download the key file you will need later.Go back to Settings > Developer account > API access in Play Console.
Click on Refresh accounts in Service accounts section.
Click on Grant access in your newly created service account e.g.,
muly-xxx@pc-api-xxx-xx.iam.gserviceaccount.com
row.In the Account permissions tab, turn on View financial data, orders and cancellation survey responses and Manage orders and subscriptions in Financial data section.
Click on Invite user and then lastly, Send invitation.
Billing with Stripe
Go to https://dashboard.stripe.com/ and login with your Stripe account.
From side menu, go to Developers > API keys.
Make note of your Publishable key and Secret key, you will need it later.
Billing with PayPal
Go to https://developer.paypal.com/developer/applications and login with your PayPal account.
Go to Live tab and click on Create App.
Enter
Muly
in App Name field and click Create App.Make note of the Client ID and Secret, you will need those later.
Billing with Instamojo
Go to https://www.instamojo.com/ and login to your Instamojo account.
In the side menu, click on API & Plugins.
Scroll down and click on Create new Credentials button.
Choose anything e.g.,
WooCommerce/WordPress
and click Generate Credentials button.Make note of the shown Client ID and Client Secret, you will need those later.
Billing with Razorpay
Go to https://dashboard.razorpay.com/ and login with your Razorpay account.
From side menu, click on Settings at the bottom.
Go to API Keys tab and generate a live key.
Make note of the Key Id and Key Secret as you will need them later.
OTPs with Firebase
No specific credentials are needed.
OTPs with MSG91
Go to https://control.msg91.com/ and login to your MSG91 account.
From side menu, click on Authkey under Configuration.
Create New or copy your Default key, you will need it later.
OTPs with Twilio
Go to https://www.twilio.com/console and login to your Twilio account.
Make note of the account SID and auth token for use later.
From side menu, click on Verfiy under Engagement Cloud.
In Services tab, click on Create new service.
Enter
Muly
in the Friendly name field and Create.Copy the Service ID as you will need it later.
Live streaming (using Agora)
Go to https://console.agora.io/ and login to your Agora account.
From the sidebar, go to Project management.
Click on Create button.
Enter a Project name e.g.,
Muly
.Select any Use case e.g.,
Social / Live stream
.in ID authentication type, choose
Secured mode: APP ID + Token
.Click on Submit button.
Click edit (pencil) icon on the right of your newly created project.
Copy App ID and App certificate, you'll need them later.
Location with Google Maps
Go to https://console.cloud.google.com/ and login with your Google account.
From the side menu, click on Billing and then click on Create Account button.
In the Name field, enter your
Muly
and chooseGoogle Maps Platform
in the Business the billing account will pay for field.Click on Create, complete your Payments profile and create Submit and Enable Billing button.
Now go to https://console.cloud.google.com/projectselector2 and click on Create Project button.
In the Project name field, enter
Muly
.In the Billing account field, choose the billing account we just created i.e.,
Muly
.Click Create button and wait for project creation to finish.
Not go again to https://console.cloud.google.com/projectselector2 and click the Select Project button.
From the side menu, go to APIs & Services > Library.
Click on Places API, then click on Enable.
From the side menu, go to APIs & Services > Credentials.
Click on the Create Credentials button and choose
API key
, then click on Restrict button.Under Application restrictions, choose
Android apps
and then click on Add an Item button.Enter your package name e.g.,
com.yourapp.android
in the Package name field.Paste the SHA-1 key hash (obtained earlier) from generated keystore in SHA-1 certificate fingerprint field.
Click on Done button and lastly, click on Save.
Copy and make note of the value under Key column, you will need this later.
Last updated