Cordova In-app Purchase プラグイン

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

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

サードパーティー製 Cordova プラグインを確認する場合は、カスタムビルドデバッガー ( Android 版 または iOS 版 ) を作成する必要があります。

デモ

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

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

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

使い方

ストアAPI は、主にイベントを使用します。 このプラグインを使用する場合は、イベントを登録する必要があります。以下、storeCdvPurchase.storeオブジェクトを表します。

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

  store.when()
    .productUpdated(updatedPurchase)
    .approved(approvedPurchase)
    .finished(finishedPurchase);

productUpdated イベントは、製品のフィールドの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:    ITEM_CONSUMABLE_1, // id without package name!
    alias: 'Consumable Item',
    type:  CdvPurchase.ProductType.CONSUMABLE,
    platform: CdvPurchase.Platform.APPLE_APPSTORE
  });

aliasはプラグインの機能としてあるわけではなく、このアプリ内で参照するために定義しています。 productのid が分かっていれば、

store.registeredProducts.find(product.platform, product.id).alias;

で取得することが出来ます。 また、platformは、AndroidならCdvPurchase.Platform.GOOGLE_PLAYとします。

store.restorePurchase()

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

store.restorePurchase();

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

store.get(id)

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

store.get(id)

パラメーター名

説明

id

String

製品 ID

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

store.when()

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

store.when()

戻り値

  • Promise

store.when()
  .productUpdated(updatedPurchase)
  .approved(approvedPurchase)
  .finished(finishedPurchase);

store.ready(callback)

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

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

store.ready(callback)

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

store.initialize([platform])

ストア機能を初期化し、ストアから情報を取得します。store.readyのコールバック内で呼び出して下さい。引数はplatformの配列になりますが、iOSであれば [ CdvPurchase.Platform.APPLE_APPSTORE ]、Androidであれば [ CdvPurchase.Platform.GOOGLE_PLAY ]となります。

const platform = store.defaultPlatform();
store.initialize([platform]);

最終更新