Version: Unity 6.0 (6000.0)
言語 : 日本語
Amazon アプリストアの設定
プロダクトの定義

Codeless IAP

Codeless IAP は、Unity アプリケーションでアプリ内課金 (IAP) を実装する最も簡単な方法です。Unity エディターは、最小限のスクリプト作成で基本的な IAP インテグレーションを設定するためのインターフェースを提供します。

Codeless IAP は、コードを必要とせずに実際の IAP トランザクションを処理します。Codeless IAP を実装するには、エディターを使用して以下の 2 つのステップを実行します。

  1. IAP Button をゲームに設定する
  2. IAP Catalogプロダクト を追加する

Unity Purchasing システムは、カタログに加えたプロダクトをランタイムに設定します。プレイヤーが IAP Button を設定すると、関連するプロダクトの購入フローを開始します。

ノート: プレイヤーが新しく購入したコンテンツにアクセスする方法を定義するには、スクリプトを使用する必要があります。詳細については、後述の 購入処理 のセクションを参照してください。

Codeless IAP の実装

開始する前に、最新の Unity IAP SDK をインストールします。詳細は、Unity IAP の設定 を参照してください。

シーンに IAP Buttons を加える

シーンに IAP Button を追加するには、Unity エディターで Window > Unity IAP > Create IAP Button の順に選択します。

Unity エディターで Codeless IAP Button を作成
Unity エディターで Codeless IAP Button を作成

IAP Catalog にプロダクトを加える

以下の 2 つのどちらかの方法で IAP Catalog GUI を開きます。

  • Window > Unity IAP > IAP Catalog の順に選択します。
  • または、IAP Button を選択し、Inspector の IAP Button (Script) コンポーネントで IAP Catalog… をクリックします。
IAP Button スクリプトコンポーネントを通して IAP Catalog GUI にアクセス
IAP Button スクリプトコンポーネントを通して IAP Catalog GUI にアクセス

次に GUI を使ってカタログのそれぞれのプロダクトに以下の属性を定義します。

  • Product ID はアプリストアとの通信に使用します (Advanced オプションでは、この ID をストア専用の一意の ID でオーバーライドすることができます)。
  • Product Type (ConsumableNon-ConsumableSubscription)
IAP Catalog GUI でプロダクト情報を設定
IAP Catalog GUI でプロダクト情報を設定

ノート: IAP Catalog GUI には、プロダクトを設定するための追加ツールが用意されています。それぞれのストアにアップロードする カタログをエクスポートする 前に、説明と価格情報も入力する必要があります。これらの設定の詳細は、プロダクトの定義 を参照してください。

UnityPurchasing を自動的に初期化する

アプリ内課金を使用するには、IAP SDK を初期化する必要があります。これは、ランタイムに Codeless IAP ButtonIAP Listener の最初のインスタンスがロードされると自動的に開始されます。ただし、IAP Button や IAP Listener がゲームに表示される前に SDK を初期化したい場合もあります (例えば、アプリケーションの起動後に IAP Promo オファーを提供するなど)。このような場合は、IAP Catalog ウィンドウの下部にある Automatically initialize UnityPurchasing (recommended) にチェックマークを入れます。これにより、アプリケーションの起動直後に UnityPurchasing が初期化され、コードレスインスタンスのライフサイクルの依存関係がなくなります。

IAP Catalog GUI を使用した SDK 自動初期化の有効化
IAP Catalog GUI を使用した SDK 自動初期化の有効化

作動するには、カタログに最低 1 つのプロダクトが必要です。

ノート: 自動初期化は IAP Buttons または IAP Listeners とともに使用できますこの場合、IAP Button や IAP Listener の最初のインスタンスがシーンにロードされる時ではなく、ゲームの開始時に SDK が初期化されます。ただし、スクリプトで手動でも初期化する場合は、自動初期化を有効にしないでください。エラーが発生する可能性があります。

購入処理

カタログにプロダクトが 1 つ以上ある場合、購入が完了または失敗したときの IAP Button の動作を定義できます。

  1. シーンビューで IAP Button を選択し、Inspector で IAP Button (Script) コンポーネントを開きます。
  2. Product ID ドロップダウンリストから IAP Button にリンクするプロダクトを選択します。Codeless IAP Button に紐づけるプロダクトを選択
  3. 購入処理を行う独自の関数を作成するか、処理を行うアセットをインポートします (後出のコードサンプルを参照)。
  4. 購入処理スクリプトをコンポーネントとしてゲームオブジェクトに適用します。購入処理スクリプトをアタッチするゲームオブジェクトの作成
  5. Inspector の IAP Button (Script) コンポーネントに戻り、プラス (+) ボタンをクリックして On Purchase Complete (Product) リストに関数を追加します。
  6. 購入処理スクリプトをアタッチしたゲームオブジェクトを On Purchase Complete (Product) イベントフィールド (下図) にドラッグアンドドロップし、ドロップダウンメニューから関数を選択します。IAP Button イベントフィールドで購入処理スクリプトを指定

