BookShelf with book versions
BookShelf Embedded with book versions
this is an experiment of BookShelf Embedded. I added a feature to download a different version of a book such as English book01 or Japanese book01
Modified sample project is here. Please find _v suffixed folders.
-
https://kwiksher.com/tutorials/Kwik4/BookShelf.zip
- BookShelfEmbedded_v
- copy.command
- copy.bat
- BookServer
- compress_assets/main.lua
- Book01en
- Book01jp
- Book02en
- Book02jp
- BookTOC_v
BookTOC_V - 002-INFO
- BookShelfEmbedded_v
BookSever
BookSever/compress_assets/main.lua
command.setServerFolder("macos", "bookshelf")
--command.setServerFolder("win32", "bookshelf")
local books = {
{project = "Book01en", serverFolder = "book01en"},
{project = "Book01jp", serverFolder = "book01jp"},
{project = "Book02en", serverFolder = "book02en"},
{project = "Book02jp", serverFolder = "book02jp"},
}
local onLineImages = {
{project = "Book01en", serverFolder = "book01en", image = "build4/assets/images/p1/bg@4x.png"},
{project = "Book01jp", serverFolder = "book01jp", image = "build4/assets/images/p1/bg@4x.png"},
{project = "Book02en", serverFolder = "book02en", image = "build4/assets/images/p1/bg@4x.png"},
{project = "Book02jp", serverFolder = "book02jp", image = "build4/assets/images/p1/bg@4x.png"},
}
Model
Project Properties > Monetization > In-App Purchase

- Name: book01
- apple; book01
- google: book01
- amazon: book01
- versions: “en”, “jp”
Name : it also be used for the folder name in Book Server to store zip files
apple, google, amazon: For IAP Debug mode, please input the same value of Name field.
product IDs of the store services must be set for the final device build.
In versions field, input lang IDs such “en”, “jp”
For developing IAP Debug mode allows to test IAP with Corona Simulator

Please check the correct values are set in model.lua
- components/store/model.lua
the versions are added to in M.epsodes table
M.epsodes = {
book01 = {
name = "book01", dir = "book01", numOfPages = 6,
info = "book01 info",
versions = {"en", "jp"}
},
book02 = {
name = "book02", dir = "book02", numOfPages = 3,
info = "book02 info",
versions = {"en", "jp"}
},
}
when user purchase book01, user can download the default of book01 or en, jp. Kwik internally downloads book01.zip or book01en/asset zip files or book01jp/asset zip files
for instance, Book01en is the kwik project of the version01 of book01
use copy_books.command to make asset zip files
MyCopy Book01en book01 en
UI
page2-INFO has version01, version02 version03 layers.

“English”, “Japanese” are enabled to download each version once user purchases the book.
changes in the version model
-
when user click purchase button and the transaction is completed, the original sample automatically starts downloading book.zip. This feature is disabled. User needs to click download/version button to get the asset zip files
-
page1-Shelf, purchase button is removed (alpha=0) and does not automatically opens book01. Now it always shows the page2-INFO overlay
-
book01 is associated to DownloadBtn and SavedTxt
-
english, japanese buttons will be firstly to download the asset zip files and once the zip downloaded, user can click to open the version book.