Cordova In-app Purchase プラグイン

この Cordova プラグインは、iOS、Android、Windows アプリでのアプリ内課金に使用されます。

デモアプリを動作させるためには、App Store Connect でアプリ内課金の設定が必要になります。

デモ

Monaca クラウド IDE でプラグインを有効にする

  1. IDE メニューから 設定 → Cordova プラグインの管理 へ移動します。

  2. Cordova プラグインのインポート ボタンをクリックします。 次に、[ZIP ファイル] または [パッケージ名 / URL] を使用してプラグインをインポートします。

使い方

ストアAPI は、主にイベントを使用します。 このプラグインを使用する場合は、イベントを登録する必要があります。

イベントの中心は when() メソッドです。 クエリーを使用して、1つまたは一連の製品への変更を通知することができます。

store.when("product").updated(refreshScreen);
store.when("full version").owned(unlockApp);
store.when("subscription").approved(serverCheck);
store.when("downloadable content").downloaded(showContent);
etc.

updated イベントは、製品のフィールドの1つが変更されると起動されます (例: owned ステータス) 。

このイベントは、購入状況を追跡し、必要に応じてロック解除を行い、それに応じてビューを更新するための一般的な方法を提供します。

API リファレンス

ここでは、デモ で使用されている主な API について説明します。 完全なAPIリファレンスについては、こちら を参照してください。

store.verbosity

verbosity プロパティは、 store.js のコンソール出力の種類を定義します。 使用可能な設定は、次のとおりです。

  • store.QUIET または 0 すべてのログを無効にします。 (デフォルト)
  • store.ERROR または 1 エラーメッセージのみを表示します。
  • store.WARNING または 2 警告やエラーを表示します。
  • store.INFO または 3 情報メッセージも表示します。
  • store.DEBUG または 4 内部デバッグメッセージを有効にします。
store.verbosity

// Enable maximum logging level
store.verbosity = store.DEBUG;

store.register()

このメソッドを使用する前に、ストアに課金アイテムを登録する必要があります。

store.register(product);

パラメーター

パラメーター名 説明
product JSON Object 製品情報

store.register({
    id:    'consumable1', // id without package name!
    alias: 'Extra Life',
    type:   store.CONSUMABLE
});

store.refresh()

サーバーから製品データをロードし、ユーザーが既に購入したものを復元します。

store.refresh();

// ...
// register products and events handlers here
// ...
//
// then and only then, call refresh.
store.refresh();

store.get(id/alias)

id または alias で、製品を取得します。

store.get(id/alias)
パラメーター名 説明
id String 製品 ID
alias String 製品名

var product = store.get("consumable1");

store.when(query, event, callback)

製品関連イベントのコールバックを登録します。 この api の詳細については、こちら を参照してください。

store.when(query, event, callback)

戻り値

  • Promise

store.when("subscription1", "approved", function(product) { 
    console.log("Subscription approved!");
});

store.error(callback)

Register an error handler.

store.error(callback);

store.error(function(e){
    console.log("ERROR " + e.code + ": " + e.message);
});

store.ready(callback)

ストアが使用できる状態なったときに呼び出されるコールバックを登録します。

ストアがすでに使用できる状態の場合は、コールバックは直ちに実行されます。 引数なしで store.ready() は、 ready ステータスを返します。

store.ready(callback)

store.ready(function() {
    console.log("Store is ready");
});