🏪Checar Update do APP nas lojas

Descrição de como implementar uma lógica, para o app realizar a checagem se existem novas versões disponíveis nas lojas.

Para que não fosse necessário criar uma lógica própria, na mão, se comunicando diretamente com as lojas ou com o backend, a descrição de uso é utilizando o plugin new_version_plusarrow-up-right e também o plugin package_info_plusarrow-up-right.

Para isso, é bem simples, basta instanciar um objeto do NewVersionPlus utilizando os ids da aplicação (tanto android quanto iOS) utilizando o package info plus.

Com isso, o plugin nos permite buscar um objeto do tipo VersionStatus, e é com ele que vamos verificar se um update da aplicação nas lojas já está disponível.

Também é possível através dele ter acesso aos links do app nas lojas, da versão local, da última release note das lojas, e outras coisas. No exemplo abaixo vou apenas checar se há update disponível:

late NewVersionPlus? newVersionPlus;

String appStoreLink = "";

Future<void> checkForAppUpdate(BuildContext context) async {
  try {
    PackageInfo packageInfo = await PackageInfo.fromPlatform();

    newVersionPlus = NewVersionPlus(
      iOSId: packageInfo.packageName,
      androidId: packageInfo.packageName,
      androidPlayStoreCountry: "pt_BR",
    );

    final status = await newVersionPlus?.getVersionStatus();

    if (status?.canUpdate == true) {
      appStoreLink = status?.appStoreLink ?? "";

      showCustomModalBottomSheet(
        context,
        const AppUpdateAvailableDialogContent(),
      );
    }
  } catch (e) {
    log(e.toString());
  }
}

Então, caso existe um update disponível, podemos realizar nossa própria lógica, dependendo da aplicação. Nesse caso, a aplicação mostra um modalBottomSheet, dizendo que tem um update disponível, e um botão que leva diretamente para a loja.

E para que de fato, a verificação seja realizada, basta chamar essa função checkForAppUpdate onde desejar. Por exemplo, no initState da sua HomeScreen.

Last updated