Setting up white-label app publishing for Android
Doing any step wrong (or skipping a step) will result in a non-working API key. Follow the steps carefully to avoid having to do the whole procedure again.
Publishing regular updates of your app is an automated process. This requires us to have API access to your Google Play account.
(Following this procedure will allow Speakap to publish your white-label app quickly and securely. This will ensure that your organization is always using the latest version of the application, with all the new features and bug fixes.)
Main goals: (don't start now)
- Create an app in the Play Console
- Create service account in API Console
- Send the JSON file to us (it contains the API key)
- Give permissions to the API key in the Play Console
- Google Play Developer Console - where you manage and submit your Android app
- Google APIs Console - where you create API keys for all kinds of Google projects
(you'll get the link in one of the steps)
Step 1: Create empty Application
You will need an application later on. We'll make an API key and allow it to access this application.
The actual Android app will later be published inside this empty application.
(you can skip this step if you've already created the correct application)
- Open the Google Play Console
- Log in with the correct Google account (the one for publishing the app)
- Select All applications tab (in the menu on the left)
- Click the CREATE APPLICATION button (on the right)
- Select Default language and Title (these can be changed later)
- Click the CREATE button
- Leave the application empty.
Your application has been created. Now let's allow an API key to access it.
Step 2: Create Service Account (Play Console part)
This is needed for automated access to the account. Service accounts allow access to the Google Play Developer Publishing API on behalf of an application rather than an end user.
In Step 2 will will start creating the account in the Play Console.
Then in Step 3 we will complete its creation in the API console.
Finally, we will go back to the Play Console to do the final steps.
- In the Google Play Console go to the Home page
- Click the Settings menu option
- Expand Developer account and click the API access button
- A) If you see a button to Create New Project, click it
(you will see it if API access is not currently enabled for this account)
B) If you see a Service Accounts section, you don't need to create a New Project. Next step.
- Click the Create Service Account button (in the Service Accounts section)
- Click on the Google API Console link in the dialog
These steps should create an API project and take you to the Google APIs Console.
(it's located at https://console.developers.google.com/apis/ )
Step 3: Create Service Account (APIs Console part)
The APIs Console is where you manage your API keys.
(read this tip only if you have problems)
The correct project should be automatically selected if you followed the steps so far.
In case you have more than one project, you can check which one is selected at the top (see screenshot).
The Project name should be the same as the Project that you created in the Play Console. In this example it's called "Google Play Android Developer":
- You need to be on the page Service Accounts
If you're not there, open the menu and go to: IAM & admin -> Service accounts (see the screenshot)
- Click the Create Service account button
The button may be located (depending on your account):
Location 1: in the center of the screen
Location 2: at the top of the page
- See this screenshot and then follow the steps:
- Provide a descriptive name for the service account, like: Speakap-app-submissions
- In Select a role choose Service Account User (see steps below)
- Click Select a role
- Scroll down - the item we need is at the bottom
- Click Service Accounts
- Click Service Account User
- Check the Furnish a new private key check-box
- Select JSON as the Key type
- Click Create to close the dialog
- A download will start for a JSON file.
Save the file and send it to firstname.lastname@example.org or fill in the contact form. Mention your company name and white-label app name.
This JSON file contains the API key. Anyone who has it could gain access to your account, so keep the file secure!
- Don't forget to Grant access (in the next step)
- You may now close the Google APIs Console window and go back to the Play Console
Step 4: Grant access
Having the JSON API key file is not enough in order to gain access.
You need to Grant Access to the API key for your application (the one created in Step 1).
- Go back to the Google Play Console
- You should still be at the API Access page, as before
- Click Done to close the dialog (that you opened before)
- In the list Service Accounts find the account that you created and click GRANT ACCESS
This will open a dialog:
Note: If you want to verify/modify the permissions later, you can do this in the Users & permissions page (see Step 5). Don't do this now.
- In the dialog: Leave the email field unchanged
- Set Access expiry date to Never
- Choosing Permissions
You can see screenshots in step 5 later. First do this:
- Select the Role -> Release manager
- The appropriate permissions should now be selected automatically
- (optional) Per-app permissions
If you skip this step we will have global permissions. This will give us rights to release apps for your whole account. If you have only one application, this should be a good option.
In case you have other apps that are not related to Speakap, you may want to restrict our access. Add the Speakap app(s) to the list:
- In Add an app select your specific Speakap white-label app
- If you have multiple Speakap apps, add all of them here. This way we can use the same API key for all of you Speakap apps.
- Wait! Do Step 5 below before you click Add user. See "Verify permissions" below.
Step 5: Verify permissions
It's important to make sure all necessary permissions are enabled.
- Verify permissions in the Play Console
- The following 6 permissions must be enabled, at least:
- View app information
- Create & edit draft apps
- Manage production releases
- Manage alpha & beta releases
- Manage alpha and beta test configuration
- Edit store listing, pricing & distribution
NB: If you previously decided to add multiple Speakap apps here, make sure that all of them have these 6 permissions (at least).
- (optional) Remove unnecessary permissions
The Release manager role gives more permissions than we need. If you want to restrict our access as much as possible, enable only the permissions mentioned above, and uncheck everything else.
(Depending on which option you chose)
- Global permissions screenshot:
- Per-app permissions screenshot:
- Global permissions screenshot:
- Click Add user / Save to close the dialog
- You're done!
Finding the permissions later
If you just completed the guide, you can skip this step.
In case of problems with the API key (we try it and it does not work), the first thing to check is the permissions. You can find the permissions later here:
- Go to Settings > Developer account > Users & permissions (in the menu on the left)
- Find the right account in the list
- Click the settings icon on the right, and then Change permissions. See the screenshot.