43
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

XcodeでのiOSアプリ内購入のテスト (StoreKit, In-app purchase テスト)

Last updated at Posted at 2020-09-05

この記事では、Xcode 12 (beta) で提供されているツールを使用してアプリ内購入のテストを行うことについて説明します。

ヘルパークラスとスタートプロジェクト

私は、あなたがアプリ内購入を処理するのに役立つヘルパークラスを作成しました。そのファイルはここにあります。

こちら Github で完了したプロジェクトを見ることができます。このプロジェクトを実行するには、Xcode 12(iOS 14用です)を入手する必要があります。

このスタータープロジェクトでは、ユーザーが購入できる以下のアイテムを用意致します:

商品ID 商品名 商品タイプ
virtualCatFood バーチャルキャットフード 消耗品 (Consumable)
virtualCatHouse バーチャルキャットハウス 非消耗品 (Non-Consumable)
dailyVirtualCatFood 毎日バーチャルキャットフードサブスクリプション サブスクリプション (Auto-Renewable)

StoreKit Configuration File

先ず command-N をキーボードで入力し StoreKit Configuration File を作成してください

image

アプリ内課金により購入される商品の設定する

これで設定の下方にあるプラスアイコンをクリックして新しく購入する商品を追加できます。

image

ここでは3種類のアイテムを追加できます:

| タイプ | 説明 |
----|----|----
| 消耗品 (Consumable) | アプリ内購入した消耗品は、一度使うとなくなり、再度購入することができます。バーチャルキャットフードといったものです。|
| 非消耗品 (Non-Consumable) | 非消耗品は一度購入すると期限が切れることはありません。バーチャルキャットハウスといったものです。 |
| 自動更新アイテム (Auto-Renewable) | ユーザーは、キャンセルするまで繰り返し請求されます。毎日与えるキャットフードの定期購入といったものです。|

新しい項目を追加した後は、詳細事項を入力します。項目のID Product ID、リファレンス名(リファレンスのみに使用)Reference Name、ローカライズ名 Localizations を入力する必要があります。

image

テスト設定の構成

次に、作成したばかりの設定ファイルの内容をXcodeに知らせる必要があります。上部にあるアプリ名をクリックし、Edit Scheme をクリックします。

image

StoreKit Configuration 設定の場所をみつけて、それを作成した構成ファイルの名前に設定します。

image

アプリ内購入のテスト

これで、シミュレーターまたはお使いのデバイスでアプリを実行できます。そして、購入を行うことができます。購入後にXcodeウィンドウにあるこのアイコンの場所を見つけて、それをクリックすると、すべての領収書が表示されます:

screenshot10.png

そのアイコンをクリックすると、今行ったすべての購入が表示されたウィンドウを確認することができます:

image

:relaxed: Twitter @MszPro

:sunny: 私の公開されているQiita記事のリストをカテゴリー別にご覧いただけます。

43
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?