byte[] activationCode = ...; // de MGDigitizationListener.onCPSActivationCodeAcquired(...)
String pushToken = "..."; // de FCM o HMS Push Kit
String language = "en"; // Usa la configuración regional de tu app cuando sea posible.
// El ID de wallet es el identificador de usuario para la inscripción del dispositivo.
String walletId = MobileGatewayManager.INSTANCE.getCardEnrollmentService().getWalletId();
EnrollingServiceListener enrollingListener = new MyEnrollingServiceListener(activationCode);
final EnrollingBusinessService enrollingService = ProvisioningServiceManager.getEnrollingBusinessService();
final ProvisioningBusinessService provisioningBusinessService = ProvisioningServiceManager.getProvisioningBusinessService();
// Comprueba el estado de inscripción.
final EnrollmentStatus status = enrollingService.isEnrolled();
switch (status) {
case ENROLLMENT_NEEDED:
// Primer intento de inscripción del dispositivo en esta instancia de wallet.
enrollingService.enroll(walletId, pushToken, language, enrollingListener);
break;
case ENROLLMENT_IN_PROGRESS:
// La inscripción se inició antes y debe reanudarse.
enrollingService.continueEnrollment(language, enrollingListener);
break;
case ENROLLMENT_COMPLETE:
// La inscripción del dispositivo ya está completada.
// Desencadena el aprovisionamiento de esta tarjeta.
// El SDK solicita el código de activación a través de enrollingListener.onCodeRequired(...).
provisioningBusinessService.sendActivationCode(enrollingListener);
break;
default:
// Registrar error (estado desconocido).
}