Xamarin 内の watchOS 上の Apple Pay
Apple では、watchOS 3 の Apple Pay に対し、アプリ内支払いのサポートを追加するいくつかの機能強化を行いました。 ユーザーはこれを利用して、Apple Watch から直接物理的な商品やサービスの支払いを行うための支払いと連絡先の情報を安全に指定できます。
Apple Pay の機能強化について
前述のように、Apple では、watchOS 3 の Apple Pay に対していくつかの機能強化を行って、Apple Watch から直接物理的な商品やサービスの支払いを行うための支払いと連絡先の情報を安全に指定できるようにしました。 これらの機能強化は、PassKit フレームワークに対する変更を行って実現します。
iOS 10 と watchOS 3 では、動的支払いネットワークと新しいサンドボックス テスト環境をサポートするために、iOS と watchOS の両方で動作するいくつかの新しい API が追加されました。
PassKit フレームワークの機能強化
iOS 10 では、PassKit フレームワークは、UIKit
の外部で Apple Pay をサポートし、カード発行者がアプリ内から自分のカードを提示できるように拡張されています。
UIKit の外部での Apple Pay のサポート
PKPaymentAuthorizationController と PKPaymentAuthorixationControllerDelegate を使用すると、アプリでは UIKit を使用せずに PKPaymentAuthorizationViewController によって提供されるものと同じ機能をサポートできます。 この新しい API は Apple Watch で Apple Pay をサポートするために (および特定の Intents 内の場合も) 必要ですが、他の状況 (既存のアプリなど) では省略できます。 ただし、Apple では、できるだけ早く新しい API に移行し、1 つのコード ベースのすべての開発者のアプリ全体にわたる広範な Apple Pay サポートを提供することを提案しています。 Intents と Siri の統合の詳細については、SiriKit の概要に関するドキュメントを参照してください。
アプリ内からの発行者カードの提示
iOS 10 および watchOS 3 では、カード発行者が自分のアプリ内から支払いカードを提示できるようにする新しい機能が PassKit フレームワークに追加されました。 開発者は、アプリのユーザー インターフェイスに PKPaymentButtonTypeInStore
UIButton を追加して、カードの Apple Pay ボタンを表示できます。
PresentPaymentPass
PKPassLibrary クラスの メソッドを使用して、カードをプログラムで表示することもできます。
新しい支払いネットワークのサポート
iOS 10 および watchOS 3 では、開発者がアプリを変更し、再コンパイルして App Store に再送信しなくても、アプリで新しい支払いネットワークを (それが使用可能になった時点で) 自動的にサポートできます。
PKPaymentNetwork
クラスの新しい AvailableNetworks メソッドを使用すると、アプリでは、実行時にユーザーのデバイスで使用可能なネットワークを検出できます。 さらに、SupportedNetworks プロパティが拡張され、支払いプロバイダーの名前が引数として取得されます。 これらのメソッドを使用すると、アプリでは、支払いプロバイダーがサポートするすべてのネットワークを自動的にサポートできます。
詳細については、Apple Pay の構成に関する記事と Apple の Apple Pay ガイドを参照してください。
新しいテスト環境
iOS 10 および watchOS 3 では、Apple は新しいテスト環境を導入しました。これを使用して、開発者は iOS デバイスに直接テスト用支払いカードをプロビジョニングできます。 この新しいテスト環境では、暗号化されたテスト支払いデータがアプリに返されます。
新しいテスト環境を有効にするには、次のようにします。
- iTunes Connect で新しいテスト用 iCloud アカウントを作成します。
- 新しいテスト アカウントを使用して iOS デバイスにログインします。
- アプリをテストする目的のリージョンを設定します。
- Apple Pay ガイドのテスト用支払いカードのいずれかを使用して支払いを行います。
Note
iCloud アカウントを切り替えると、デバイスは自動的に新しいテスト環境に切り替わります。 ただし、Apple では依然として、iTunes App Store に提出する前に、運用環境で実際のカードを使ってアプリをテストすることを求めています。
まとめ
この記事では、Apple が watchOS 3 の Apple Pay に対して行った機能強化と、それらを Xamarin.iOS に実装する方法について説明しました。