Hi,
I have single project & I need to release multiple apps to production for multiple organizations(Code always will be the same) just by changing few things below:
1. App icons, splash screen icons
2. Package name, app name
3. Google-service.json file(As apps using firebase push notifications)
How can I do it dynamically, so by just adding any .dll or .sln file my build will be ready for specific organization instead of doing those changes manually
Thank you
Answers
You can have multiple start up projects, 1 for each client or organization.
Your suggestion not bad. But in future we might have >100 clients. Whatever development we do, we have to copy that in all projects & that would be pain for developers.
Not all projects. If you have 100 clients, then you have 100 different startup projects, 1 for each. All your other projects remain the same. Put the start up projects in a solution folder to make it easier to manage. All common code stays in the existing normal projects, those changes you only do once.
Is this app just for Android? because if its for iOS you're going to run into some issues...
https://techcrunch.com/2017/06/21/apple-goes-after-clones-and-spam-on-the-app-store/
@JohnHair
.Could you be more precise. As I have written my requirement in question itself.
Sorry but I am not getting your point
& how can I integrate 1 android project to another(start up) since you are saying to do so.
We can have different account too for each client.
Not sure how I can be more precise. Create a new app project. Set the properties for it (different icons, splash screens etc). Add the code to run your main code that is in your common projects. Right click on the new project in the Solution Explorer, and set as Start Up project. Build, deploy etc etc.
Now help me According you
1) Create a new app project. lets say ClientOneApp- OK
2) Set the properties for it (different icons, splash screens etc)- OK
3) Add the code to run your main code that is in your common projects--How to do that?
4) Right click on the new project(ClientOneApp) in the Solution Explorer, and set as Start Up project. Build, deploy etc - OK
Here in step 3 what should I add .dll, .sln or .csproj. dll making not possible from android projects. Or Common code project should in same solution?
Thank you
Yes I'm sure, its how I do it.
You already have an app right? iOS and Android? You will already have a startup project selected in Solution Explorer. Look at that, just add the same project references and entrypoint code.
@JohnHair
Be more realistic. See my solution explorer & give me a hint to add SISAPP.Droid project (this is common project) reference in CrayonsApp which have only relevant information about client.
You said-just add the same project references and entrypoint code how (˘⌣˘ )
Thank you

@seanyda
If you are getting what John saying, you can help me out.
In your screenshot you can see that CrayonsApp is your start up project. You should probably name that for what platform it is for btw.
Create another project, call it CrayonsApp.Client1.iOS for example. Set it up like a new app with the client specific details. Add the same project references as the current start up project. Have the same start up code. Right click on it to set it to be your start up project. Build it. That is then your client specific app.
@JohnHair
I think you are kidding me. Since starting I have been asking only 1 question,
How to add CommomProject reference in ClientProject or vice versa
Do you not know how to add project references?
Sorry, but I am not here to teach you basic Visual Studio usage. If you don't understand these instructions then I cannot help you any further.
JohnHair
. Now I got that I have to add dll of my common to Clients app. I have done so, still facing few issues. Please have looking on this thread. I got this issue after following your procedure only.
Sorry for asking silly questions I was out of context
https://stackoverflow.com/questions/51096346/starting-app-from-other-apps-entry-point-android/51096756?noredirect=1#comment89184258_51096756
Okey. What you can do is this:
1. Create your
Xamarin.Forms
app, let's call itBaseApp
2. Create as many
iOS
andAndroid
apps as you need, insideBaseApp
solution.3. Link that apps to the
Xamarin.Forms
app: add to each appXamarin.Forms
package andBaseApp
reference4. Make each separate app load
BaseApp
project: Change yourAppDelegate.cs
toAlso this common project can be added to NuGet.
It is not a problem to add the same app icons and splash screens to each of project just by coping icon folders to new project. If you need to share platform specific services (Bluetooth, Usb, Notifications) use this plugin to create NuGet package.