I have two apps which do essentially the same, with small differences (different logo, ads hidden in the Pro, different Facebook app id for the login flow, etc.)
Currently, I use a
public const bool isProVersion = false;
Which I toggle before compiling, and it changes the whole app behavior depending on its value.
The only issue is that I have a lot of "unreachable code detected" notices in my error list.
This is intended, because some code must never be reached in that version, but it doesn't look very clean.
I could use a static variable instead of a constant, but this will make, for example, the ads code compiled and "reachable" into the Pro version, which is not needed and could lower the performance.
Is there any better alternative?