Co-Branded CI/CD Stores Setup

This document lists the steps required for Co-Brands to have a fully integrated publishing pipeline flow.

Uploading builds

Android

Pre-Requisites:

  • Java

If the app in question is a new application with no previous releases, then you just need to make sure that the first build you upload is in a bundle format (AAB), and not package (APK).

If the application has previous releases and not enabled Google Signing (AAB bundles), then you need to perform the following steps:

  • Download existing keystore

    • To do so, go to your application's Play Console.

    • Click on Setup > App signing, on the side menu.

    • You’ll see something like this:

      Screenshot 2024-09-09 at 12.34.56.png
    • Select “Use existing app signing key from Java keystore”. And you should see something like the following:

      Screenshot 2024-09-09 at 13.52.34.png
    • Now click the download link for the encryption public key

  • Download PEPK tool

    • Click on the link to Download the PEPK tool corresponding to your operative system

  • Extract the key from the Keystore using the PEPK tool you just downloaded.
    In the same directory where pepk.jar is, run the following command:

    • java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=encrypted_private_key_path --rsa-aes-encryption --encryption-key-path=/path/to/encryption_public_key.pem # The command ends here. It is only the first line! # # foo.keystore = The path to the keystore that contains the password for the public key # foo = The keystore alias # encrypted_private_key_path = The path to the file where you'd like to save the encryption key # # As an example: # java -jar pepk.jar --keystore=PowUnity.keystore --alias=PowUnity --output=/Users/powunity/application/keys/encryption-key.p12 --rsa-aes-encryption --encryption-key-path=/Users/powunity/Downloads/powunity-key.pem # This example is just an illustration of how it would look with real parameters
  • Upload the extracted private key

    • Click on the link “Upload private key” and select the output file, result of the pepk.jar execution

iOS

First, PowUnity will need to be assigned as an Admin user of the application.

  • Add a new user from the Users page, and grant Admin permission. Please add user with Apple ID dev@powunity.com (this is the PowUnity Development Apple ID)

  • Once PowUnity is assigned as an Administrator, we can handle all certificates and profiles needed to manage your application signing and distribution process.

 

There’s also a way to speed up distribution that you’ll find in the next section of this document.

Automating build uploads

Android

In order for PowUnity to be able to automatically upload new builds to your application stores, you need to perform the following steps:

  • Enable Google Play Developer API (Create Google Cloud project if needed)

    • Open Service Accounts on Google Cloud and select the project you'd like to use

    • Click the CREATE SERVICE ACCOUNT button at the top of the Google Cloud Platform Console page

    • Verify that you are on the correct Google Cloud Platform Project by looking for the Google Cloud Project ID from earlier within the light gray text in the second input, preceding .iam.gserviceaccount.com, or by checking the project name in the navigation bar. If not, open the picker in the top navigation bar, and find the right one.

    • Provide a Service account name (e.g. powunity-supply)

    • Copy the generated email address that is noted below the Service account-ID field for later use

    • Click DONE (don't click CREATE AND CONTINUE as the optional steps such as granting access are not needed)

    • From the dashboard, click on the three dots on the upper right corner. You will see a drop down menu, click on “Project settings”:

    • You will be redirected to the project settings page. On the left side you will see all project settings options. Click on “Service Accounts”:

       

    • Service accounts page will display a list of all the accounts that belong to the selected application:

    • You might see many Service accounts listed. Click on the three dots displayed in the Actions column, of the first Service account. You will see a drop down menu like the one in the screenshot.

    • Click “Manage keys

    • You will be redirected to a page similar to the screenshot below. Click on “ADD KEY”:

    • This will open a modal window asking you to choose which format would you like your key on. Pick “JSON” and click on “CREATE”:

    • This will automatically download the key in JSON format to your computer. You will see a dialog informing that the key was successfully created. Click on CLOSE

    • Share this JSON file with PowUnity Development team at dev@powunity.com.

iOS

 

  • Create a new App Store Connect API Key in the Users and Access page

    • For more info, go to the App Store Connect API Docs

    • Open the Integrations tab, select App Store Connect API, and create a new "Team Key" using the + button

    • Note that if you can't see the App Store Connect API tab, this means you don't have permission yet. Please refer to the docs above to know how to get this permission

    • Give your API Key an appropriate role for the task at hand. App Manager should be enough for it. You can read more about roles in Permissions in App Store Connect

    • Note the Issuer ID as you will need to send to us as well. Without it we will not be able to use the Key you created.

  • Download the newly created API Key file (.p8)

    • This file cannot be downloaded again after the page has been refreshed

  • E-mail the key (.p8 file), Key ID and Issuer ID to our development team

  • We will get hands on it to integrate our Continuous Delivery pipelines with your Application and make all future releases almost instantly published!