アプリ内課金 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 ストアで製品を識別するための文字列です。指定されないとデフォルトで 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ストアに アクセスして購入ミスを取り消すアクションです。