App publishing automation

app developmentApp publishing automation can be a helpful step when creating apps.  It’s one thing to develop an app, but it’s another to manage publishing it. App development can be fun, but unfortunately the process of publishing apps can be quite rudimentary and tedious. To remedy this, it’s worth considering automating the process to save both your sanity and your time. However, the automation process is not without its challenges.

Automation opportunity

There are many situations where automation is beneficial:

  • An individual developer with a handful of apps who needs to balance managing the publishing against developing code.
  • A developer working for a client who has tens/hundreds of apps to be developed and published and needs to reduce the amount of manual grunt work.
  • A single code base that churns out white labeled (branded) apps for tens/hundreds of customers and needs to automate the process.

In all of these cases, manually publishing those many apps will not only be mind-numbing, it will also consume precious time. The process of publishing the app remains fairly similar, no matter how many apps you have . So it is wise to consider automating the entire process, right from building the release builds to publishing them in the stores (Android/iOS store).

Automating the app publishing process

Prerequisites

To achieve automation, you need to be familiar with the prerequisites for app publishing.

list the manual steps to publish the apps on iOS and android store respectively. In addition, there are certain do’s and don’ts that one must be aware of. All of these recommendations can be found on the respective developer console docs (therefore, they won’t be covered in this article).

  • Building and code signing the apps depend on whether a native SDK is used or some framework (ex. Cordova) to develop an app. Assuming that we already know “how to build and sign an app”, we can simply have a CLI version in the automation scripts. Once we have the apk and the ipa (i.e., android and the iOS builds respectively), the next task would then be to publish them without having to go through the manual process.

Approaches

The automation of the app publishing can be achieved either by web-scraping or by using a tool like Fastlane that helps in automating the publishing and release process for both android and iOS.
With web-scraping, you have to implement the entire thing whereas Fastlane allows for  updating the apps. However, Fastlane does not support publishing a new Android app, you can only update them. This is because Google does not provide any API’s to do so and it has a restriction of 15 new apps per day. Therefore to publish new Android apps,web-scraping is the only way to go.
That said, there are many other factors to consider with automation:

  • White labeling (branding) the app
  • Queuing up the apps that are to be published
  • Categorizing Android and iOS apps
  • Tracking the success and failure of app publishing
  • Filtering the failed apps to retry publishing
  • Taking care of limitations on number of app publishing per day
  • Adding and deleting apps
  • Associating SKU, icons, splash/ feature screens to apps, etc.

Addressing these items carefully is key. One way to address these concerns is to have a DB + a backend server that exposes meaningful API’s to achieve these items.

Maintenance

You also need to stay alert to updates from the third party tools. If you end up using Fastlane, there is less worry; Fastlane is fairly stable and a simple update command will update it. But, if you implement the scripts with web-scraping, then there is substantial maintenance overhead because the app store requirements change frequently (especially the Google Developer Console).

Conclusion

Automating app publishing is not without its challenges, and if not implemented correctly, your account can be blocked. However, the time-saving benefits of setting up app publishing automation will be worth your while.

Share this post