3. Considerar el inicio de la aplicación
Resumen
Cuando tu aplicación se inicie, inicializa el SDK de NFC Wallet.
Configura también la experiencia de pago que admite tu aplicación de billetera digital:
Admitir un solo toque pagos.
O exigir dos toques pagos.
Incluso si habilitas un solo toque, algunas transacciones pueden recurrir a dos toques. Consulte Un solo toque puede recurrir a dos toques.
Aplicación de pago en segundo plano
Cuando la aplicación de billetera digital es la aplicación de pago predeterminada (consulta Aplicación de pago predeterminada), Android puede mantenerla en segundo plano. Esto le permite responder rápidamente a los APDU de pago sin contacto del terminal POS sin volver a crear la aplicación.
Algunos dispositivos terminan la aplicación de pago predeterminada mientras está en segundo plano. En estos dispositivos, los pagos sin contacto pueden provocar un arranque en frío de la aplicación. Consulta Optimizar los arranques en frío.
Integración del SDK
Actualizar el inicio de la aplicación
En Application.onCreate(), tu aplicación debe:
Ejecuta la configuración rápida del SDK.
Configura la experiencia de pago esperada:
ONE_TAP_ENABLEDpara admitir un solo toque transaccionesTWO_TAP_ALWAYSpara exigir siempre autenticación después del primer toque (siempre dos toques pagos)
Inicializa el SDK en un hilo separado.
Opcional: después de que la inicialización se realice correctamente, activa la preentrada. Consulta Activar preentrada.
Para los pasos 1 y 2, consulta Inicializar el SDK de NFC Wallet.
Un solo toque puede recurrir a dos toques
Si habilitas ONE_TAP_ENABLED, no todas las transacciones se realizan como un solo toque.
Trata un solo toque como el flujo de mejor caso. Si no se cumplen las condiciones requeridas, NFC Wallet SDK recurre a dos toques.
Ejemplos:
El usuario final no toca dentro del período de validez configurado después de desbloquear el dispositivo. Consulta
keyValidityPerioden Inicializar el SDK de NFC Wallet.Una transacción LVT sin autenticación alcanza un umbral de riesgo configurado. En ese caso, NFC Wallet SDK requiere autenticación. Consulta Definir la gestión de riesgos.
Reduce el tiempo de arranque en frío
Algunos dispositivos terminan la aplicación de pago predeterminada mientras está en segundo plano. En estos dispositivos, un pago sin contacto puede desencadenar un arranque en frío.
El procesamiento de APDU comienza inmediatamente después de arranque en frío.
El proceso de arranque en frío incluye:
Enlace del servicio (alrededor de 100–200 milisegundos)
Finalización de
Application.onCreate()
Minimiza el trabajo en Application.onCreate(). Limítalo a la configuración e inicialización del SDK de NFC Wallet.
Evita otras operaciones en los primeros 0,5 segundos después de Application.onCreate() se inicia. El trabajo en paralelo puede retrasar el manejo de APDU cuando Android envía comandos APDU al terminal POS.
Si es necesario, retrasa el trabajo no relacionado con pagos al menos 0,5 segundos después de que se complete la inicialización del SDK.
Activar preentrada
Usa la preentrada para admitir un solo toque pagos.
La preentrada permite que el usuario final se autentique antes de que comience el flujo de pago.
La autenticación ocurre cuando el usuario final desbloquea el dispositivo con biometría o con el bloqueo del dispositivo (PIN, patrón o contraseña). Esto habilita un pago sin un paso adicional de verificación.
Solo se permite un pago por cada desbloqueo del dispositivo cuando este modo está habilitado.
No agregues filtros de intención adicionales con DeviceCVMPreEntryReceiver. Esta clase está diseñada para actuar solo sobre la ACTION_USER_PRESENT intención.
Última actualización
¿Te fue útil?