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