A) Give me X% of revenue, and I will give you free hosting of your app, and some form of promotion.
B) No commission, but you host your own binaries. To be a valid installable app, you need to give me a hash of the binary valid to install, that I have approved before. Each audit of binaries cost X. No promotion for free in the app store.
The main problem with Option B is the potential for bad/inconsistent app download experiences. Many companies may cheap out on binary hosting and have very slow or broken downloads (especially in certain countries), which results in a kind of random "never know if this will work well" patchy UX for iOS/Android users at large.
This isn't an insurmountable problem of course. Perhaps Apple/Google could charge fixed bandwidth rates and host it themselves, or they could contractually set SLA requirements that could be verified regularly with an uptime service.
A) Give me X% of revenue, and I will give you free hosting of your app, and some form of promotion.
B) No commission, but you host your own binaries. To be a valid installable app, you need to give me a hash of the binary valid to install, that I have approved before. Each audit of binaries cost X. No promotion for free in the app store.