Releasing a game on Google Play Store

Hi everyone!

I’m trying to release a game on Google Play after a very long time and after seeing the console, I’m a bit confused about the keystore being stored on Google-side (Application signing). I see it has some advantages but since I don’t know how to make it work, I’m a bit hesitant. (I tried it some months ago with another unreleased game but I think I messed the process up back then.)

Is it something we are able to use with Solar2D at the moment? If so, how to build on Simulator side? Should I use a production keystore to build and upload or debug keystore? Which options should I select and which files should I upload to the console? If I decide to store my keys locally after I activate that option, is it possible to do so?

If you could enlighten me about the process, I’d be really happy.

  1. New application signing from Google Play store side is used for the new distribution bundle used called android app bundle (.aab) which you upload and from there multiple apks are generated so that your users get the optimised apk to reduce the delivery size. https://developer.android.com/platform/technology/app-bundle

  2. Solar2D supports the generation of .aab and .apk file. You can download the stable online builds (https://developer.coronalabs.com/downloads/coronasdk) and download 2020.3583 or the future builds where solar2D builds are headed towards offline build (https://github.com/coronalabs/corona/releases/) i.e. it will not require online connection to build the distribution files except for downloading the plugins you use in your app. *NOTE the offline builds are still in alpha stage and requires testing, if you are going to release app urgently then I would suggest the online builds but later on try testing the new build methods and if you find any issue just post it on github project issue or here, as the developer is still developing actively.

  3. It is preferred to use production keystore when you release apps to different stores for security purpose as the debug keystore is available for everyone to download freely. If you require debug info you can override in the build file not to strip debug info but remember info about app may be shown to the end user. For the process https://docs.coronalabs.com/guide/distribution/advancedSettings/index.html#build-control

  4. There are paths for the new distribution method by google play store (.aab). If your app is brand new the process is easy you just agree in the release tabs to use google play store’s keystore bundling after you upload the .aab the file. For existing apps in the play store you need to at first agree to let google play store use custom keystore and then you upload the .aab file, your new installs will use apk derived from the .aab file and exisiting users will receive the keystore you already used before. With .aab you also need to update your icons as well, for the full guide read this https://coronalabs.com/blog/2019/07/23/android-64-bit-is-here/ and
    https://coronalabs.com/blog/2020/04/16/google-64-bit-deadline-coming-august-1-2020/

  5. You still need your keystore to upload the .aab files for new or existing apps. One of the benefit of switching is that if you lose your keystore, you can request play store to receive another keystore to identify the developer. (This has to be used sparingly, I think there is a limit as well, best thing to do is store your keystore securely with multiple backups).

1 Like

Thank you for the detailed response @mysticeti. Actually, I’m a bit confused on how to use the Google Play App Signing thing. When I last released some stuff, it was like generate a keystore, sign your build and upload. With that storing on Google option I see certificates and some other stuff. I’m confused at that part. Do I upload an .apk with my local production key first to make this work or is there some other way? Google documentation on this is very confusing for me.

(While this doesn’t seem mandatory, it may be a good idea for me to stick with local keystores at this point :slight_smile: )

Moving forward, I think .aab will be the standard so learning now and migrating to the new format would be good. I had two apps before and I did migrate successfully to the new format. I actually forgot the migration steps, from the apk to the aab publishing but some screenshots from your console might help me to guide you through the steps. I followed the migrations steps that were present in the console. Your production keystore is always required regardless of apk or aab format.

Looking at it, it seems easier to change from local to cloud option instead of doing it from the start. Since I’m using it Turkish, I don’t think a screenshot would help :slight_smile: but there are 3 options:

  • Using Android Studio
  • Export from Java keystore: PEPK tool to encrypt the local key, command line instructions and uploading the final file.
  • Export a key without Java keystore (no idea what that is :smiley:)

I assume the best path to follow would be the second with the PEPK tool. Was that the method you chose back then?