Search code examples
androidfirebasegoogle-play-console

Upload App From Firebase App Distribution to Google Play Android


I am searching way for uploading app from Firebase App Distribution to google play.

Currently I have implemented GitHub actions where my application automatically push to the firebase app distribution and delivered to testers,

is there any way where I can directly push app from firebase app distribution to google play ?.

Thanks.

Git Action

name: Deploy Application Manual
on: workflow_dispatch
jobs:
  build:
    runs-on: ubuntu-latest
    environment: 
      name: qus
    steps:
      - name: Decode Keystore File
        id: decode_keystore
        uses: timheuer/base64-to-file@v1
        with:
          fileName: 'keystore/keystore.jks'
          encodedString: ${{ secrets.KEYSTORE }}
      - uses: actions/checkout@v2
      - name: set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Make gradlew executable
        run: chmod +x ./gradlew
      - name: Build Release Bundle
        run: ./gradlew app:bundleRelease
        env:
          SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
          SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
          SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
      - name: Upload Build
        uses: actions/upload-artifact@v2
        with:
          name: Build Artifacts & Save
          path: app/build/outputs/
      - name: Upload Artifact to Firebase Distribution using credential file content
        uses: wzieba/Firebase-Distribution-Github-Action@v1
        with:
          appId: ${{secrets.FIREBASE_APP_ID}}
          groups: testers
          releaseNotesFile: README.md
          file: app/build/outputs/bundle/release/App-release.aab
          #serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }}
          token: ${{secrets.FIREBASE_TOKEN}}

Solution

  • I am able to post build in different tracks using below script.


    I have used this actions

    https://github.com/r0adkll/upload-google-play

    Action File.yml

    name: Deploy Application to Google Play Internal Track
    on:
     push:
       tags:
         - "v*"
    
    jobs:
      build:
    
        runs-on: ubuntu-latest
        environment: 
              name: '{YOURENVIRONMENT}'
        steps:
          - uses: actions/checkout@v1
    
          - name: Set Up JDK
            uses: actions/setup-java@v1
            with:
              java-version: 11
    
          - name: Change wrapper permissions
            run: chmod +x ./gradlew
    
          - name: Build Project
            run: ./gradlew build
    
          - name: Build Release AAB      // 1
            run: ./gradlew bundleRelease
    
          - name: Sign AAB               // 2
            uses: r0adkll/sign-android-release@v1
            with:
              releaseDirectory: app/build/outputs/bundle/release
              signingKeyBase64: ${{ secrets.KEYSTORE }}
              alias: ${{ secrets.SIGNING_KEY_ALIAS }}
              keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }}
              keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
    
          - name: Deploy to Play Store   // 3
            uses: r0adkll/upload-google-play@v1.0.19
            with:
              serviceAccountJsonPlainText: ${{secrets.CREDENTIAL_FILE_CONTENT}}
              packageName: '{YOUPACKAGE}'
              releaseFiles: app/build/outputs/bundle/release/**.aab
              track: internal
              inAppUpdatePriority: 5
              whatsNewDirectory: distribution/whatsnew
              status: completed