💿
Configure Gdrive Storage
This is to allow your app to have access to store files in your users google drive.
To enable Google Drive backups you will need to create a Google Project within your organization that will act as the OAuth consumer.
- Search for
Google Drive API
, select it, and clickEnable
- Click on OAuth consent screen
- For user type select internal.
- Fill out the relevant information.
Skip scopes as we configure that within our sdk. - Click on Credentials in the left menu and select
+ Create Credentials
Android
iOS
- Select
OAuth client ID
and chooseAndroid
from theApplication Type
list - Fill in the form as instructed, with
Name
,Package name
, andSHA-1
from your Keystore.- Note that when testing you'll want to use your debug.keystore at /android/app/debug.keystore; However, you'll need to switch this value when pushing it to the store.
- Find the Sha-1 fingerprint with this command from the root project folder:
keytool -keystore ./app/debug.keystore -list -v
- Once you have successfully created your
Android Client ID
, download the JSON, and rename it to begoogle-service.json
- Move the downloaded file into the
/app
directory (or the/android/app
directory if you're using React Native). - Click on Credentials in the left menu, select
+ Create Credentials
again, and selectOauth client ID
again. Then selectWeb Application
as the Application type. - Input the
Name
. Then click create and copy the value fromYour Client ID
. - This value is what you will pass into the
PortalOptions
config when instantiating yourPortal
class. - Add emails for internal testing until you've published your app for external use.
- Select
OAuth client ID
and chooseiOS
from theApplication Type
list - Get your
Bundle ID
from the react-native / iOS project - Once you've successfully created your iOS client ID, download the .plist config and copy the
REVERSED_CLIENT_ID
to the URL Scheme section of yourinfo.plist
either in xcode or your IDE:
info.plist
1
...
2
<key>CFBundleURLTypes</key>
3
<array>
4
<dict>
5
<key>CFBundleTypeRole</key>
6
<string>Editor</string>
7
<key>CFBundleURLSchemes</key>
8
<array>
9
<string>REVERSE_CLIENT_ID</string>
10
</array>
11
</dict>
12
</array>
13
...
- Rename the downloaded
.plist
file toGoogleService-Info.plist
and save that to your/ios
directory - Copy and paste the
Client ID
from theGoogleService-Info.plist
into thePortalOptions
config object when instantiating yourportal
class
Note: If using Android, in order for Google Authentication results to be properly handled by your Activity, you'll need to register function within your Activity.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (portal.backup.drive.auth.onActivityResult != null) {
portal.backup.drive.auth.onActivityResult!!(requestCode, resultCode, data)
}
}
Last modified 1mo ago