Information for Publishing to Stores

Google Play Store Information

To get all the information you need for a Google Play Store submission, you need to create a Google user.  Go to https://play.google.com/apps/publish and click the sign-in button.  Follow the instructions to make a new Google user account for your organization or enter your organization’s Google user account credentials here.

Hint: DON’T use your personal Gmail account for this, make a more generic Company Account with a password that can be shared with other staff.  We recommend that a Password Manager be used for this.  Using this method will allow others to publish on the organization’s behalf when you are not available.

On this page, you will be reminded that there is a small cost to register as a Google Developer and that you need to accept their terms and conditions before proceeding. Please read and agree to the Terms and Conditions as you will be legally bound by these, and, if you are happy, tick the box and proceed to pay your registration and complete your account details.

You will be sent to the Google Play Developer Console when you have successfully logged in using your Google Account details.

This is where you can create a new application, set up services that your app can use, manage pricing, set up your company’s profile and get reports on how your app is doing in the store after it is published.

For now, all we need is for you to create an Application by clicking the “Create Application” button at the top right of the page.  This will direct you to add a Default Language and Application Name.

To publish an APK for the Google Store, there are a few important steps that are needed.  A keystore file and possibly a Project ID will be required at this time.  The rest of the information such as Store Listing and Pricing can be added here later in the process.

Project ID

