Corona Simulator & Device Build

Corona Simulatorで起動

  • BookShelfEmbeddedのmain.luaをCorona Simulatorで読み込みます.購入((Buy/Purchase)テキストをクリックするとIAPダイアログが表示されます.
  • Files > Show Project Sandboxから、ダウンロードされたzipとbg.pngを確認することができます.
  • もし初期状態にしたい場合,Sandboxフォルダーからファイルを消去します.ファイルがインターネットからキャッシュされているので,TemporaryFilesを必ず消去します.

デバイスでビルド

corona simulatorで動作を確認できたら,デバックモードのIAP.luaを無効にして,BookShelfTOCプロジェクトのluaファイル内でapple,google,amazonの公式なproduct IDをそれぞれ設定する必要があります.App/TOC内のファイルを編集します.

  • App/TOC/components/store/IAP.lua
  • App/TOC/components/store/model.lua

components/store/IAP.lua

  • iapOptions.salt この文字列で暗号のセキリティをかけますので、任意の文字列に変更してください。
  • iapOptioions.debugMode デバッグモードをfalseにして、無効化してください。
function M:init(catalogue, restoreAlert, purchaseAlert)
    print("iap init")
    self.catalogue       = catalogue
    self.restoreAlert  = restoreAlert
    self.purchaseAlert = purchaseAlert

    local iapOptions = {
        catalogue         = catalogue,
        filename          = "epsodes_inventory.txt",
        --Salt for the hashing algorithm
        salt              = "something tr1cky to gue55!",
        failedListener    = failedListener,
        cancelledListener = failedListener,
        --Once the product has been purchased, it will remain in the inventory.  Uncomment the following line
        --to test the purchase functions again in future.  It's also useful for testing restore purchases.
        --doNotLoadInventory=true,
        debugMode        = true,
    }
    iap.init(iapOptions)
    print("iap init end")
end

components/store/model.lua

  • productNames.apple, productNames.google, productNames.amazonの各値をセットしてください。もし使用しない場合は,""と入力して空白にしてください.
M.catalogue = {
    products = {
            Epsode02 = {
            productNames = { apple="Epsode02_apple", google="Epsode02_googgle", amazon="Epsode02_amazon"},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epsode02") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epsode02") end,
        },
            Epsode03 = {
            productNames = { apple="Epsode03_apple", google="Epsode03_googgle", amazon="Epsode03_amazon"},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epsode03") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epsode03") end,
        },
    },
    inventoryItems = {
            unlock_Epsode02 = { productType="non-consumable" },
            unlock_Epsode03 = { productType="non-consumable" },
    }
}

results matching ""

    No results matching ""