breautek commented on issue #1755:
URL: 
https://github.com/apache/cordova-android/issues/1755#issuecomment-2567035002

   I reviewed https://developer.android.com/guide/playcore/asset-delivery to 
try to determine how large or small this task might be and I think there's 
quite a bit involved.
   
   It's not as simple as providing a module that is served as an asset pack for 
example.
   
   At a high level, integrating Play assets would require:
   
   1. Setting up a module in the native project for the asset pack(s). Each 
pack needs it's own android module.
   2. Naturally copying the assets to the pack's resource folders.
   3. Install-time assets are immediately available upon install, so 
`install-time` assets I don't think requires any additional special logic, but 
for `fast-follow` or `on-demand` will require APIs additonal APIs to:
   4. check asset pack versions and download updates when necessary, an app 
update and asset pack versions may become out of sync, it's the app's 
responsibility to check and download the updates if necessary via android APIs.
   5. Large asset packs (packs that are greater than 200mb requires user 
consent to download, so handling the user prompt is necessary)
   6. Naturally, error handling will also be a requirement to gracefully error 
unknown asset packs or asset packs that hasn't been downloaded yet, or 
networking issues, etc.
   7. Lastly I'm not sure if asset packs are accessible via the typical 
`file:///android_assets` or if we will need additional mappings so that webview 
can use assets from asset packs.
   
   Due to the nature of adding in APIs for app updates and version checks, it 
would be much better if this was a plugin in my opinion, which can be updated 
more easily and independently of the core platform, but I'm not sure if a 
plugin can implement everything needed, it may require changes in the core 
platform too, particularly around the gradle build system management.
   
   To be clear this isn't any acceptance or rejection of the feature request. 
This is just an initial analysis of what is likely needed to provide the 
feature.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to