Gestionar notificaciones push
NFC Wallet usa notificaciones push para notificarte de tu aplicación de billetera digital. Las notificaciones son enviadas por el backend de NFC Wallet.
Enruta las notificaciones usando emisor
Leer userInfo["sender"] y enruta la notificación al manejador correcto:
CPS: operaciones de tarjeta digital (LCM)TNS: notificaciones de transaccionesMG: reposición de claves de pago activada por el TSP
func application(
_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
) {
let sender = userInfo["sender"] as? String
Task {
do {
switch sender {
case "CPS":
// Operaciones de tarjeta digital (LCM).
// Llama al controlador de notificaciones del SDK. Consulta `NotificationService` en la referencia de la API.
break
case "TNS":
// Notificaciones de transacciones.
// Actualiza el historial de transacciones. Consulta `TransactionHistoryService` en la referencia de la API.
break
case "MG":
// Reposición de claves activada por el TSP.
// Inicia la reposición. Consulta `ReplenishmentService` en la referencia de la API.
break
default:
// Notificaciones que no son del SDK.
break
}
completionHandler(.newData)
} catch {
completionHandler(.failed)
}
}
}Procesa notificaciones CPS (operaciones de tarjeta digital)
Reenvía CPS las notificaciones push al SDK usando NotificationService.processNotification().
El SDK de NFC Wallet procesa el push e interactúa con el backend de NFC Wallet.
Luego, el SDK puede emitir eventos de notificación a través de NotificationService.notificationEventStream. Usa estos eventos para rastrear la operación de la tarjeta digital.
Eventos admitidos:
unsupportedPushContent: Se activa cuando la carga útil del push no es compatible con el SDK.completed: Se activa cuando el procesamiento se completa correctamente (por ejemplo, después de aprovisionar un perfil de tarjeta y claves de pago).serverMessage: Se activa cuando el backend devuelve una instrucción. El SDK proporciona unserverMessageobjeto y untokenizedId.
Mensaje del servidor
Cuando recibas serverMessage, analiza el serverMessage objeto para determinar qué operación solicitó el backend.
En particular:
requestInstallCard: Solicitud para instalar una tarjeta.requestResumeCard: Solicitud para mover una tarjeta de suspendida a activa.requestSuspendCard: Solicitud para mover una tarjeta de activa a suspendida.requestDeleteCard: Solicitud para eliminar una tarjeta.
Procesa notificaciones TNS (transacciones)
Las notificaciones de transacciones proporcionan detalles sobre las transacciones de pago completadas. Usa TransactionHistoryService para recuperar los registros de transacciones.
A través de la notificación push, el aplicación de billetera digital obtiene la siguiente información a través del userInfo parámetro:
userInfo["sender"]:TNS.userInfo["action"]:TNS:PaymentTransactionNotification.userInfo["digitalCardId"]: Identificador de la tarjeta digital. Úsalo conTransactionHistoryService.records(forDigitalCardID:).userInfo["transactionRecordType"]: Solo presente para tarjetas de doble marca. Pásalo aTransactionHistoryService.records(forDigitalCardID:transactionRecordType:)para obtener solo los registros relevantes (principal o auxiliar).
Procesar notificaciones de MG (renovación)
El TSP puede solicitar la reposición de claves de pago. Usa ReplenishmentService para reponer las claves.
A través de la notificación push, el aplicación de billetera digital obtiene la siguiente información a través del userInfo parámetro:
userInfo["sender"]:MG.userInfo["action"]:MG:ReplenishmentNeededNotification.userInfo["digitalCardId"]: Identificador de la tarjeta digital. Úsalo conReplenishmentService.replenish(digitalCardID:isForced:).
Última actualización
¿Te fue útil?