Steps(手順)

  • Bookshelf zipにサンプルプロジェクトが入っています.

    http://kwiksher.com/tutorials/Kwik4/BookShelf.zip

    • BookShelfPages project
    • プロジェクトを ~/Documents/Kwikにコピーしてください
    • tmplt/components/store/model.lua 内の Host URL をあなたのものに変更してください

      local YourHost  = "http://localhost:4000/daily"
      M.URL           = YourHost.."/LibraryParent/"
      M.backgroundImg = "bg.png"
      
  • Book Shelf Tmplt project
    • Project Properties
      • Advanced > Book Shelf Type.pagesとして設定してください
      • epsode{Num}ごとの収益を設定
    • TOC page
      • Epsode{Num}Icon
      • downloadBtn
      • saveBtn
      • savingTxt
      • purchaseBtn
      • restoreBtn
      • infoTxt
      • Buy Product Action
    • Epsode{Num} INFO page
      • Epsode{Num}Icon
        • downloadBtn
        • saveBtn
        • savingTxt
        • purchaseBtn
        • infoTxt
        • hideOverlayBtn
        • Buy Product Action
    • Epsode{Num} pages
      • page properties
        • prelaoding off
        • In-App Unlock: Monetizatin Tabのepsode{Num}のproduct IDと関連づける
  • BookServer

    • copyright.txt
    • copy_pages.bat(Mac) もしくは copy_pages.command
  • それぞれのassets.zipをhttpサーバーのbook{Num}フォルダーにコピーします

  • corona simulator > show sand box folder.もし,coronaを初期状態に復旧させたい場合には以下のフォルダーを消去する必要があります.

    • Application Support
    • Documents
    • TemporaryFiles
  • デバイス用にビルドするときには、プロダクトのIDを apple, google またはamazonの開発サイトで設定した適切なIDを設定してください。

Kwik pubishes it to build4/components/store/model.lua

M.debug     = false

M.epsodes = {
            Epsode02  ={name = "Epsode02", startPage = 4, dir = "assets/images/p4", numOfPages = 2, info = "3"},
            Epsode03  ={name = "Epsode03", startPage = 6, dir = "assets/images/p6", numOfPages = 1, info = ""},
    }
--
M.catalogue = {
    products = {
            Epsode02 = {
            productNames = { apple="com.kwiksher.bookshelf.epsode02", google="com.kwiksher.bookshelf.epsode02", amazon=""},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epode02") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epode02") end,
        },
            Epsode03 = {
            productNames = { apple="com.kwiksher.bookshelf.epsode03", google="com.kwiksher.bookshelf.epsode03", amazon=""},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epsode03") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epsode03") end,
        },
    },

Debug mode

Corona Simulatorでの動作確認で、IAPのデバッグモードを有効(true)にしたときには、プロダクト設定に注意が必要です。

apple, google, amazonのID(productName)にダミーを設定しますが、そのダミーは、エピソード名を指定してください。

例えば、Epsode02と Epsode03がダウンロードされるブックである場合は、下記の設定となります。

M.debug     = true
...
...
M.catalogue = {
    products = {
            Epsode02 = {
            productNames = { apple="Epsode02", google="", amazon=""},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epode02") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epode02") end,
        },
            Epsode03 = {
            productNames = { apple="Epsode03", google="", amazon=""},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_Epsode03") end,
            onRefund     = function() IAP.removeFromInventory("unlock_Epsode03") end,
        },
    },

build.settings

iOS

httpsではなく、http のサーバを利用する場合、下記のドメインの設定がibuild.settingsに必要です。

NSExceptionDomains

https://docs.coronalabs.com/guide/hardware/appleATS/index.html

Android

expansion file の設定を行い、GoogleのAPIライセンスキーを設定してください。

project properties > Advanced Settings.

results matching ""

    No results matching ""