購入処理スクリプトサンプル:

public void GrantCredits (int credits){
    userCredits = userCredits + credits;
    Debug.Log(“You received “ + credits “ Credits!”);
} 

ゲームを実行し、IAP Button を使ってテストします。

拡張機能

アプリケーションストアへのエクスポート

購入を機能させるためには、対応するアプリストアでカタログを設定する必要があります。これを行うには、プロダクトカタログを CSV ファイルとして Google Play にエクスポートするか、XML ファイルとして Apple の Application Loader を通して iTunes Store にエクスポートします。

Google Play

Google Play 用にプロダクトカタログをエクスポートする手順は以下の通りです。

  1. IAP Catalog ウィンドウ (Window > Unity IAP > IAP Catalog) で、各プロダクトに以下の定義があることを確認します。
    * ID
    * Type
    * TitleDescription
    * Price または Pricing Template ID
  2. スクロールダウンして App Store Export を選択します。
  3. Google Play CSV を選択します。
  4. CSV ファイルの保存先を選択します。

エクスポートしたカタログを Google Play にアップロードするための詳細な説明は、Android Developers ウェブサイトGoogle Play の課金システム のドキュメントを参照してください。

Apple iTunes

Apple 用にプロダクトカタログをエクスポートする手順は以下の通りです。

  1. IAP Catalog ウィンドウ (Window > Unity IAP > IAP Catalog) で、各プロダクトに以下の定義があることを確認します。
    * ID
    * Type
    * TitleDescription
    * Price TierScreenshot path
    * Apple SKU (iTunes Connect に記載)
    * Apple Team ID (Apple Developer ウェブサイト に記載)
  2. スクロールダウンして App Store Export を選択します。
  3. Apple XML Delivery を選択します。
  4. XML ファイルの保存先を選択します。

Apple の Application Loader によるインポートの詳細は、iTunes Connect ウェブサイトApplication Loader の使用 を参照してください。

Restore (リストア) ボタン

iTunes を含む一部のアプリケーションストアでは、アプリケーションに Restore ボタンを加える必要があります。Codeless IAP を使用すると、Restore ボタンをアプリケーションに簡単に実装できます。

Restore ボタンは以下の手順で追加します。

  1. シーンに IAP Button を追加します (Window > Unity IAP > Create IAP Button)。
  2. IAP Button を選択した状態で、Inspector で IAP Button (Script) コンポーネントを開き、Button Type ドロップダウンメニューから Restore を選択します (コンポーネントの他のフィールドの大半は Inspector で非表示になります)。購入を復元する IAP ボタンの設定

ユーザーがランタイムにこのボタンを選択すると、ボタンは使用中のストアの購入を復元する API を呼び出します。この機能は、iOS App Store、Mac App Store、Windows Store で使用できます。他のプラットフォームでは Restore ボタンを非表示にする場合があります。

復元が成功すると、Unity IAP はそのプロダクトに紐づけられている IAP ButtonOn Purchase Complete (Product) 関数を呼び出します。

詳細については、購入の復元 に関するドキュメントを参照してください。

IAP Listeners

Codeless IAP は、成功した購入イベントと失敗した購入イベントを階層内のアクティブな IAP Button コンポーネントに送信します。ただし、成功した購入を処理するときにアクティブな IAP Button を持つことが困難、または望ましくない場合があります。例えば、購入が完了する前に中断された場合、Unity IAP は次の初期化時に購入を再度処理しようとします。アプリケーションが起動した直後にこれを実行したい場合、IAP Button は適切な方法とは言えません。Codeless IAP には、まさにこのような場合のための IAP Listener コンポーネントが含まれています。シーン階層のアクティブな IAP Listener は、IAP Button に割り当てできないすべての購入イベントを受け取ります。

IAP Listener は以下の手順で追加します。

  1. Unity エディターで Window > Unity IAP > Create IAP Listener の順に選択します。
  2. ゲームオブジェクトのコンポーネントとして購入処理スクリプトを作成する ステップを実行します。
  3. シーンの IAP Listener を選択し、Inspector の IAP Listener (Script) コンポーネントを開き、プラス (+) ボタンをクリックして On Purchase Complete (Product) に関数を追加します。
  4. 購入処理スクリプトをアタッチしたゲームオブジェクトをコンポーネントの Inspector のイベントフィールドにドラッグアンドドロップし、ドロップダウンメニューから関数を選択します。例外処理のために IAP Listener を設定

UnityIAP の拡張機能

Codeless IAP の機能では、Unity IAP のほとんどの 拡張機能 は公開されていません。ただし、Codeless IAP は既存のスクリプティング API の上に実装されているため、ニーズに合わせて IAPButton.cs スクリプト (Assets/Plugins/UnityPurchasing/script/IAPButton.cs) で多くの機能を変更できます。

Unity IAP の拡張機能を使用するには、IStoreListener.OnInitialize から返された Unity IAP の IStoreControllerIExtensionProvider インスタンスにアクセスします。


  • 2018–05–30
Amazon アプリストアの設定
プロダクトの定義