How long does it typically take to publish an app on the Google Play Store?

Q: How long does it typically take to publish an app on the Google Play Store?

A: Pretty quick actually. Once you push it live from the publishing interface, it will take a max 2/3 hours to be live to consumers. Unlike iTunes, Google review does not involve any human testing so it is much quicker. Google play store auto review , and after 3-5 hours , the app will appear on Play store.The reason for the time is there’re multiple servers that are serving Play Store and these servers need time to synchronize their list of apps.

We have tried pushing updates to our app at different times and observed that

Quickest turnaround (30 – 45 mins)
Mondays & Thursday afternoon ( 2:30 – 3:30 pm IST)

Longest times (3- 5hrs)
Thursday, Friday, Saturday evenings ( 5:30 – 7:30 pm IST).

Although the publishing is automated, the turnaround time might be affected by server traffic.

src

Build android apk with ionic and publishing to Google Play Store

Before we deploy, we should take care to adjust plugins needed during development that should not be in production mode. For example, we probably don’t want the debug console plugin enabled, so we should remove it before generating the release builds:

cordova plugin rm cordova-plugin-console

To generate a release build for Android, we can use the following cordova cli command:

cordova build --release android

This will generate a release build based on the settings in your config.xml. Your Ionic app will have preset default values in this file, but if you need to customize how your app is built, you can edit this file to fit your preferences.

Next, we can find our unsigned APK file in platforms/android/build/outputs/apk

For example:
In android platforms => /android/build/outputs/apk/android-debug-unaligned.apk

Now, we need to sign the unsigned APK and run an alignment utility on it to optimize it and prepare it for the app store. If you already have a signing key, skip these steps and use that one instead.

Let’s create keystore file using this command
Syntax:


keytool -genkey -v -keystore .keystore -alias  -keyalg  -keysize  -validity 

For Example :


Step 1 : set path   cd C:\Program Files\Java\jre7\bin     in command line
Step 2 : keytool -genkey -v -keystore Helloworld.keystore -alias Helloworld -keyalg RSA -keysize 2048 -validity 10000

Follows the belows steps to generate Signed APK


Step 1: set path C:\Program Files (x86)\Java\jdk1.8.0_20\bin in command line

Step 2: jarsigner -verbose -keystore /path_to_keystore/keystoreFileName  /path_to_apk_file/application_name.apk keystoreFileName_alias

For example: 
jarsigner -verbose -keystore C:\Users\admin22\Ionic_project\First\Helloworld.keystore  C:\Users\admin22\Ionic_project\helloWorld\platforms\android\build\outputs\apk\android-release-unsigned.apk Helloworld

-keystoreFileName_alias. You have to provide your alias name of your keystore file name.

Step 3: Enter password of your keystore file

Step 4: Completed. It will displays warning messages like certifaction validity etc..

Step 5: Verify your apk file jarsigner -verify /path_to_apk_file/application_name.apk

For example :
jarsigner -verify C:\Users\admin22\Ionic_project\helloWorld\platforms\android\build\outputs\apk\android-release-unsigned.apk

jarsigner -verify -verbose -certs C:\Users\admin22\Ionic_project\helloWorld\platforms\android\build\outputs\apk\android-release-unsigned.apk

Zip align:

Step 6: set path C:\Program Files (x86)\Android\sdk\build-tools\android-4.4W in command line

Step 7: zipalign -v 4 /path_to_apk_file/application_name.apk /path_to_destination_apk_locaion/zipped_application_name.apk

For example :
zipalign -v 4 C:\Users\admin22\Ionic_project\helloWorld\platforms\android\build\outputs\apk\android-release-unsigned.apk C:\Users\admin22\Ionic_project\helloWorld\platforms\android\build\outputs\apk\final.apk

Google Play Store

Now that we have our release APK ready for the Google Play Store, we can create a Play Store listing and upload our APK.

To start, you’ll need to visit the Google Play Store Developer Console and create a new developer account. Unfortunately, this is not free. However, the cost is only $25 compared to Apple’s $99.

Once you have a developer account, you can go ahead and click “Publish an Android App on Google Play” as in the screenshot below:

New google play app

Then, you can go ahead and click the button to edit the store listing (We will upload an APK later). You’ll want to fill out the description for the app. Here is a little preview from when we filled out the application with the Ionic Todo app:

Ionic Todo

When you are ready, upload the APK for the release build and publish the listing. Be patient and your hard work should be live in the wild!

Updating your App

As you develop your app, you’ll want to update it periodically.

In order for the Google Play Store to accept updated APKs, you’ll need to edit the config.xml file to increment the version value, then rebuild the app for release.

src

Standartized splash screen support for Cordova

Configuring splash screen

Configuration of splashscreen is similar to existing phonegap build specification, and to existing <icon> behaviour.

You can define app splashscreen via <splash> element (config.xml). If you do not specify a splash screen then the default splash screen for each platform is used.

    <splash src="splash.png" width="120" height="240" density="mdpi"/>

src: (required) specifies the location of the image file, relative to application root directory

width: (optional) image width in pixels

height: (optional) image height in pixels

density: (optional) android specific, specifies image density

For each platform you can also define a splashscreens to fit different screen resolutions.

Android

     <platform name="android">
              <!-- Portrait -->
              <splash src="res/android/splash-portrait-ldpi.png" density="port-ldpi" width="320" height="426" />
              <splash src="res/android/splash-portrait-mdpi.png" density="port-mdpi" width="320" height="470" />
              <splash src="res/android/splash-portrait-hdpi.png" density="port-hdpi" width="480" height="640" />
              <splash src="res/android/splash-portrait-xhdpi.png" density="port-xhdpi" width="720" height="960" />
              <!-- Landscape -->
              <splash src="res/android/splash-ldpi.png" density="land-ldpi" width="426" height="320" />
              <splash src="res/android/splash-mdpi.png" density="land-mdpi" width="470" height="320" />
              <splash src="res/android/splash-hdpi.png" density="land-hdpi" width="640" height="480" />
              <splash src="res/android/splash-xhdpi.png" density="land-xhdpi" width="960" height="720" />
     </platform>

iOS

     <platform name="ios">
              <!-- iPhone  -->
              <splash src="res/ios/splash.png" width="320" height="480" />
              <!-- iPhone Retina  -->
              <splash src="res/ios/splash-2x.png" width="640" height="960" />
              <!-- iPhone 5  -->
              <splash src="res/ios/splash-wide.png" width="640" height="1136" />
              <!-- iPad -->
              <splash src="res/ios/splash-ipad-portrait.png" width="768" height="1024" />
              <splash src="res/ios/splash-ipad-landscape.png" width="1024" height="768" />
              <!-- iPad Retina -->
              <splash src="res/ios/splash-ipad-portrait-2x.png" width="1536" height="2048" />
              <splash src="res/ios/splash-ipad-landscape-2x.png" width="2048" height="1536" />
     </platform>

Windows Phone8

     <platform name="wp8">
              <splash src="res/wp/splash.jpg" width="768" height="1280" />
     </platform>

Windows8

     <platform name="windows8">
              <splash src="res/windows8/splash.png" width="300" height="620" />
     </platform>

Platform-specific quirks

Splash Screens for the Android Platform

The size for each should be:

  • xlarge (xhdpi): at least 960 × 720
  • large (hdpi): at least 640 × 480
  • medium (mdpi): at least 470 × 320
  • small (ldpi): at least 426 × 320

More info here

Splash Screens for the iOS Platform

Sizes of images for IOS platform defined here

Splash Screens for the Windows Phone 8 platform

Image size for Windows phone devices should be 768 × 1280 px (Guide)

Also Windows Phone 8 supports only JPEG splashscreen images.

Splash Screens for the Windows 8 platform

Image size for Windows 8 should be 620 x 300 px. Also Background color for splashscreen is not requred, but recommended.Design Guidelines, SplashScreen Quickstart, Appxmanifest reference

Flow

Image, specified by src attribute copied during ‘prepare’ step to platform splashscreen location:

  • Windows8: images/splashscreen.png
  • WP8: splashscreenimage.jpg
  • Android: res/drawable-land|port-{dpi}/screen.png
  • IOS: resources/splash/default-*.png

Resulting name of the file is defined from its’ width and height attributes, or density attribute, if defined.

src