Você pode ter recebido recentemente um e-mail do Google Play Store afirmando o seguinte:

Atualize sua dependência Maven do Play Core para uma versão compatible com o Android 14! Sua atual biblioteca Play Core é incompatível com targetSdkVersion 34 (Android 14), que introduz uma mudança não reversível nos receptores de broadcast para melhorar a segurança do usuário. Lembre-se, a partir de 31 de agosto, o Google Play exige que todas as novas versões de aplicativos sejam feitas para o Android 14. Atualize para a versão mais recente da dependência da biblioteca Play Core para evitar falhas no aplicativo: https://developer.android.com/guide/playcore#playcore-migration

Você pode não ser capaz de lançar versões futuras do seu aplicativo com esta versão do SDK para produção ou testes abertos.

Parece assustador, não é?

Não se preocupe tanto. Na verdade, é mais fácil do que parece.

O que a mudança realmente se refere

Básicamente, o Google parou de lançar novas versões da biblioteca Play Core no início de 2022.


Última versão da biblioteca Play Core lançada

E a partir de abril de 2022, eles dividiram a biblioteca Play Core original em quatro bibliotecas separadas:

  • Biblioteca de Entrega de Ativos do Play
  • Biblioteca de Entrega de Funcionalidades do Play
  • Biblioteca de avaliações in-app do Play
  • Biblioteca de Atualizações in-app do Play

Cada biblioteca tem sua própria funcionalidade e responsabilidade.

Como a biblioteca de core mais antiga do Play apenas suporta até certo nível de API, você precisa migrar sua aplicação para usar as bibliotecas mais recentes que oferecem suporte para os últimos níveis de API.

Na essência, você precisa descobrir qual funcionalidade da biblioteca de core original do Play você está usando e então baixar a parte correta. Por exemplo, se você tiver lógica para notificar usuários quando uma nova versão da sua aplicação está disponível, você precisa pegar a biblioteca Play In-App-Updates.

Nós vamos apresentar dois casos de uso aqui:

  • Aplicação nativa Android
  • Aplicação Flutter

Caso de Uso – Aplicação Nativa Android

Se você tiver uma aplicação nativa Android, seja escrita em Kotlin ou Java, você precisa fazer o seguinte:

  1. Abrir o arquivo build.gradle de nível de aplicação
  2. Mais provavelmente você verá, dentro do bloco de dependências, esta linha:
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. Você precisará removê-la e substituí-la conforme o que você usou na biblioteca de core anterior

  2. Se você precisar pegar a biblioteca Play In-App-Updates, então você precisará adicionar isso ao bloco de dependências:

implementation 'com.google.android.play:app-update:2.1.0'
//Adicione a dependência abaixo se você estiver usando Kotlin na sua aplicação
implementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. Reconstrua sua aplicação e verifique se tudo funciona como deveria.

✋ Talvez você também precise mudar as declarações de importação de import com.google.android.play.core.tasks.*; para import com.google.android.gms.tasks.*;.

Caso de Uso – Aplicação Flutter

Como o Flutter é um framework que atende a ambos o Android e o iOS, este cenário é um pouco diferente do anterior. Se você receber um aviso para atualizar a biblioteca core play na sua aplicação Flutter, você precisa olhar nas bibliotecas que você está usando no seu arquivo pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^3.0.0

Como você pode ver acima, a aplicação depende da biblioteca in_app_update, que se relaciona com a notificação aos usuários quando uma versão mais recente da aplicação está disponível. Quando nós passamos para a página de changelog do in_app_update no pub.dev, podemos ver que:


versão 4.1.0 adicionou o suporte necessário

Então, precisamos atualizar o arquivo pubspec.yaml para usar essa versão (pelo menos).

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^4.1.0

Execute o comando Pub get e você deverá estar pronto.