程序內購 link

Ren’Py中包含一個高級的程序內購框架。這個框架目前只支持解鎖型內購項目,支持的應用市場包括蘋果的AppStore、Google Play和亞馬遜AppStore。

使用這個框架相當簡單,只需要按照下列步驟使用幾個函數

提供的程序內購項目,購買內容(包括價格等)必須在對應的應用市場上進行設置。

IAP函數 link

iap.get_price(product) link

返回一個字串,表示用戶本地貨幣的 product 價格。如果價格未知則返回None——這也表示 product 不能購買。

iap.get_store_name() link

返回程序內購啟用的商店名稱。目前返回的結果可能是下列情況之一:“amazon”表示亞馬遜AppStore,“play”表示Google Play,“ios”表示蘋果AppStore,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。如果 product 註冊為消耗品,在調用返回前內購產品就會被使用。

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

使用程序內購系統註冊一個商品。

product

一個字串,表示商品的高級(high-level)名稱。這個字串也會傳入 iap.purchase()iap.Purchase()iap.has_purchased() 函數,表示對應的商品。

identifier

一個字串,用於商品的內部標識。一旦用於表示某個商品,就不能再修改。這些字串的格式類似於“com.domain.game.product”。

如果為None,預設值為 product

amazon

一個字串,表示亞馬遜AppStore的商品標識號。如果沒有給定,預設值為 identifier

google

一個字串,表示Google Play商店的商品標識號。如果沒有給定,預設值為 identifier

ios

一個字串,表示蘋果iOS版AppStore的商品標識號。如果沒有給定,預設值為 identifier

consumable

如果是消耗品內購則返回True。到目前為止,只有iOS平台支持消耗品內購。

iap.request_review() link

調用該函數後,應用商店會讓用戶給該應用評分。 如果評分請求成功返回True,否則返回False。 注意,評分請求成功不等於用戶給app評分。app商店會決定最終結果。

目前只支持Google Play和蘋果App Store。

iap.restore(interact=True) link

連接應用商店,並恢復(restore)所有遺失的內購。

interact

若為True,調用renpy.pause等待應用商店的響應。

IAP 行為 link

iap.Purchase(product, success=None) link

這個行為嘗試購買 product。僅當 product 是可購買狀態時(啟用了應用商店並且沒有購買過這個產品),這個行為才是可用的。

success

若非None,這是一個行為或者行為列表,當內購成功後執行這些行為。

iap.Restore() link

一個行為,連接應用商店並恢復(restore)所有遺失的內購。