We already have IOS and Android app on respective app stores. We now are planning to white label them. a) Every customer who uses our white labeled solution will get the app rebranded with their own theme, logo and probably little customisation if really required. b) We will host their apps and perform all the services required to maintain the apps. c) Keep pushing updates when ever required that will help the product stability and etc.
All the code is currently hosted on a hosting company server. I am now planning to rework on the existing API's that will help in developing a white labelling solution.
Now the doubts I have is a) Should I maintain separate databases for every white labeled solution Note: Plan is that a end user once creates an account with any white labelled solution should be able to use the same details on all of our sister white labelled solutions. Q: I believe separate databases will create a problem to achieve the above solution?
b) I will have a core API that will service to multiple white labeled apps? That way backend updates will be easier to push?
c) For every white labelled app will I have to replicate the codebase for android and IOS so that they are deployed on to respective app stores separately for every company who opts our solution ?
d) If for every white labelled app, we maintain separate Android and IOS code then after deployment if we have to update the apps then is it like we have to do for every single white labelled app and push them back to the store? Example. If 100 businesses opt in out white labelled solution and lets say they are all using our solution. Now we have as the master company want to include some analytics within the app. In an ideal situation I would add all the analytics related code and re push them to the app store. But if there are 100 and increasing then such a thing will be ver difficult to maintain.
Are the above ways which I explained correct ways or are there any better ways to do it ?
Please let me know if the above has confused or if any further explanation is required. I would be happy to do so.
Any suggestion or links that will help me understand will be greatly appreciated. Thanks in advance