StoreKit2のサンプルコードプロジェクト開いてApple Payを動かしてみよう。
StoreKit2のサンプルコードプロジェクトでは、XcodeのSwiftUIのStoreKit Testingを使用しているため、App StoreConnectでセットアップを完了しなくてもサンプルアプリをビルドして実行できます。
プロジェクトは、Products.storekitファイルでStoreKitテストサーバーのアプリ内製品を定義します。プロジェクトには、絵文字にマップされた製品IDを含むリソースファイルとしてProducts.plistが含まれています。
デフォルトでは、XcodeでのStoreKitテストは無効になっています。
次の手順に従って、Products.storekit構成ファイルを選択し、XcodeでStoreKitテストを有効にします。
概要:上記を補足します。これからサンプルコードの説明をしていきます。
サンプルアプリは、車とガソリンを購入するアプリをあらかじめ実装してあります。
この事例を見ながら、自分のやりたいアプリケーションの課金に変更していくことになります。その際、テストモードにすることにより、アプリを買った時の動きをテストすることができます。
このテストモードにする方法もあらかじめ組み込まれていますので、アプリをリリースする際には、サンプルコードの部分を自分のアプリ用の設定に変更することで、課金機能の実現になります。
このサンプルから本物にする技術が求められていますので、是非とも皆さん課金機能をアプリに導入してみてください。
1:スキームをクリックして、スキームメニューを開きます。 [スキームの編集]を選択します。

2:スキームエディタで、実行アクションを選択します。

3:アクション設定で[オプション]をクリックします。
4:StoreKit構成オプションについては、Products.storekit構成ファイルを選択します。
【本番環境の設定の場合を追加】:App Store Connectを使ってサブスクリプションやアプリ内課金を実施できる場合は、App Store Connectで設定した、Products.storekit構成ファイルを選択しましょう。

アプリがストアを初期化すると、システムはProducts.plistを読み取り、製品IDを使用してStoreKitテストサーバーに製品を要求します。
Implementing a Store In Your App Using the StoreKit API
Offer in-app purchases and manage entitlements using signed transactions and status information.
Overview
This sample code project is associated with WWDC21 session 10114: Meet StoreKit 2.
Configure the Sample Code Project
This sample code project uses StoreKit Testing in Xcode so you can build and run the sample app without completing any setup in App Store Connect. The project defines in-app products for the StoreKit Testing server in the Products.storekit file. The project includes the Products.plist as a resource file, which contains product identifiers mapped to emoji characters.
By default, StoreKit testing in Xcode is disabled. Follow these steps to select the Products.storekit configuration file and enable StoreKit testing in Xcode:
1:Click the scheme to open the scheme menu; choose Edit Scheme.
2:In the scheme editor, choose the Run action.
3:Click Options in the action settings.
4:For the StoreKit Configuration option, select the Products.storekit configuration file.
When the app initializes a store, the system reads Products.plist and uses the product identifiers to request products from the StoreKit testing server.
Apple Payを実機で動かそうとしたら出たエラー:Select a development team~
サンプルコードを動かすためには、少々設定が必要になるようです。Select a development teamとエラーが出る場合は設定が足りていない状況になります。
当方が実施したときには、前述の設定と以下のdevelopment teamの設定を行う必要がありました。

設定を行い、以下の画面が立ち上がればWWDC2021Meet StoreKit2で使われていたサンプルコードの立ち上げが成功となります。
Shop画面の説明です。
上側のリストが一度買ったらずっと使えるアイテムを購入する画面です。
バイクや車を一度購入すると、ずっと使えるようになるイメージのサンプルコードが用意されています。バイクや車を設定する方法、値段を決める方法を学ぶことができます。
下側のリストがサブスクリプションで購入する画面です。
3つのグレードが用意されて、購入するとアプリ内でのサブスクリプションが有効になります。
サンプルコードを入手して、このページが表示できたとするとサンプルコードが動いた状態になります。
これで、課金・サブスクリプションに必要となる技術は一通り用意できているということになります。あとは、StoreKit2のソースコードを少しずつ変更していきましょう。

このソースコードはSwiftUIにて実装されているので、かなり課金アプリを立ち上げるのに参考になるかと思います。コード1行1行を読み込み、自身に必要となる機能への置き換えを検討していくことになります。
コメント