Steps

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

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

    • ~/Documents/Kwikにプロジェクトをコピーしてください

      • BookShelfTmplt
      • Book01
      • Book02
      • BookServer
    • BookShelfTmplt/tmplt/components/store/model.lua の Host URL をあなたのものに編集してください

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

    • Project Properties
      • Advanced > Book Shelf Type. templateに設定してください
      • MonetizationをBook{Num}に設定します
    • Shelf page
      • book{Num}Icon
      • downloadBtn
      • saveBtn
      • savingTxt
      • purchaseBtn
      • restoreBtn
    • INFO page
      • infoTxt
      • bookXXIcon
      • purchaseBtn
      • savintTxt
      • savedBtn
      • downloadBtn
      • hideOverlayBtn
    • Tmplate pages
      • Template PageとしてPage Propertiesを設定します
      • Navigation
        • Goto TOC
        • Goto title
        • Goto previous book
        • Goto next book
  • Book{Num} project

    • project properties
      • Advanced > Book Shelf Type.templateenable downlodableと設定します
    • Book shelf master appのレイヤーの構造と同じにそれぞれのページを作成する
    • build4/assets/folderにcopyright.txtを置く
    • build4/model.jsonをmaster appのレイヤーに対応するように編集します.
    • p{Num}という接頭辞がついているmp3とtxtファイルをrootフォルダーに配置
  • BookServer

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

    もしbgがjpgの場合,store/model.luaのbackgroundImgを"bg.jpg"と変更してください.

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

    • 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 ""