アプリ内課金 link

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

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

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

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

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

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

アプリ内課金を提供には、 ( 価格のある ) 課金対象が様々なマーケットに設置されなければなりません。 Android ビルド時に Ren'Py はパッケージング設定時に使用するマーケットを尋ねるでしょう。

Apple App ストア

Apple App ストアではパッケージ名に基づいて設定され、特別な設定は必要ありません。

Google Play

Google play を使用する前に google play キーと salt をあなたのプロジェクトに加えてください。この方法は Expansion APK の章の情報を参照してください。

Amazon App ストア

Amazon app ストアではパッケージ名に基づいて設定され、特別な設定は必要ありません。

IAP 関数 link

iap.get_price(product) link

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

iap.get_store_name() link

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

iap.has_purchased(product) link

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

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.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ストアに アクセスして購入ミスを取り消すアクションです。