Uploader
This package is used for creating AAB/APK and IPA files, and sending them to Play Console, TestFlight, and Firebase App Distribution
Installation
IOS
- Create a JSON file with
issuer_id
andauth_key
, and provide the path of the JSON file to theUploader
'stestFlightConfig->path
parameter. - issuer_id can be obtained in
Users and Access
underApp Store Connect
. - For
auth_key
, create a newDeveloper Key
in the same section asissuer_id
. The id value of this key can be used as theauth_key
. Download the created key file and place it in the~/private_keys/
directory on the computer where the package will be called.
ANDROID
- Configure the
keystore
(https://developer.android.com/studio/publish/app-signing#secure-shared-keystore). - Activate the
Google Play Android Developer API
onGoogle Cloud
(https://console.developers.google.com/apis/api/androidpublisher.googleapis.com/?hl=en). - Create a
service account
from this link: https://console.cloud.google.com/iam-admin/serviceaccounts?hl=en. After creating theservice account
, generate a newJSON
Key
file from theKeys
tab of theservice account
. Provide the path of this JSON file to theUploader
'splayStoreConfig->path
parameter. - Finally, the service account needs to be granted permission. From the
Users and Permissions
section of theGoogle Play Console
, send an invitation to theservice account
email withAdmin
orReleases
permissions.
FIREBASE APP DISTRIBUTION
- Install
Firebase CLI
(https://firebase.google.com/docs/cli?hl=tr). - Activate
App Distribution
onFirebase
. - Under Settings in
Firebase
, integrate withGoogle Play
in theIntegrations
tab. If the app has not been published yet, this integration cannot be done, and in this case,Uploader
'sandroidBuildType
parameter should be set toapk
.
Usage
dev_dependencies:
uploader: any
uploader:
platform: all # ios, android, all
uploadType: all # appDistribution, store, all
testFlightConfig:
path: ios_deploy_config.json # must include auth_key and issuer_id
playStoreConfig:
path: android_deploy_config.json # must include client_email, client_id, private_key
track: internal # internal, alpha, beta
skslPath: null
appDistributionConfig:
androidBuildType: abb # abb, apk
androidTesters:
path: android/testers.txt
iosTesters:
url: https://testers.txt
releaseNotesPath: release_notes.txt
useParallelUpload: true # default:true
enableLogFileCreation: false # default: false.
extraBuildParameters: null