Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.0

flutter_autoupdate

Adicione facilmente funcionalidade de atualização automática ao seu aplicativo Flutter

AndroidiOSmacOS
Downloads em 30 dias
203
Curtidas
44
Pontos Pub
120

Instalar pacote

flutter pub add flutter_autoupdate

Visão geral do pacote

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

flutter_autoupdate é um pacote Flutter que simplifica a integração de funcionalidades de atualização automática em aplicativos móveis e de desktop. Ele permite que os aplicativos verifiquem atualizações, baixem-nas em segundo plano e solicitem aos usuários a instalação de novas versões de forma transparente. Projetado para Android, iOS e macOS, suporta tanto modelos de distribuição pela loja de aplicativos quanto direta. O pacote realiza comparação de versões, detecção de disponibilidade de atualizações e fornece diálogos de atualização personalizáveis. Os desenvolvedores podem implementar fluxos de trabalho robustos de atualização com pouquíssimo código. É ideal para aplicativos que exigem lançamentos frequentes de recursos ou correções de segurança.

Casos de uso

  • Atualizações automáticas de aplicativos em aplicativos de produção
  • Experiência do usuário sem interrupções durante as atualizações de versão
  • Verificações de atualização em segundo plano sem interromper o fluxo de trabalho
  • Suporte para múltiplas plataformas, incluindo iOS e macOS
  • Aplicando versões mínimas obrigatórias de aplicativos
  • Reduzindo solicitações manuais de atualização

Principais recursos

  • Verificação em tempo real de atualizações
  • Diálogos de atualização personalizáveis
  • Suporte de download em segundo plano
  • Compatibilidade multiplataforma
  • Lógica de comparação de versão
  • Integração com lojas de aplicativos e downloads diretos

Indicado para

  • Desenvolvedores construindo aplicativos cross-platform com Flutter
  • Equipes que precisam de gerenciamento automatizado de lançamento
  • Aplicativos que exigem atualizações frequentes
  • Projetos com políticas rigorosas de controle de versão
  • Aplicações móveis e de desktop voltadas para usuários globais

Considerações

  • Requer configuração adequada para cada plataforma
  • Pode ser necessário tratamento adicional para aplicativos empresariais ou instalados lateralmente
  • O comportamento de atualização depende das políticas da loja de aplicativos
  • As permissões de rede devem ser concedidas
  • Pode ser necessário consentimento do usuário para downloads automáticos
  • Não adequado para aplicativos com requisitos estritos de offline

README original

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

flutter_updater

This library allows you to easily add auto-update functionality to your Android, iOS, and Windows Flutter application.

Our use case was to update the app by launching the App Store on iOS or install/execute the Android APK or Windows executable; thus, this package was born. To use this package, you should adhere to the format of the Version Template below.

Features

  • Fetch updates from iTunes App Store/remote URL
  • Launch App Store
  • Download functionality with progress
  • SHA512 hash checksum on download

Installation

Run the following command

flutter pub add flutter_autoupdate

Import the package

import 'package:flutter_autoupdate/flutter_autoupdate.dart';

Add the following to your Android app.

  • AndroidManifest.xml
<!-- Provider -->
<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.fileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>
  • android/app/src/main/res/xml/file_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path path="Android/data/<package name>/" name="files_root" />
    <external-path path="." name="external_storage_root" />
</paths>

Update the <package name> to your app package name

Examples

import 'package:flutter_updater/flutter_autoupdate.dart';

// Android/Windows
var updater = UpdateManager(versionUrl: 'versionUrl');

// iOS
var updater = UpdateManager(appId: 1500009417, countryCode: 'my');

// App Store country code, this flag is optional and only applies to iOS
var result = await updater.fetchUpdates();
print(result?.latestVersion);
print(result?.downloadUrl);
print(result?.releaseNotes);
print(result?.releaseDate);
 
if (result?.latestVersion > Version.parse('1.0.0')) {
  // Get update stream controller
  var update = await result?.initializeUpdate();
  update?.stream.listen((event) async {
    // You can build a download progressbar from the data available here
    print(event.receivedBytes);
    print(event.totalBytes);
    if (event.completed) {
      print('Download completed');

      // Close the stream controller
      await update.close();

      // On Windows, autoExit and exitDelay flag are supported.
      // On iOS, this will attempt to launch the App Store from the appId provided
      // On Android, this will simply attempt to install the downloaded APK
      await result?.runUpdate(event.path, autoExit: true, exitDelay: 5000);
    }
  });
}

For more information, check out the examples.

Version Template

By default, it will select the first index as the latest version. For more examples, sample.json is available for reference.

Android
[
  {
    "version": "3.0.0",
    "url": "https://storage.googleapis.com/download-dev.feedmepos.com/android/feedme-pos-3.0.0-beta.5.apk",
    "releaseNotes": "New update 3.0.0!",
    "releaseDate": "2021-07-28T11:58:25Z",
    "sha512": "2e0349c1e729eac0f4cb9f831fa1130241743c8db9e115013091dbeec6b8b86dc18c62bcbfab516033869c8ec8c8967615c622303d4bee62640c3b507051aca2"
  },
  {
    "version": "1.4.5",
    "url": "https://storage.googleapis.com/download-dev.feedmepos.com/android/feedme-pos-1.4.5.apk",
    "releaseNotes": "New update 1.4.5!",
    "releaseDate": "2021-06-16T11:58:25Z",
    "sha512": "f028475ad562f9f9566213774b02e0bd3ac2198899222687613937791307ec5d326cfb79ee2882273bffd6777f9c76371d6b2eed7d46e326fd687bc95e2edb2a"
  }
]
Windows
[
  {
    "version": "2.5.0",
    "url": "https://storage.googleapis.com/download-dev.feedmepos.com/feedme_sample.exe",
    "releaseNotes": "New update 2.5.0!",
    "releaseDate": "2021-07-28T11:58:25Z",
    "sha512": "53d4cc95ad07470b53b3f9bc010ab8c6776f2bc2f9f3115b0807ecebcc34175f530d02e549c260112ad08c2c86a8b92d7e7f11308df0406422be8ceea76a9190"
  }
]
iOS

It supports fetching updates by app id using the official iTunes Search API.

Contributing

We welcome the community to submit pull requests.

Bugs

  • Unable to install APK automatically after enabling "Install from unknown sources" from prompt

Categorias

Dependências

Lista de dependências 6 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.