We recently released an extension to work with Android Play Asset Delivery using the Play Asset Delivery API. Play Asset Delivery uses asset packs, which are hosted and served on Google Play removing the need to use a content delivery network (CDN) to get additional game resources to players. Asset packs can be used to download Live Update zip archives or individual files such as images, sounds, json data etc
Learn more about the extension in our Play Asset Delivery manual and API reference.
API summary:
pad.set_listener(function(_, event)
print(event.pack_name)
print(event.event_type) -- see pad.EVENT_XYZ
print(event.extra)
if event.event_type == pad.EVENT_PACK_STATE_UPDATED then
local status = pad.get_pack_status(event.pack_name) -- see pad.STATUS_XYZ
if status == pad.STATUS_TRANSFERRING then
print(pad.get_pack_bytes_downloaded(event.pack_name))
print(pad.get_pack_total_bytes_to_download(event.pack_name))
print(pad.get_pack_transfer_progress_percentage(event.pack_name))
elseif status == pad.STATUS_COMPLETED then
local location = pad.get_pack_location(event.pack_name)
local f = io.open(location .. "/myfile.json", "rb")
end
print(pad.get_pack_error_code(event.pack_name)) -- see pad.ERRORCODE_XYZ
end
end)
-- get pack state, will call event listener with pad.EVENT_PACK_STATE_UPDATED
pad.get_pack_state("asset_pack_1")
-- start fetching asset pack
-- progress and status will be reported in the listener
pad.fetch("asset_pack_1")
-- cancel download of a pack
pad.cancel("asset_pack_1")
-- remove an on-demand packed that has been fetched
pad.remove_pack("asset_pack_1")
