パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.1.0

asset_delivery

Play Asset Delivery を使用したオンデマンドアセット配信の管理を可能にするFlutterプラグインで、アセットパックの設定、進行状況のトラッキング、永続的ストレージをサポートしています。

AndroidiOS
30日間ダウンロード
415
いいね数
12
Pub ポイント
140

パッケージをインストール

flutter pub add asset_delivery

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Google Play アセット配信を使用してオンデマンドでアセットを配信できるFlutterプラグインです。開発者が3Dモデル、オーディオ、ビデオなどの大容量アセットを効率的に管理できるようにします。アセットパックの設定、ダウンロード中のリアルタイム進捗追跡、アプリ再起動後の永続的ストレージをサポートしています。AndroidおよびiOS向けに設計されており、Playストアのアセット配信システムとシームレスに統合され、初期アプリサイズを削減し、必要なときにのみアセットを配信することでユーザー体験を向上させます。

用途

  • オンデマンドで大規模なゲームアセットを配信
  • 高品質なメディアファイルのストリーミング
  • 初期アプリダウンロードサイズの削減
  • 完全なアプリ更新なしでコンテンツを更新する
  • 動的アプリ内コンテンツの管理

主な機能

  • Play Asset Delivery を通じたオンデマンドアセット配信
  • リアルタイムでのダウンロード進捗のトラッキング
  • セッション間での永続的アセットストレージ
  • Android および iOS プラットフォームのサポート
  • Google Play のアセット配信システムとの統合

適している対象

  • 大規模なアセット管理を必要とするゲーム開発者
  • 動的または頻繁に更新されるコンテンツを持つアプリ
  • アプリのサイズとパフォーマンスを最適化する開発者
  • Google Play をアプリ配信に利用するチーム
  • 効率的なコンテンツ配信ワークフローを必要とするプロジェクト

注意事項

  • Android アセット配信には Google Play を必要とします
  • Android および iOS プラットフォームに限定
  • Android 上の Google Play サービスに依存
  • Google Play コンソールで追加の構成が必要になる場合があります
  • Google Play以外での配布に適していません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Asset Delivery Plugin for Flutter

Introduction

The Asset Delivery Plugin simplifies managing on-demand asset delivery in Flutter applications. It integrates with Play Asset Delivery (Android) and On-Demand Resources (iOS), enabling dynamic asset downloads and seamless user experiences.

Key Features
  • On-Demand Asset Delivery: Download and access assets dynamically at runtime.
  • Customizable Resource Management: Flexible naming patterns and ranges for asset files.
  • Progress Tracking: Real-time download progress updates.
  • Cross-Platform Support: Compatible with both Android and iOS.

Installation

Add the following line to your pubspec.yaml file:

dependencies:
  asset_delivery: 
    git:
      url: https://github.com/mohsen-motlagh/asset_delivery.git
      ref: main

flutter:
  generate: true      

Setup

Android
Minimum SDK Version: 24
  1. Add the Play Asset Delivery library to your Gradle file:

    implementation "com.google.android.play:asset-delivery:2.2.2"
    
  2. Run the setup command in the terminal:

    dart run asset_delivery:setup_asset_pack "YourAssetPackName"
    
  3. A folder named after your asset pack will be created, containing:

    • A build.gradle.kts file.
    • A manifest folder with an AndroidManifest.xml file.
  4. Add your assets in the following path:

    ProjectDirectory/Android/YourAssetFolder/src/main/assets/"PUT YOUR ASSETS IN THIS DIRECTORY"
    
  5. Once published to the Play Store, you can retrieve assets dynamically. To test before publishing, follow the Testing steps below.

  6. For multiple asset packs, repeat these steps for each asset pack.


Android Testing

This method of testing is only available for Android versions below 12. Alternatively, you can publish your app to the Google Play Store for internal testing.

  1. Download the BundleTool.

  2. Build your app bundle and use the following commands:

    • Generate the APKs:

      java -jar bundletool.jar build-apks --bundle=<your_app_project_dir>/build/app/outputs/bundle/release/app-release.aab --output=<your_temp_dir>/app.apks --local-testing
      
    • Install the APKs on your device:

      java -jar bundletool.jar install-apks --apks=<your_temp_dir>/app.apks
      
  3. To get the final APK size:

    java -jar bundletool.jar get-size total --apks=<your_temp_dir>/app.apks --dimensions=SDK
    

iOS
  1. Open Xcode and navigate to your Runner project.

  2. Add your assets to the Assets folder.

  3. Configure the asset pack:

    • Select the asset or folder.
    • In the right panel, find On-Demand Resource Tags under the settings icon.
    • Add your Asset Pack Name (this should match the name used for Android).
  4. Ensure all assets are tagged appropriately.


iOS Testing

You can test your iOS app by running it from Xcode on a real device or simulator, as well as using flutter run --release.

Usage

  1. Download Assets
    On Android devices, download and install assets dynamically using:

    await assetDelivery.fetch("$assetpackName");
    
    - If the assets already exist on the device, the download will be skipped automatically.
    - On iOS, this step is not necessary as assets are accessed directly.
    
    
  2. Track Download Progress During the download, track the status of the asset pack by calling:

    await assetDelivery.getAssetPackStatus();
    
3. Retrieve Asset Path

Get the local path to the downloaded assets using the following code:

  final path = await assetDelivery.getAssetPackPath(
    assetPackName: widget.assetPackName,
    count: widget.assetsCount,
    namingPattern: widget.namingPattern,
    fileExtension: widget.fileExtension,
  );
  Parameters:

  assetPackName: The name of the asset pack.
  count: The number of assets in the pack.
  namingPattern: The naming convention for the assets.
  fileExtension: The file extension of the assets (e.g., 'mp3').
  1. Check for keyword "COMPLETED" from the status to be sure the assets completely downloaded
Example

Example App

Suppor

Please support the plugin by give a thumbs up in pub.dev and github

Contributions

Contributions are welcome! Feel free to submit issues or pull requests on GitHub.

License

This plugin is licensed under the MIT License. See the LICENSE file for details.

カテゴリー

依存関係

依存関係一覧 1 件

  • plugin_platform_interface^2.0.2

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。