I have an Android app that needs large media files.
The app works fine enough: I can read my own .obb file format from the local storage, and the only thing I need to implement is the manual download procedure for the expansion files, for when Google Play is unable to perform such operation itself.
All this, because Google provides a file expansion service that's good and free, but can't just be trusted to work in the first place. I know, this isn't related to the question proper, but let's all make this thought sink for a moment...
The url https://developer.android.com/google/play/expansion-files.html explains clearly enough that in order to test in any way the manual download procedure, you need to have your app downloaded from the store, so you have to:
- create a signed version of the apk
- publish it on the alpha channel on Google Play
- associate the correct obb to it
and you can merrily see if your manual download implementation (which will likely rely on the exceedingly easy to use library they provide) will work or not.
What they don't write in the guide is:
- their library might be a far easier solution than implementing the procedure from scratch, but it's still complex to integrate and there are plenty of things that can go wrong
- when you submit a new apk, the publishing procedure can take hours
- there are plenty of edge cases you need to test, and potentially fix (dropping connectivity, the downloading service getting killed, etc, etc...).
- every slip, every mistake will probably mean an extra upload
Which boils down to this: a lot of things can go wrong, and there is more than one hour of delay each time I need to see if my code works.
I know I can test some components (the wakelock dynamics, for instance) in isolation, without relying on the Google Play service, but when it comes to the .obb files proper, this cumbersome procedure promises an ocean of pain.
Is there a better way to do this?