Android supporta l'emulazione della scheda NFC con un elemento sicuro per l'emulazione della scheda fuori host. (Per ulteriori informazioni, vedere Panoramica sull'emulazione della carta basata su host .) Tuttavia, sulla piattaforma Android, il servizio di pagamento preferito specificato nell'impostazione Tocca e paga 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 al posto del servizio di pagamento preferito.
In Android 11, la funzionalità di sincronizzazione dei pagamenti off-host fornisce un meccanismo che consente di sincronizzare la configurazione del pagamento in Tap & pay, la configurazione del routing sul front-end contactless (CLF) e lo stato selezionato dell'app nell'elemento sicuro .
Il diagramma seguente illustra l'architettura di progettazione della funzionalità di sincronizzazione dei pagamenti fuori host.
![Architettura di progettazione della sincronizzazione dei pagamenti fuori host](https://source.android.google.cn/static/docs/core/connect/images/nfc-offhost-payment-sync.png?authuser=1&hl=it)
Implementazione
Per implementare la funzionalità di sincronizzazione dei pagamenti fuori host, il dispositivo deve disporre di un controller NFC che supporti lo standard NCI 2.0 e deve utilizzare i framework Android Open Source Project NFC e Open Mobile Application Programming Interface (OMAPI).
API del quadro
Per implementare la sincronizzazione dei pagamenti fuori host, utilizza le seguenti API del framework presenti nel progetto Android Open Source:
-
getAidsForPreferredPaymentService()
: recupera gli AID registrati per il servizio di pagamento preferito. -
getRouteDestinationForPreferredPaymentService()
: recupera la destinazione del percorso 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 preferito NFC. -
android.nfc.action.PREFERRED_PAYMENT_CHANGED
(azione di trasmissione): intento di notificare se il servizio di pagamento preferito è cambiato.
Validazione
Per convalidare l'implementazione della funzionalità di sincronizzazione dei pagamenti fuori host, installa le app Secure Element con i corrispondenti elementi sicuri e quindi controlla le risposte appropriate da un lettore NFC in diverse condizioni.