プッシュ通知を処理する
NFC Wallet はプッシュ通知を使用してあなたに通知します デジタルウォレットアプリケーション。通知は NFC Wallet のバックエンドによって送信されます。
を使用して通知をルーティングします sender
読み取り userInfo["sender"] し、通知を適切なハンドラーに振り分けます:
CPS: デジタルカード操作 (LCM)TNS: トランザクション通知MG: によってトリガーされる支払いキー補充 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":
// デジタルカード操作 (LCM)。
// SDK の通知ハンドラーを呼び出します。API リファレンスの `NotificationService` を参照してください。
break
case "TNS":
// トランザクション通知。
// トランザクション履歴を更新します。API リファレンスの `TransactionHistoryService` を参照してください。
break
case "MG":
// TSP によってトリガーされたキー補充。
// 補充をトリガーします。API リファレンスの `ReplenishmentService` を参照してください。
break
default:
// SDK 以外の通知。
break
}
completionHandler(.newData)
} catch {
completionHandler(.failed)
}
}
}CPS 通知(デジタルカード操作)を処理する
転送する CPS プッシュ通知を SDK に NotificationService.processNotification().
NFC Wallet SDK はプッシュを処理し、NFC Wallet のバックエンドと連携します。
その後、SDK は以下を通じて通知イベントを発行できます NotificationService.notificationEventStream。これらのイベントを使用してデジタルカード操作を追跡します。
サポートされるイベント:
unsupportedPushContent: プッシュペイロードが SDK でサポートされていない場合にトリガーされます。completed: 処理が正常に完了したときにトリガーされます(たとえば、カードプロファイルと支払いキーのプロビジョニング後)。serverMessage: バックエンドが指示を返したときにトリガーされます。SDK はserverMessageオブジェクトとtokenizedId.
サーバーメッセージ
受信したら serverMessageを提供します。 serverMessage オブジェクトを解析して、バックエンドがどの操作を要求したのかを判断します。
特に:
requestInstallCard: カードのインストール要求。requestResumeCard: カードを一時停止からアクティブに移す要求。requestSuspendCard: カードをアクティブから一時停止に移す要求。requestDeleteCard: カードの削除要求。
TNS 通知(トランザクション)を処理する
トランザクション通知は、完了した支払いトランザクションの詳細を提供します。 TransactionHistoryService を使用してトランザクション記録を取得します。
プッシュ通知を通じて、 デジタルウォレットアプリケーション は通知の userInfo パラメータ経由で次の情報を取得します:
userInfo["sender"]:TNS.userInfo["action"]:TNS:PaymentTransactionNotification.userInfo["digitalCardId"]: デジタルカード識別子。TransactionHistoryService.records(forDigitalCardID:).userInfo["transactionRecordType"]: コバッジカードの場合のみ存在します。TransactionHistoryService.records(forDigitalCardID:transactionRecordType:)に渡して、関連する記録(プライマリまたは補助)のみを取得します。
MG通知を処理する(補充)
この TSP は支払いキーの補充を要求できます。 ReplenishmentService を使用してキーを補充します。
プッシュ通知を通じて、 デジタルウォレットアプリケーション は通知の userInfo パラメータ経由で次の情報を取得します:
userInfo["sender"]:MG.userInfo["action"]:MG:ReplenishmentNeededNotification.userInfo["digitalCardId"]: デジタルカード識別子。ReplenishmentService.replenish(digitalCardID:isForced:).
最終更新
役に立ちましたか?