Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.

プッシュプロビジョニング

ステップ1: 次を表示する ウォレットに追加 ボタン

エンドユーザーが最初にイシュアアプリケーションを起動したとき、特定のカードに対して次を表示するか非表示にするかを判断する必要があります。 Apple Walletに追加 特定のカードのボタン。

できるだけ早く、エンドユーザーがiPhoneを持っているか、Apple WatchとペアリングされたiPhoneを持っているかを判定します。

次に、このペアリング状態をPush Provisioning SDKと組み合わせて getToken APIの結果を使用して、次を表示するか非表示にするかを決定します。 Apple Walletに追加 ボタン。

import WatchConnectivity

class ViewController: UIViewController, TPCSDKProvisionDelegate, WCSessionDelegate {    
    // TPC関数を呼び出す前に isWatchPaired 値を保存するため
    var isWatchPaired = false

    override func viewDidLoad() {
        super.viewDidLoad()
        // ビューの読み込み後に追加のセットアップを行います。
        if WCSession.isSupported() {
            let session = WCSession.default
            session.delegate = self
            session.activate()
        }
    }
    
    // MARK: WCSessionDelegate
    func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
        if error != nil {
            // エラーを処理する
        } else if activationState == .activated && session.isPaired {
            isWatchPaired = true
        }
    }
    
    func sessionDidBecomeInactive(_ session: WCSession) {
        // sessionDidBecomeInactive を処理する
        isWatchPaired = false
    }
    
    func sessionDidDeactivate(_ session: WCSession) {
        // sessionDidDeactivate を処理する
        isWatchPaired = false
    }
}

次に、 getToken APIを呼び出して結果を更新します。

info-circle

注意

次を参照してください PKAddPassButton イシュアアプリケーションでボタンを使用するためのガイドライン。 Apple Walletに追加 ボタンをイシュアアプリケーションで使用するためのガイドライン。

次は iOS SDK 2.0.0 およびそれ以前に適用されます。

次は iOS SDK 2.1.0 以降に適用されます。

exclamation-circle

注意

  • プロビジョニング後もカードが「NOT_DIGITIZED」と表示される場合は、イシュアアプリケーションがTSPポータルで正しく構成されているか確認してください。

  • その TPCSDK.isCardDigitized APIは非推奨で推奨されません。代わりに次のAPIを使用してください。 getToken APIを使用してください。なお、 isCardDigitized APIはカードがアクティベーション保留中か、iPhone上かApple Watch上かを示しません。

ステップ2: カードをプロビジョニングする

プロビジョニングデリゲートはプロビジョニング完了後に PKPass を返します。それを使用してカードのデジタル化状況を確認します。デリゲートが nilを返す場合、SDKはエラーも返します。

PKPass クラスを使用する前に、PassKit.framework をプロジェクトに追加してください。

exclamation-circle

警告

このAPIを呼び出す前に、イシュアアプリケーションにPush Provisioning権限を追加する必要があります。そうしないと、APIはエラーを返します。権限を取得するには次の手順に従ってください。 Push Provisioning Access ガイドライン.

info-circle

次のAPIを使用して取得します。 getToken ローカルPKPass または リモートPKPass 。いずれかがでない場合、PKSecureElementPass オブジェクトの または リモートPKPass 。いずれかが primaryAccountIdentifier nilプロパティにアクセスします。取得した provision APIに渡します。 Visa、Mastercard、Amex、Discover の標準スキーム列挙値を使用したプロビジョニング func onProvisionCompletion(pass: PKPaymentPass?, error: Error?) { if let error = error { if let tpcError = error as? TPCError {

// TPCError を処理する

primaryAccountIdentifier:primaryAccountIdentifier,

最終更新

役に立ちましたか?