Getnet DocsGetnet Docs

Gerenciar a Disponibilidade do Aplicativo

Este guia mostra como verificar se o aplicativo Get Mini está instalado no dispositivo do usuário. Você aprenderá como capturar a exceção quando o aplicativo estiver ausente e redirecionar os usuários para a Google Play Store.

Requisitos

Antes de seguir os passos, certifique-se de ter:

  • Aplicativo Android com capacidade de iniciar Intents
  • Acesso à Google Play Store no dispositivo

Sempre implemente essa verificação antes de tentar iniciar Intents de pagamento para fornecer uma melhor experiência ao usuário.

Verificação de Disponibilidade do Aplicativo

Esta seção orienta você na implementação do tratamento de exceções para detectar quando o aplicativo Get Mini não está instalado e orientar os usuários a instalá-lo.

Passo 1: Envolver a Inicialização do Intent em Try-Catch

Quando você tenta iniciar um Intent para o aplicativo Get Mini, o sistema Android lança uma ActivityNotFoundException se o aplicativo não estiver instalado. Envolva a sua chamada de inicialização do Intent em um bloco try-catch para lidar com esse cenário de forma adequada.

O código a seguir demonstra como capturar a exceção:

String playStoreUrl = "[https://play.google.com/store/apps/details?id=es.android.redsys.Get](https://play.google.com/store/apps/details?id=es.android.redsys.Get) Mini.movil";

try {
    // Attempt to launch the Get Mini intent
    paymentLauncher.launch(intent);

} catch (ActivityNotFoundException e) {
    // Get Mini app is not installed
    showInstallDialog(playStoreUrl);
}

Essa abordagem funciona tanto com o startActivityForResult quanto com a moderna API ActivityResultLauncher.

Passo 2: Mostrar a Caixa de Diálogo de Instalação

Quando o aplicativo Get Mini não for encontrado, exiba uma caixa de diálogo que explique a situação e forneça uma opção para instalar o aplicativo a partir da Google Play Store.

private void showInstallDialog(String playStoreUrl) {
    new AlertDialog.Builder(this)
        .setTitle("Get Mini Not Found")
        .setMessage("The Get Mini app must be installed to process payments.")
        .setPositiveButton("Install", (dialog, which) -> {
            // Open Play Store
            Intent storeIntent = new Intent(Intent.ACTION_VIEW);
            storeIntent.setData(Uri.parse(playStoreUrl));
            startActivity(storeIntent);
        })
        .setNegativeButton("Cancel", null)
        .show();
}

Passo 3: Lidar com o Retorno da Play Store (Opcional)

Após o usuário retornar da Play Store, você pode querer verificar se ele instalou o aplicativo e tentar a transação novamente. Você pode implementar isso verificando a disponibilidade do aplicativo quando a sua Activity for retomada.

@Override
protected void onResume() {
    super.onResume();

    // Check if user returned from Play Store and installed the app
    if (shouldRetryTransaction && isMposAppInstalled()) {
        retryTransaction();
    }
}

private boolean isMposAppInstalled() {
    Intent intent = new Intent("es.redsys.paysys.mPOSRedsys_PAYMENT_REQUEST");
    return getPackageManager().resolveActivity(intent, 0) != null;
}

Próximos Passos

Agora que você sabe como gerenciar a disponibilidade do aplicativo, você pode: