Mobile application white labeling for the stores

Mobile application white labeling for the stores

  

Hi, 


We have built a mobile application and have published it on the app stores.

Our client is interested in the application, but they want it branded with their logo on the app store.

The current thinking is to duplicate the mobile application, but this would obviously result in two applications that have to be maintained. 

The only parts we can see that can't be re-used, are the screens, meaning that the screens are the only parts that would actually be duplicated.

Please advise if there is an alternative approach that could be taken to achieve this without duplicating the application screens?

Hi Jonathan,

If your branded assets are stored in the database you could use multi-tenancy to segregate data from different clients, and fetch the right branded resources in a uniform way.

That being said, I'm not sure how you could configure and publish different Applications in the App/Play Stores

Hi Jorge,


Thanks for the suggestion, the publishing of different apps in the App/Play store is the part we are struggling to grasp.

I assume the application would have to have it's own:

  • AppID
  • Certificates, publishing profiles, push notification configuration (certs & accounts)
  • Icon
  • etc...


Is there perhaps is a way to do this without having to duplicate all the screens into the new application?

Well... what I can think of is to have the "main" application with those customizations, and from that one reference other applications that have the screens and the logic. But the main thing missing is that for your screens to be in line with your icons/brand/colors, you'd have to be able to dynamically change the theme in use by the referenced applications/modules, and I don't think that is possible.

Solution

Actually I've been doing a bit more research on architecture of Mobile apps and you can't really do what I suggested. All screens of a mobile application need to be on the same module.

Check this course for more information. Following the strategy suggested there, where screens act only as layouts, with all the UI/logic implemented in Blocks (that can be in different modules) would reduce the maintainability issues you might have by duplicating the screens, as most maintenance would be done on the Blocks themselves, and those can be shared.

On another note, if you're going to make multiple applications out of that single one, you might consider turning the "original" application into a Template that you can use to create new applications with minimum effort (mostly branding, app-specific configurations, AppID, certificates, etc).

Solution

Hi Jorge,


Thank you very much for the response and information you provided.

It has given a huge amount of insight to the issue.