アプリ内課金 link

Ren'Py にはアプリ内課金の高級フレームワークがあります。このフレームワークは現在 Apple app ストアと Google play, Amazon ストアからのアンロック形式の購入のみサポートしています。

このフレームワークの使用はかなり単純で、以下の関数から成り立ちます。

  • ゲーム初期化時に iap.register() 関数を使用して利用可能な課金対象を登録します。

  • 一旦ゲームが開始したら、 iap.has_purchased() 関数で課金対象が課金されたかを確認します。

  • ユーザーが iap.purchase() 関数や iap.Purchase() アクションでアイテムを購入出来るようにします。

  • ユーザーが他のデバイスで購入した課金対象を、 iap.restore() 関数や iap.Restore() アクションで返品出来るようにしします。

アプリ内課金の提供には、 様々なマーケットに対応して課金対象を設定しなければなりません。

IAP 関数 link

iap.get_price(product) link

product の価格を指定する文字列を返します。 product の価格が不明、つまり product が購入不能なら None を返します。

iap.get_store_name() link

アプリ内課金で使用可能なストアの名前を返します。これは現在 "amazon", "play" (google play), "ios" のうち 1 つを返し、利用可能なストアがなければ None を返します。

iap.has_purchased(product) link

ユーザーが以前 product を購入していれば True を、そうでなければ False を返します。

iap.init() link

iap を初期化します。これは iap.register() を全て呼び出した後かつ他の iap 関数の前で呼び出されるべきです。明示的に呼び出されないと初期化終了時に自動的に呼び出されます。

iap.is_deferred(product) link

ユーザーが product の購入を要求しても、親や保護者のような第三者による承認が必要ならば True を返します。

iap.purchase(product, interact=True) link

この関数は product の購入をリクエストします。

購入が成功したら True を、そうでなければ False を返します。製品が consumable として登録されていると、その購入分はこの呼び出しが返る前に消費されます。

iap.register(product, identifier=None, amazon=None, google=None, ios=None, consumable=False) link

アプリ内課金システムに製品を登録します。

product

その製品名を指定する名前の高級な文字列です。これは iap.purchase()iap.Purchase(), iap.has_purchased() に渡される文字列で、この製品を表わします。

identifier

製品を内部で識別するために使用する文字列です。一旦製品を表すために使用したら、これは決して変更してはいけません。これらの文字列は一般的に "com.domain.game.product" という形式になります。

None ならデフォルトで product を使用します。

amazon

Amazon app ストアで製品を識別するための文字列です。指定されないとデフォルトで identifier になります。

google

Google ストアで製品を識別するための文字列です。指定されないとデフォルトで identifier になります。

ios

Apple app ストアで製品を識別するための文字列です。指定されないとデフォルトで identifier になります。

consumable

consumable purchaseなら True です。現在 consumable purchase は iOS でのみサポートされています。

iap.request_review() link

呼び出されると、アプリストアがユーザーにレビューを要求します。リクエストが成功すると True を返し、失敗したら False を返します。ユーザーに実際に依頼するかはアプリストア次第なので、リクエストが成功してもユーザーにアプリのレビューが依頼されるわけではないことに注意してください。

これは Google Play と Apple App Store でのみサポートされています。

iap.restore(interact=True) link

appストアに アクセスして購入ミスを取り消します。

interact

Trueなら app ストアからの応答を待つ間に renpy.pause が呼び出されます。

IAP アクション link

iap.Purchase(product, success=None) link

product の購入を試みるアクションです。このアクションは製品が購入可能 ( ストアが利用可能で、製品がまだ購入されていない )な場合のみ選択可能です。

success

None または購入成功時に呼び出されるアクションかアクションのリストです。

iap.Restore() link

appストアに アクセスして購入ミスを取り消すアクションです。