10

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:

  1. create a signed version of the apk
  2. publish it on the alpha channel on Google Play
  3. 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:

  1. 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
  2. when you submit a new apk, the publishing procedure can take hours
  3. there are plenty of edge cases you need to test, and potentially fix (dropping connectivity, the downloading service getting killed, etc, etc...).
  4. 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?

Rick77
  • 3,121
  • 25
  • 43
  • 1
    to test some changes you upload the .obb file then download the apk with obb from play store? why you don't upload the .obb file directly to device? or maybe i am not understand the question – Pavel Poley Mar 20 '19 at 22:49
  • It was a looong time ago, but the essence of the question was "is there a way to do an end-to-end test of the .obb installation and deployment procedure?". Manual upload of the .obb help debug most of the problems (thank you for the tip) but there is still some uncertainty about how the service handles some edge cases. You should answer and have a shot for the bounty, btw. – Rick77 Mar 22 '19 at 09:49
  • 1
    @PavelPoley, the fundamental problem as far as I'm concerned is that "*download the apk with obb from Play Store*" is what happens normally, and the issue is how to test the situation where it *doesn't* happen (i.e. only the apk is downloaded from the Play Store). – Peter Taylor Mar 22 '19 at 13:28

1 Answers1

0

I would recommend you to use dynamic modules to download and manage your extra content for your app. This is now available with the App Bundle format (.aab).

Google has now introduced Internal Testing on the Google Play Console which allows you to publish an update to an app for up to 100 testers and they will be able to access it almost instantly. Another way would be using Internal App Sharing which allows sharing of an app by link to a tester. They would then be able to manage installing and uninstalling of modules through Google Play.

user14678216
  • 2,886
  • 2
  • 16
  • 37