この記事は、IAPファイルの作成方法、StoreKit関連APIの呼び出し方、Appleの監査への対処方法などを読者に教えることを意図したものではなく、むしろ、AppleがWWDC2020で、過去のIAP関連開発やテストのペインポイントに対してどのような改善を行ったかに焦点を当てたものです。この記事の読者は、IAP開発の経験があるはずです。そして、筆者自身の視点から、これらの改善が個々の開発者や大企業にとってどの程度価値があるのかなど、筆者自身の経験に基づいた評価をしてください。
- サンドボックス環境では、ついに公式環境と同じように自動購読の手動キャンセルを楽しむことができ、新しいサンドボックステストアカウントを作成することなく、初回購入特典、払い戻し、リフトなどを再体験することができます。
- 開発者の福音は、Appleの父や愛は、これは本当に開発とテストコストの自動更新の開発を保存する素晴らしいです。
- Appleは自動テストを容易にするためにStoreKitTestライブラリを作成しました。
- ローカルでテストする場合、ローカルで独自のサンドボックスを構築し、環境を購入することができます。
- 個々の独立した開発者のために、クライアント側の順序の検証と小さなAPPは、コストのかなりの部分を節約することができます;
- 大規模なアプリ開発者のために、特定の適応コストの必要性は、大企業の受注は、サーバーの検証に配置され、SDKを維持するためのフルタイムのスタッフであり、外部チームの必要性は、変更または作業の一定量をサポートするために責任があります。
ローカル・サンドボックス購入環境
IAP開発体験レビュー
- AppStore Connectにログインし、新規APPを作成します。
- 対応するIAPスロットを作成すると、Appleのサーバーの機嫌にもよりますが、およそ2時間後にサンドボックス環境で対応するProductIdを持つ製品にアクセスできるようになります。
- サンドボックスのアカウントを作成
- Appleの審査担当者が2.1パッケージや3.1.2をリジェクトせず、パッケージとスロットの審査が終わった後にバージョンをリリースすることを望みます。両社で、Appは承認されたのにIAPが承認されなかったというケースに遭遇したことがあります:)
今すぐ改善
StoreKit Configuration FileStoreKit Configuration File ローカルにサンドボックス環境を作成することができますので、直接ローカルにサンドボックス環境を制御することができ、新製品は、最初のオープン優遇、次の控除の自動更新制御、サブスクリプションのキャンセル、購入の保護者の監視の制御など、機能はまだ非常に完全である、それはAppStore Connectが持っていると言うことができ、基本的にあなたを満足させることができます。
ステップ
1.テンプレートファイルを作成し、完了したら新しく作成した空のファイルを選択します。
2.対応するタイプの製品を作成するには、左下の+記号をクリックして3つのオプションを表示します。
ここにある3つのIAPタイプは、以下に掲載されている新しいAppStore Connectのバージョンに記載されており、十分な対応となるはずです。非更新サブスクリプションタイプの現在の欠如は、Appleはなぜこの1つだけが欠落している理由を言わなかった、おそらくそれは必要ないと思います...
3.消耗品の作成
- ProductId 現在のAppStore Connectの性質上、作成されたものは一意であり、削除しても二度と使えないので、間違えて作成しても削除しないでください。
StoreKit Configuration Fileしかし、ローカルにはこの制限がありません。セマンティックな作成方法を使用することをお勧めします。純粋な数字やランダムに生成されたIDを使用することはお勧めしません。 - Appleはまだ国ごとに異なる価格設定をしていないようなので、AppStore Connectで正しい価格を作成してください。間違ったものを作成しても大丈夫です。変更することもできます。審査に出す前に複数の人とクロスチェックすることをお勧めします。承認された後に価格を変更するのは面倒ですから. 新しいものを作成し、再度確認することをお勧めします。
また、期限なしアイテムのオプションにファミリー共有のオプションがありますが、これは1回限りです。
4.自動更新購読ベースのプロジェクトの作成
- 初回オファーの種類は非常に充実しており、AppStore Connectが持っているもの、Appleのお父さんの温かみを感じます。写真では、よくある7日間無料トライアルを選びました。
- 私は利用したことはありませんが、キャンペーンもよく考えられています。
App StoreKitドキュメント
StoreKit Configuration Edit SchemeのOptionsタブに切り替え、.NET Frameworkで作成したStoreKitファイルをチェックします。
6.注文状況のローカル管理
注文履歴の削除、初回開封オファーの削除、返金などの操作が可能です。まだまだ便利です。
- 払い戻し操作は、注文が選択された後、払い戻しボタンを直接クリックすることで行われます。ここでAppleは新しいAPIを提供していることに注意してください。
- Ask to Buyは、.storekitファイルを選択した後、エディタにこれをオンにするオプションが表示されます。そして、購入後、Ask to Buyポップアップが表示され、注文ステータスがPendingからApprovalになり、Xcodeで許可または不許可にすることができます。
下の図では、2が承認ボタン、3が拒否ボタンです。
- その他、時間短縮、中断購入の許可など、特定の自己検査ニーズに対応する機能があります。
ローカル・オーダー・バリデーション
ここで一つ注意しなければならないのは、注文の検証が異なるということです。Appleの非対称暗号化を使用していますが、別の証明書であるため、注文を検証する際にPKCS7_NOCHAINパラメータを使用してこのことを示す必要があります。ローカルで検証しない場合は、対応するサーバーのロジックを変更する必要があります。また、.cerファイルをエクスポートすることもできます。Save Public Certificateこのエクスポート方法はエディター - .
サンドボックス環境の改善
サンドボックスのアカウントは、最終的に管理ページを持って、あなたは私が数年間、それらなしで得た方法を知っていますか :)
サンドボックスアカウントのためのアプリケーションを入れて、300に作成されている、すべての最初のオープン優遇のすべての種類をテストするためです:
iOS14のデバイスの場合、設定 - App Store - 一番下まで行き、Sandboxアカウントにログインし、Sandbox Accountをクリックし、Manageをクリックして管理ページに入ります!管理ページは多くの機能を提供します
- 購入したアイテムを同じグループ内のテストリフトに切り替えます。
- 新規アカウントを開設することなく、同じサンドボックスアカウントで最初のオープンオファーを繰り返しテストすることができます。
- 配信停止
昔はできなかったことばかりで、QAやRDの検証が非常にしやすくなったと言えます。
AppStore ConnectでのサンドボックスアカウントのInteruptted Purchaseの設定
ユーザーとアクセス]の[編集]でオプションをオンにします。
その他の改善点
- サンドボックス環境はもう少し安定していて、ログインできないような長い待ち時間が発生しないことを願っています。これは開発体験に本当に影響します。
- 現在はまだ、RDの学生がローカルでしか検証できないケースがあり、パッカーが打ち出したパッケージをテストに使う方法がありません。私は何らかのツールキットをオープンソース化し、小さなサーバをローカルに構築し、パッケージのIAPをローカルに作成されたサーバに行くように指定できるようにしたいと考えています。とにかく、.cer証明書をエクスポートできるようになったので、Appleにとっては非常に簡単なことでしょう。
関連記事
- Setting up StoreKit Testing in Xcode
- StoreKitTest
- Testing at All Stages of Development with Xcode and Sandbox
- Testing In-App Purchases in Xcode
- Testing In-App Purchases with Sandbox
期間限定キャンペーン
この記事の内容は WWDC20インサイドものです。こちらのコラムもおすすめです。
この "WWDC Insider "シリーズは、Old Driver's Weekly、Little Collection of Knowledge、SwiftGGなど、いくつかの技術団体によって始められました。もう数年続いており、評判も上々です。主に毎年WWDCの内容に焦点を当て、iOS開発者たちに実際の開発経験やAppleのドキュメント、ビデオコンテンツを組み合わせた二次創作を呼びかけています。
今年のコンテンツは213セッション。WWDC20 Insiderでは、その中から135セッションをセレクトし、現在97記事をコラムとして掲載しています。現在29.90ドルで販売中です。
この記事だけでは満足できない方は、https://xiaozhuanlan.com/wwdc20、 WWDC20 Insiderの 購読をお申し込みください!





