iOS
プッシュ通知
アプリ内課金
IAP
itemstore

itemstoreを使ってアプリ内課金を簡単に実装する方法<デベロッパーサイトでの設定:iOS編>

itemstore(アイテムストア)は、Android、iOSアプリにアプリ内課金を簡単に実装できるサービスです。
面倒なアプリ内課金処理をシンプルなソースコードで実現でき、販売アイテムの表示・非表示等の管理をitemstoreの画面上から簡単に行うことができます。

利用にあたってのおおまかな流れは次のとおりです。

【STEP1】 デベロッパーサイトでの設定
【STEP2】 ストアの設定
【STEP3】 実装

今回は、「【STEP1】 デベロッパーサイトでの設定:iOS編」についてまとめたいと思います。

デベロッパーサイトでの設定

itemstoreで利用する課金アイテムは、Androidアプリの場合はGoogle Play Developer Console、iOSアプリの場合はiTunes Connectに登録する必要があります。

Google Play Developer Console / iTunes Connect に登録した課金アイテムをitemstore上に設定し、課金機能を利用します。

またプッシュ通知機能を実装する場合、AndroidアプリはFirebase Console上の情報、iOSアプリはApple Developer上で生成されるファイルを必要とします。

以下では、iOSアプリ向けに必要な設定について説明します。

iOS編

itemstore課金機能に必要な設定

iTunes Connectの設定

iOSアプリでitemstore課金機能を利用するには、iTunes Connect上にアプリと課金アイテムの情報を登録する必要があります。
Apple Developer、iTunes Connectにアカウントを開設後、次の手順に従ってiTune Connectに課金アイテムを登録してください。

アプリを登録

iTunes Connectの[マイ App]画面で[新規 App]を選んでダイアログ内を記入してアプリを登録してください。

課金アイテムの登録

登録したアプリの[機能]タブ -> [App 内課金]の画面で『消耗型』または『非消耗型』を選択してアイテムを追加してください。

『消耗型』
  itemstoreの「消費型」に該当します。
  何回でも購入可能で、1回の購入でアイテム数を1~増加できます。

『非消耗型』
  itemstoreの「非消費型」に該当します。
  一度だけ購入可能で、アイテム数の増減はできません。

登録例

・消耗型(消費型)
 参照名:アプシーストーンx1   製品ID:newstone01
 参照名:アプシーストーンx10  製品ID:newstone10

・非消耗型(非消費型)
 参照名:新ステージ        製品ID:newstage001

ここで設定した製品IDは、[itemstore管理画面]の[アイテム管理]画面にて課金アイテムを登録する際のアイテムIDとして使用します。

プッシュ通知機能に必要な設定

Apple Developerの設定

iOSアプリでプッシュ通知を送るためには、Apple DeveloperでApp IDを作成し、.pemファイルを生成して[itemstore管理画面]に設定する必要があります。
以下の手順で設定を行ってください。

アプリを登録

Apple Developer メンバーセンターの[Certificates, IDs & Profiles]画面で[Identifiers] -> [App IDs]を選び、画面右上の「+」ボタンをクリックします。
[Registering an App ID]画面で「App ID Description」「App ID Prefix」「App ID Suffix」を任意に入力し、「App Services」の「Push Notifications」にチェックを入れて「Continue」ボタンをクリックします。

証明書要求の作成

Macのアプリケーション「キーチェーンアクセス」を起動し、メニューから[証明書アシスタント] -> [認証局に証明書を要求]を選択します。

ユーザのメールアドレス: Apple Developerのアカウントメールアドレス
通称: 任意
CAのメールアドレス: ※何も入力しない
要求処理: ディスクに保存
上記を入力して、任意の場所に証明書要求を作成します。
※ファイル名はデフォルトの「CertificateSigningRequest.certSigningRequest」のままで構いません。


証明書の取得

Apple Developerの[Certificates, IDs & Profiles]画面で[Identifiers] -> [App IDs]にて登録したアプリを選び、「Edit」ボタンをクリックします。

「Push Notifications」の「Create Certificate」ボタンをクリックします。
※開発環境でプッシュ通知のテストを行う場合 → 『Development SSL Certificate』を取得します。
※AdHocまたはリリース用の場合 → 『Production SSL Certificate』を取得します。

[About Creating a Certificate Signing Request (CSR)]画面で「Continue」ボタンをクリックし、[Generate your certificate.]画面の「Upload CSR file.」にて作成した証明書要求(.certSigningRequestファイル)を選択し、「Continue」ボタンをクリックします。

[Your certificate is ready.]画面の「Download」ボタンをクリックして証明書をダウンロードします。

証明書を.p12ファイルに書き出し

ダウンロードした証明書をダブルクリックして、キーチェーンアクセスに登録します。
キーチェーンアクセスにて[分類]の[証明書]に登録した証明書が表示されるので、登録した証明書を右クリックし、書き出しを選びます。

名前は半角英数字で任意に設定し、フォーマットに「個人情報交換(.p12)」を選び、「保存」ボタンをクリックします。

証明書のパスワード入力画面では何も入力せずにそのまま「OK」ボタンをクリックして進みます。
次に表示されるダイアログではキーチェーンにアクセスするパスワード(通常、MACのログインパスワードだと思います)を入力し、「許可」をクリックしますと.p12ファイルが保存されます。

.p12ファイルを.pemファイルに変換

Macのアプリケーション「ターミナル」を起動し、以下のコマンドを入力します。
openssl pkcs12 -in (.p12保存場所)/(.p12ファイル名).p12 -out (.pemファイル名).pem -nodes -clcerts

「Enter Import Password:」は何も入力せずにEnterを押します。(証明書のパスワードを設定した場合は、そのパスワードを入力します)
成功すると「MAC verified OK」と表示され、カレントディレクトリに.pemファイルが作成されます。

.pemファイルをアップロード

itemstoreの[ストア管理] -> [iOSストア設定]画面にて、作成した.pemファイルをアップロードします。
※Development SSL Certificateの.pemファイル(開発用) → 『Development Certificate』にアップロード。
※Production SSL Certificateの.pemファイル(公開用) → 『Production Certificate』にアップロード。

Provisioning Profileの作成

証明書を作成したアプリのProvisioning Profileを、通常のアプリと同じ手順で作成し、Xcodeに登録してください。
※開発環境でプッシュ通知のテストを行う場合 → 『Development』を作成します。
※AdHocまたはリリース用の場合 → 『Distribution』を作成します。