If you have apps do not want to publish to general public, e.g. internal or beta apps, keep reading.
For iOS apps, for far the best solution is still TestFlight, the best advantage is no need to collect end users UUID, like the adHoc way distribution. The Beta TestFlight also has public link feature.
For Android apps, google Playstore alpha/beta release is OK, but you need to collect tester’s google id, refresh time always has delay.
For small distribution, DeployGate Free plan provides 20 devices, with auto-update and public url features, can be a good choice.
If distribution larger than 20, if you already use bitrise.io as CI, currently their Ship(beta) is fairly easy to use, just ensure you have the
Deploy to bitrise step at version 1.9.x+.
Also, since by default, bitrise keep both unsigned and signed apk as deploy artifacts, the ship(beta) just simply use the first one as distribution target, it would be a good idea just set the signed apk to deploy.
You will get a nice public page for this signed APK, most of time.
Since ship is still in beta. Sometimes you might get a heroku error. 😦