Steps

  • サンプルプロジェクトのzipファイルを下のリンクからダウンロードしてください

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

    • プロジェクトを~/Documents/Kwikにコピーしてください
      • BookShelfEmbedded
      • BookShelfTOC
      • Book01
      • Book02
      • BookServer
    • BookShelfTOC/tmplt/components/store/model.lua の Host URL をあなたのものに編集してください

      local YourHost  = "http://localhost:4000/daily"
      M.URL           = YourHost.."/LibraryParent/"
      M.backgroundImg = "bg.png"
      
  • BookShelfTOC

    • Project Properties
      • Advanced > Book Shelf Type. embeddeddisable downlodable を設定します。
      • MonetizationをBook{Num}に設定してください
    • Shelf page
      • Book{Num}Icon
      • downloadBtn
      • saveBtn
      • savingTxt
      • purchaseBtn
      • restoreBtn
      • infoTxt
      • Buy Product Action
    • Book{Num} INFO page
      • Book{Num}Icon
        • downloadBtn
        • saveBtn
        • savingTxt
        • purchaseBtn
        • infoTxt
        • hideOverlayBtn
  • Book{Num}
    • project properties
      • Advanced > Book Shelf Type. embeddedenable downlodable を設定します。
  • BookServer

    • copyright.txt
    • copy_books.bat(Mac) もしくは copy_books.command(MAC)
  • それぞれのassets.zipとbg.pngをhttpサーバーのbook{Num}フォルダーにコピーしてください

    もしbg(背景)画像がjpgの場合,store/model.luaのbackgroudImgを"bg.jpg"に変更してください

  • BookShelfEmbedded

    • copy.bat もしくは copy.command
    • main.lua - require("plugin.KwikShelf").start("TOC", 1)
  • もし初期状態に戻したい場合,以下のフォルダーをクリーンアップしてください

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

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

M.debug     = false

M.epsodes = {
            book01  ={name = "book01", dir = "book01", numOfPages = 6, info = "test", versions ={  }},
            book02  ={name = "book02", dir = "book02", numOfPages = 2, info = "test", versions ={  }},
    }
--
M.catalogue = {
    products = {
            book01 = {
            productNames = { apple="com.kwiksher.bookshelf.book01", google="com.kwiksher.bookshelf.book01", amazon=""},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_book01") end,
            onRefund     = function() IAP.removeFromInventory("unlock_book01") end,
        },
            book02 = {
            productNames = { apple="com.kwiksher.bookshelf.book02", google="book02", amazon=""},
            productType  = "consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_book02") end,
            onRefund     = function() IAP.removeFromInventory("unlock_book02") end,
        },
    },

Debug mode

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

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

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

M.debug     = true

M.catalogue = {
    products = {
            book01 = {
            productNames = { apple="book01", google="book01", amazon="book01"},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_book01") end,
            onRefund     = function() IAP.removeFromInventory("unlock_book01") end,
        },
            book02 = {
            productNames = { apple="book02", google="book02", amazon="book02"},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_book02") end,
            onRefund     = function() IAP.removeFromInventory("unlock_book02") 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 ""