Monaca Docs
質問…
K

Cordova In-app Purchase プラグイン

この Cordova プラグインは、iOS、Android、Windows アプリでのアプリ内課金に使用されます。
デモアプリを動作させるためには、Google Play Console と App Store Connect でアプリ内課金の設定が必要になります。
サードパーティー製 Cordova プラグインを確認する場合は、カスタムビルドデバッガー ( Android 版 または iOS 版 ) を作成する必要があります。

デモ

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

  1. 1.
    IDE メニューから設定 → Cordova プラグインの管理へ移動します。
  2. 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]);