Android supporta l'emulazione di schede NFC con un elemento sicuro per l'emulazione di schede off-host. Per saperne di più, consulta la panoramica dell'emulazione di carte basata sull'host. Tuttavia, sulla piattaforma Android, il servizio di pagamento preferito specificato nell'impostazione Touch & Pay non è sempre sincronizzato con l'app nell'elemento sicuro. Ciò significa che è possibile che venga utilizzato un servizio di pagamento non preferito nell'elemento sicuro anziché il servizio di pagamento preferito.
In Android 11, la funzionalità di sincronizzazione dei pagamenti off-host fornisce un meccanismo che consente di sincronizzare la configurazione dei pagamenti in Touch & Pay, la configurazione di routing nel frontend contactless (CLF) e lo stato selezionato dall'app nell'elemento sicuro.
Il seguente diagramma illustra l'architettura di progettazione della funzionalità di sincronizzazione dei pagamenti off-host.

Implementazione
Per implementare la funzionalità di sincronizzazione dei pagamenti off-host, il dispositivo deve disporre di un controller NFC che supporti lo standard NCI 2.0 e deve utilizzare i framework NFC e Open Mobile Application Programming Interface (OMAPI) di Android Open Source Project.
API Framework
Per implementare la sincronizzazione dei pagamenti off-host, utilizza le seguenti API framework disponibili nel progetto Android Open Source:
getAidsForPreferredPaymentService()
: Recupera gli AID registrati per il servizio di pagamento preferito.getRouteDestinationForPreferredPaymentService()
: Recupera la destinazione dell'itinerario per il servizio di pagamento preferito.getDescriptionForPreferredPaymentService()
: Restituisce una descrizione visibile all'utente del servizio di pagamento preferito.android.permission.NFC_PREFERRED_PAYMENT_INFO
(autorizzazione): consente alle app di ricevere informazioni sul servizio di pagamento NFC preferito.android.nfc.action.PREFERRED_PAYMENT_CHANGED
(broadcast action): Intent to notify if the preferred payment service changed.
Convalida
Per convalidare l'implementazione della funzionalità di sincronizzazione dei pagamenti off-host, installa app con elementi sicuri corrispondenti e poi verifica le risposte appropriate da un lettore NFC in diverse condizioni.