APK expansion files, best approach?

I was under the impression that Google Play had lifted the 50MB limit, but apparently not. ^^

I’ve built a tourist app that contains spoken sound recordings. This app should function without internet access to eliminate roaming costs for the tourists. The mp3 files have been minimized, and still take ~170MB. The rest of the app will fit in the 50MB limit.

Do you have some pointers or tips from experience how to implement in Lua/Corona the loading process described here?

Maybe it’s just a case of me being new to this and TL;DR on that article. Is the gist of it that I strip the mp3s from the project folder, generate an .obb file, and all I have to is look up a dynamic path for the mp3s? Does the .obb archive support a folder structure inside this path?

Mainly I’m concerned with this:

 

  1. Develop your application such that it uses the resources from your expansion files in the device’s shared storage location.

Remember that you must not delete, move, or rename the expansion files.

If your application doesn’t demand a specific format, we suggest you create ZIP files for your expansion files, then read them using the APK Expansion Zip Library.

  1. Add logic to your application’s main activity that checks whether the expansion files are on the device upon start-up. If the files are not on the device, use Google Play’s Application Licensing service to request URLs for the expansion files, then download and save them.

To greatly reduce the amount of code you must write and ensure a good user experience during the download, we recommend you use the Downloader Library to implement your download behavior.

If you build your own download service instead of using the library, be aware that you must not change the name of the expansion files and must save them to the proper storage location.

Since I’m “ready to go” with a functioning app and the Iphone app is already uploaded, it’s expected of me that I implement this as quickly as possible.

I take it that I will have to use the Download library at the start of main.lua to check / download the (.zip->.obb) file, then use the Zip library to access the files. The downloaded package is not decompressed to storage after download? I’m worried about performance.

Is there some way I can do this with the Starter license? My first thought is doing the check myself and create a folder on storage that I download the mp3 files manually to from a server of our own.

Never mind, I found thatCorona does this for me :slight_smile: Mindblowingly awesome.

Worked like a charm, if a dialog to add the .obb file doesn’t appear follow this http://stackoverflow.com/questions/15109191/how-to-upload-apk-expansion-files-in-new-developer-console (if you do this, you will get an error message after upload, just delete the dummy version you created).

Mainly I’m concerned with this:

 

  1. Develop your application such that it uses the resources from your expansion files in the device’s shared storage location.

Remember that you must not delete, move, or rename the expansion files.

If your application doesn’t demand a specific format, we suggest you create ZIP files for your expansion files, then read them using the APK Expansion Zip Library.

  1. Add logic to your application’s main activity that checks whether the expansion files are on the device upon start-up. If the files are not on the device, use Google Play’s Application Licensing service to request URLs for the expansion files, then download and save them.

To greatly reduce the amount of code you must write and ensure a good user experience during the download, we recommend you use the Downloader Library to implement your download behavior.

If you build your own download service instead of using the library, be aware that you must not change the name of the expansion files and must save them to the proper storage location.

Since I’m “ready to go” with a functioning app and the Iphone app is already uploaded, it’s expected of me that I implement this as quickly as possible.

I take it that I will have to use the Download library at the start of main.lua to check / download the (.zip->.obb) file, then use the Zip library to access the files. The downloaded package is not decompressed to storage after download? I’m worried about performance.

Is there some way I can do this with the Starter license? My first thought is doing the check myself and create a folder on storage that I download the mp3 files manually to from a server of our own.

Never mind, I found thatCorona does this for me :slight_smile: Mindblowingly awesome.

Worked like a charm, if a dialog to add the .obb file doesn’t appear follow this http://stackoverflow.com/questions/15109191/how-to-upload-apk-expansion-files-in-new-developer-console (if you do this, you will get an error message after upload, just delete the dummy version you created).