ハイライト
Apple は、iOS 14 および macOS Big Sur の Apple Pay に、新しい PassKit タイプ、より多くの支払いボタン スタイル、App Clips 支払い提案、Mac/Catalyst サポート、連絡先フォーマットおよび発行者 Wallet 拡張機能を追加し、開発者がワンタイム トランザクションとクロスプラットフォーム チェックアウト プロセスを短縮できるようにします。
主要内容
以前は、Apple Pay への接続は、「フルアプリまたは Safari に支払いボタンを置く」こととして理解されることがよくありました。このセッションでは、ボタンを長いトランザクション リンクに置きます。つまり、ユーザーが正しい支払い入口を確認できる方法、App Clip でより少ないフォームに入力する方法、Mac で Apple Pay に電話をかける方法、販売者がより安定した連絡先データを取得する方法について説明します。
最初の変化は、ウォレットの境界の拡大から生じます。 Apple Pay は、クレジット カード、交通カード、学生 ID カード、および Secure Element のサポートを必要とするその他のシナリオをすでにカバーしています。PKPaymentPass支払いのセマンティクスはより狭くなっているため、Apple はこう付け加えたPKSecureElementPassそして、新旧の開発者がそこに移行することを推奨します。PKPaymentPass将来的には放棄されるでしょう。 (01:17)
2 番目の変化は入り口にあります。PKPaymentButtonこれは依然として支払いのメインの入り口ですが、ボタンの種類はより詳細であり、家賃、チップ、交通カードのチャージなどの特定のアクションを表現できます。PKButtonStyleAutomaticシステムの明暗外観切り替えボタンのスタイルに従います。ユーザーに表示されるボタンは、単に「購入」というものではなく、現在のタスクに近いものになりました。 (01:35)
3 番目の変更は App Clip です。車を駐車したり、レンタカーを借りたり、レストランで支払いをしたり、ガソリンを満タンにしたりすることは、ユーザーが最初に完全なアプリをダウンロードすることを要求するほどの作業ではありません。セッション氏は、Apple Pay を App Clip のデフォルトの支払い方法にし、ゲストがチェックアウトできるようにし、購入後にアカウント作成を行い、登録コストを削減するために Apple でサインインを使用することを推奨しています。 (03:04)
後半はプラットフォームの一貫性を目指して移行します。 Apple Pay が Mac Catalyst とネイティブ Mac アプリに登場します。連絡先データは基本的に iOS、macOS、Web 上でフォーマットされます。カード発行会社は、ユーザーがウォレットの拡張機能を通じて追加できるカードを簡単に見つけられるようにすることもできます。取引リンクが「お支払いいただけますか?」から変更されました。 「どのプラットフォームでもミスを減らすことができる」。 (06:18)
詳細
Secure Element パスの新しい名前
(00:57) 交通カード、学生証、支払いカードにデバイス側で共通しているのは、すべての支払いではなくセキュア エレメントです。PKSecureElementPass予約済みPKPaymentPassプロパティの名前の方が正確です。 Apple は、新規プロジェクトと既存プロジェクトの両方がそれを採用し始めることを明確に推奨しており、次のように述べています。PKPaymentPass将来的には廃止される予定です。
これにより、Wallet クラスのアプリケーションに移行シグナルが与えられます。コードが支払いを具体的に処理するのではなく、デバイス上の Wallet 認証情報を列挙している場合、これを最初にチェックする必要があります。PKSecureElementPass。このようにして、コードのセマンティクスは、ウォレットが保持できる認証情報の種類と一致します。
ボタン タイプを使用して特定のトランザクションを表現する
(01:35)PKPaymentButtonボタンの種類がさらに追加されました。セッションに含まれるシナリオには、レンタカー、自転車のレンタル、チップ、交通カードのリチャージなどが含まれます。タイプはボタンのコピーを制御し、スタイルは外観を制御します。新しいPKButtonStyleAutomaticシステムのテーマに応じて、明るいスタイルと暗いスタイルが自動的に切り替わります。
これは小さなことですが、コンバージョンに直接影響します。 App Clip の場合、QR コードをスキャンしてレンタカーを借りる場合、ボタンは Apple Pay でレンタルする必要があります。チップを渡すシナリオの場合、Apple Pay でボタンをチップにする必要があります。ボタンのコピーがタスクに近ければ近いほど、ユーザーは次に何をすべきかを推測する必要が少なくなります。
App Clips での支払いパス
(03:54) App Clip に対する Apple の支払い提案は非常に明確です。Apple Pay が使用できる場合は、まず Apple Pay を使用してください。ゲストのチェックアウトを許可します。購入が完了するまでアカウントの作成を延期します。アカウントが必要な場合は、「Apple でサインイン」を使用します。 App Clip はシンプルかつ焦点を絞ったものにしてください。地図、ルート、その他のリソースをオンデマンドでロードします。最初のダウンロードにそれらを詰め込まないでください。
これらの提案はすべて、App Clip ユーザーが現実の状況に立って、ただ目の前のタスクを完了したいだけであるという事実を中心に展開しています。駐車、食べ物の注文、レンタカー、給油はすべて最短距離で支払いを行うのに適しています。フォーム、フルアカウントシステム、大規模なリソースバンドルは、ユーザーをタスクから遠ざける可能性があります。
Web および Mac での Apple Pay
(05:08) Web 側では 2 つのエクスペリエンス強化があります。PKPaymentButtonカスタムの角丸は Web でサポートされており、販売者はデフォルトの角丸、カプセル、および正方形のスタイルの間で調整できます。デジタル商品やサービスは編集された請求先住所を取得できます。これは税金や手数料などの変動項目の計算に使用され、ユーザーは認証前に全額を確認できるようになります。
(06:18) Mac 側の変更はさらに大きくなります。 Apple Pay は Mac Catalyst とネイティブ Mac アプリをサポートしています。PKPaymentButton新しいボタン タイプと自動スタイルを含む Mac にも登場します。ネイティブ アプリが販売者セッションを取得すると、WebKit によって指定された検証 URL に依存せず、静的 URL を使用します。 Apple は Web 決済も新しい方法に移行することを推奨しており、古い方法は将来的に削除される予定です。
// PKPaymentAuthorizationControllerDelegate
func presentationWindow(for controller: PKPaymentAuthorizationController) -> UIWindow? {
let purchaseWindow = yourViewController.view.window
return (purchaseWindow) // The window presenting the payment sheet.
}
func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didRequestMerchantSessionUpdate handler: @escaping (PKPaymentRequestMerchantSessionUpdate) -> Void) {
// Get merchant session to enable the user to authorize a transaction.
var dict = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any] {
let session = PKPaymentMerchantSession(dictionary: dict)
let update = PKPaymentRequestMerchantSessionUpdate(status: .success, merchantSession: session)
handler(update)
}
}
キーポイント:
presentationWindow(for:)購入を開始したウィンドウに戻り、PKPaymentAuthorizationController支払いシートをどこに置くかを知ってください。paymentAuthorizationController(_:didRequestMerchantSessionUpdate:)サーバーからのマーチャントセッションのリクエストを担当します。- サーバーが Apple からセッションを安全に取得した後、アプリは
PKPaymentMerchantSession梱包結果。 PKPaymentRequestMerchantSessionUpdateハンドラーをシステムに戻すことによってのみ、ユーザーはトランザクションの承認を続行できます。
WKWebView の制限の変更
(08:33) 多くのネイティブ アプリは、Apple Pay を受け取るために WKWebView 経由で Web ページを読み込みます。階層型 WebKit の導入により、WKWebView は Safari View Controller に近づきます。アプリ定義のドメインの外では、呼び出せる API が制限され、JavaScript インジェクションがよりブロックされます。
Apple Pay の実装は変更されません。以前の iOS では、WKWebView がスクリプトを挿入すると、Apple Pay トランザクションを実行できませんでした。今後は、より多くの WKWebView がスクリプト インジェクションからシステムによってブロックされるため、より多くの読み込みページで Apple Pay トランザクションを実行できるようになります。ハイブリッド アプリの場合、これにより、スクリプト インジェクションによって Web 決済がブロックされる可能性が実際に減少します。
連絡先データのフォーマットとエラー プロンプト
(09:38) ユーザーが Apple Pay を長年使用すると、デバイスに一貫性のない形式で連絡先情報が蓄積される場合があります。 Apple は、最新の iOS および macOS 以降、支払いシートの基本的な書式設定を提供しています。米国の販売者は、道路と都市には英数字、句読点、空白のみが含まれ、州フィールドは 2 文字、郵便番号は 5 桁または 9 桁、ISO 国コードは大文字の 2 文字であることが期待できます。
(11:08) このエラーは、支払いプロセスの早い段階でも表示されます。例としては、不完全な郵便番号や無効な電話番号などが挙げられますが、これらはユーザーが Touch ID または Face ID で認証する前に修正できます。 Session では、開発者がエラー API を使用して、どの項目を変更する必要があるかをユーザーに知らせることを推奨しています。最初の住所形式は、オーストラリア、カナダ、英国、米国をカバーします。
カード発行銀行は、カードの入り口をウォレットに拡張しました
(12:34) 最後の更新はカード発行会社向けです。発行者拡張機能を使用すると、ユーザーはウォレット内に追加できるカードを見つけることができます。前提条件として、カード発行銀行のアプリがインストールされており、ユーザーが少なくとも 1 回はログインしているため、表示するカードがあることが Wallet に認識されます。
実装は 2 つの層に分かれています。非 UI 拡張機能は、ステータス、利用可能なパスを報告し、カード データの検索を実行します。サブクラスが必要ですPKIssuerProvisioningExtensionHandler、権利も必要です。非 UI 拡張レポートで認証が必要な場合は、UI 拡張も提供する必要があり、ビュー コントローラーは次の規格に準拠する必要があります。PKIssuerProvisioningExtensionAuthorizationProviding、別途権利を申請してください。 (12:58)
重要ポイント
-
対処方法: App Clip の支払いボタンをシーンアクションに変更します。 実行する価値がある理由: セッションについて明示的に言及
PKPaymentButton家賃やチップなどの具体的な種類が追加され、現在の取引をボタンで直接表現できるようになりました。 開始方法: App Clip のトリガーとなるシナリオを整理します。駐車場には支払い/更新セマンティクスを使用し、リースには家賃を使用し、報酬にはチップを使用します。まずはスタイルを試してみるPKButtonStyleAutomatic。 -
対処方法: ネイティブ Apple Pay を Mac バージョンのアプリに接続します。 実行する価値がある理由: Apple Pay は Catalyst とネイティブ Mac アプリをサポートしているため、フォトブックや製品の注文などのデスクトップ取引を Safari で行う必要がなくなりました。 開始方法: を使用します
PKPaymentAuthorizationController、成し遂げるpresentationWindow(for:)および販売者セッション更新デリゲートは、販売者セッション要求をサーバーに送信します。 -
やるべきこと: デジタル製品チェックアウトの税見積もりを完了します。 実行する価値がある理由: 編集された請求先住所を使用して、Web 上の変動項目を計算でき、ユーザーは認証前に全額を確認できます。 開始方法: Apple Pay on the Web フローで計算用の請求先地域情報をリクエストし、それを使用して税金を計算し、最終明細を支払いシートに返します。
-
やるべきこと: リリース前に Apple Pay の連絡先エラー処理を整理します。 実行する価値がある理由: 新しいフォーマット規則により、郵便番号や電話番号などのエラーがより早く明らかになります。開発者が Error APIs と連携すれば、ユーザーは認証前に修正できます。 開始方法: 配送と請求の検証ブランチを確認し、フィールドレベルのエラーを Apple Pay エラー API にマッピングし、米国、オーストラリア、カナダ、および英国の住所サンプルをカバーします。
-
やるべきこと: 発行銀行アプリの「Wallet に追加」入口を Wallet 内に移します。 実行する価値がある理由: 発行者拡張機能を使用すると、ユーザーが最初に発行銀行アプリを積極的に開かなくても、インストールおよびログインした発行銀行アプリでウォレットに追加可能なカードを表示できるようになります。 開始方法: non-UI extension を実装し、
PKIssuerProvisioningExtensionHandlerを subclass 化します。再認証が必要な場合は、UI extension とPKIssuerProvisioningExtensionAuthorizationProvidingを追加します。
関連セッション
- App Clip を探索する — まず、App Clip の配置、トリガー エントリ、ボリューム制限、および完全な App Relay を理解します。
- App Clip を構成してリンクする — App Clip URL、関連ドメイン、Safari バナー、App Store Connect エクスペリエンスの構成を続けます。
- App Clip を合理化する — App Clip のトランザクション プロセス、直前の通知、位置確認、アップグレード パスについて詳しく説明します。
- WKWebView の機能強化をご覧ください - WKWebView の API と制限の変更を補足し、埋め込み Web ページ支払いのトラブルシューティングに適しています。
- Mac Catalyst の新機能 - iPad 取引アプリケーションを Mac に移行するのに役立つ Mac Catalyst プラットフォーム機能を完成させます。
コメント
GitHub Issues · utterances