You should go to https://console.cloud.google.com while logged in with the above user. Now that you have created an account, it should be accessed from the Dashboard.  If you want to enable any API’s such as the Google Cloud Messaging service, then you need to follow the steps below (otherwise go straight to step 5):

  1. Click on the link entitled “Enable and manage APIs” in the Cloud Services.
  2. Then click the “Enable API’ link at the top of the next page and find the API(s) that you want to enable on the list that follows.
  3. Follow the instructions to enable the API(s) that you want to use. Note: only add API’s that you are sure you need.
  4. When finished, go back to the Google Cloud Platform dashboard by clicking the “Google Cloud Platform” page title and link – not the API Manager dashboard.
  5. Now, look for a Project Number (or ID). This could be in multiple places but should be in the format ID: <project_name> (#project_number>). E.g. ID: my-published-app (#12345678910).

The number in the brackets is the PROJECTID which will be used later in the publishing process.

Generating a Key Store file

You need the ‘keytool’ command to be available on your system so that you can generate a keystore file for your app.  This should be available on most Linux systems or can be found using yum/apt-get style deployment tools.  If it is not available, you can get the tool by downloading and installing Java on your system (https://java.com/) and then running it from the command line or terminal.

The command is:

keytool -genkey -v -keystore myapp.keystore -alias app_alias -keyalg RSA -keysize 2048 -validity 10000 -dname “CN=MYAPP, OU=Software, O=MyOrganisation, L=MyCity, ST=MyState, C=MyCountryCode” -storepass “mypassword” -keypass “mypassword

This is a one line command even though it is split in this document. This will create a file called myapp.keystore which is needed for the build and publish system.  The keys in bold will need to be replaced with your information:

myapp – should be the name that you have used for your app when you created it.
app_alias – is used as a key name and should be unique within your organization.  The name of your app without punctuation or spaces could be used here.
MyOrganisation – Your organization name for use in the code signing certificate
MyCity – The city where your organization is based.
MyState – The State/Province/Region where your organization is based.
MyCountryCode – The two character country code for the country where your organization is based.
mypassword – A secure password for the keystore.  Note: this password can NOT be changed or decrypted so you need to make sure it is remembered and secure.

Now you have the information needed to complete the publishing steps in the Umajin Dashboard.  Go to the Publishing tab in the Dashboard (http://dashboard.umajin.com) and enter the Project ID and upload the .keystore file into the Google Play Store publishing page.

Checklist of items to send to Umajin for Android publishing

  • The myapp.keystore file
  • The Password that you entered when creating the myapp.keystore file
  • The Alias that you used in the myapp.keystore file creation step (e.g. app_alias in the example above)
  • The ProjectID that you discovered from the creation step.

 

Apple App Store Information

This process has many steps and can take time, so allow for this in your deployment schedule.

To get all the information you need for an Apple App Store build and submission, you must create an Apple Developer Account and sign up to the iOS Developer Program.

Apple Developer Account

First, go to https://developer.apple.com/ and choose ‘Account’ from the main menu.  Click ‘Create AppleID’ on the following login page and enter all your relevant information to create your user. Note: your email address becomes your AppleID so a generic email address for your company such as appledev@mycompany.com could be a good plan.

 

Private Key and Certificate Signing Request (CSR)

Next, you need to generate a Private Key for your certificates.

If you are on an OSX (or macOS) device, follow the instructions below:

  1. Open Keychain Access on your Mac (located in Applications/Utilities).
  2. Open Preferences and click Certificates. Make sure both Online Certificate Status Protocol and Certificate Revocation List are set to ‘Off’.
  3. Choose Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.
    Note: If you have a private key selected when you do this, the CSR won’t be accepted. Make sure no private key is selected. Enter your Apple email address and common name (of the App). Use the same address and name as you used to register in the iOS Developer Program. No CA Email Address is required.
  4. Select the options “Saved to disk” and, if available, “Let me specify key pair information” and click Continue.
    Note: if asked, the Key Size should be set to 2048 bits and the Algorithm should be RSA.
  5. Specify a filename and click Save.
  6. Click Continue and the Certificate Assistant creates a Certificate Signing Request (CSR) and saves the file to your specified location.

If you are on a Windows device, you will need to generate a Certificate Signing Request (CSR) using the OpenSSL tool.  Follow the steps below:

  1. Download OpenSSL from the following site, if you don’t already have an implementation then you can get it from one of the sites linked on the page below:

https://wiki.openssl.org/index.php/Binaries

  1. When OpenSSL is installed, open a command prompt to the directory where you installed it and enter the following commands
    • openssl genrsa -out key 2048
    • openssl req -new -key key -out ios.csr -subj “/emailAddress=YOUREMAILADDRESS, CN=APPNAME, C=COUNTRYCODE

Note: Make sure to replace the bold text above with relevant information for your app.

  1. This will create a private key and CSR (ios.csr) file which are needed below.

 

 

Production Certificate (.p12)

Now you will need to use these files to create a Production certificate for your app.

To do this:

  1. Open a browser to the following link:
    https://developer.apple.com/account/ios/certificate/distribution
  2. Here, you need to navigate to Certificates > Production and click the plus button (top-right) to add a new certificate.
  3. In the next page, select “App Store and Ad Hoc” then continue. The following page gives brief instructions about how to create the CSR using Key Chain Access – similar to the above information in this document.  Click continue again.
  4. You will now be asked to choose the CSR and upload it to the server.
  5. You will then be able to download the generated CER file. E.g. ios_distribution.cer
  6. Once downloaded, you will need to run the following in terminal.
    • openssl x509 -in ios_distribution.cer -inform der -out ios_distribution.pem
    • openssl pkcs12 -export -in ios_distribution.pem -inkey ios_private.key -password pass:”<your password here>” -out ios_distribution.p12
  7. You will end up with a file called ios_distribution.p12 (in this case) and the password which you entered in <your password here> above.
    Note: This file and password will be needed in the publishing process and is private information that should be saved securely.

App Identifier

You now need to create an App Identifier which will identify the application when it is put on the App Store.  This is done by:

  1. Opening a browser to the following link;

https://developer.apple.com/account/ios/identifier/bundle

  1. Check you are on the “iOS App IDs” page. If not, click “App IDs” link under the “Identifiers” category in the left-hand sidebar.
  2. Click the ‘plus’ button at top-right of the App IDs list page.

  1. App Description – the name of the app
  2. App ID Suffix – Use Explicit App ID and enter in reverse URL format. g. com.<yourcompanyname>.<appname> without spaces or asterisks.
  3. If you want to use Push Notifications in the future (or your app uses other services) then check these in the ‘App Services’ list.
  4. Click ‘Continue’ to register the new App ID.

iOS Provisioning Profile

Now you need to set up a Mobile Provisioning profile for the app.

  1. Navigate to the https://developer.apple.com/account/ios/profile/production If you are not automatically directed there then click the “Distribution” link in “Provisioning Profiles” category at the left hand sidebar.
  2. Check the “App Store” option and continue.
  3. Select the App ID that you created in the App Identifier section (above) and continue. This will generate a Distribution provisioning profile for your application which you will download. This should be named mobileprovision.

You can also provide an Ad Hoc provisioning profile to use on a limited set of registered devices.  These devices are configured in the “Devices” category in sidebar of the https://developer.apple.com site.

Checklist of items to send to Umajin for iOS publishing

  • The ios_distribution.p12file that you created in the certificate step.
  • The Password for ios_distribution.p12 as you entered it in the certificate step.
  • The <appname>.mobileprovision file that was created in the provisioning step.

Publishing with Umajin

You now have all you need to publish on the Store(s) of your choice.  The next steps are done within the Umajin App Creator environment.  The instructions about how to do this are on the ‘Packaging your Application for Stores’ page

There are two options here – you can either get in touch with Umajin by sending an email to support@umajin.com about publishing your app or you can go through the process of publishing the application yourself.