Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.1.0

asset_delivery

Um plugin Flutter para gerenciar a entrega de ativos sob demanda com o Play Asset Delivery, suportando configuração de pacotes de ativos, rastreamento de progresso e armazenamento persistente.

AndroidiOS
Downloads em 30 dias
415
Curtidas
12
Pontos Pub
140

Instalar pacote

flutter pub add asset_delivery

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um plugin Flutter que permite a entrega de ativos sob demanda usando o Google Play Asset Delivery, permitindo que desenvolvedores gerenciem eficientemente grandes ativos, como modelos 3D, áudio e vídeo. Ele suporta configuração de pacotes de ativos, acompanhamento em tempo real do progresso durante os downloads e armazenamento persistente após reinícios do aplicativo. Projetado para Android e iOS, integra-se perfeitamente ao sistema de entrega de ativos da Play Store, reduzindo o tamanho inicial do aplicativo e melhorando a experiência do usuário ao entregar ativos apenas quando necessário.

Casos de uso

  • Entrega de ativos de jogo grandes sob demanda
  • Transmissão ao vivo de arquivos de mídia de alta qualidade
  • Reduzindo o tamanho inicial do download do aplicativo
  • Atualizando conteúdo sem atualizações completas do aplicativo
  • Gerenciando conteúdo dinâmico no aplicativo

Principais recursos

  • Entrega sob demanda de ativos por meio do Play Asset Delivery
  • Rastreamento em tempo real do progresso de download
  • Armazenamento persistente de ativos entre sessões
  • Suporte para plataformas Android e iOS
  • Integração com o sistema de entrega de ativos do Google Play

Indicado para

  • Desenvolvedores de jogos que precisam de grande gerenciamento de ativos
  • Aplicativos com conteúdo dinâmico ou frequentemente atualizado
  • Desenvolvedores otimizando o tamanho e o desempenho do aplicativo
  • Equipes usando o Google Play para distribuição de aplicativos
  • Projetos que exigem fluxos de trabalho eficientes de entrega de conteúdo

Considerações

  • Requer Google Play para entrega de ativos do Android
  • Limitado a plataformas Android e iOS
  • Dependente dos serviços do Google Play no Android
  • Pode exigir configuração adicional no Google Play Console
  • Não adequado para aplicativos distribuídos fora do Google Play

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Dependências

Lista de dependências 1 itens

  • plugin_platform_interface^2.0.2

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.