In App Purchase

注意:このチュートリアルを始める前に,iTune Connect/Apple Developer service もしくは Google Play Developer console, Amazon developer sevice のどれかでIAPの設定を作成してください.

Corona LabsではSetup/Configurationの項目について詳しく説明しています.

Montization pageiap tools section も合わせて、ご参照ください。


In App Purchase - アプリ内課金

Monetizationタブから,+アイコンをクリックしてproductsを追加してください.

product nameとIDを +アイコンをクリックして、登録してください.仮のIDでも大丈夫です.

後でapple,googleもしくはamazonのcomponents/store/model.luaから公式のIDを取得・設定して,デバイスビルドします.デバイスでのテストによってApp store APIにsandbox環境で接続することが可能です.

次のKwik4のメジャーアップデートでapple,google,amazonで使用できるIDフィールドが使用できる予定です.

  • product01
  • com.kwiksher.app_name.product_id

Page Properites

未購入の場合に、Page Propertiesから指定したページをロック状態(非表示)することができます.

In-App Unlock sectionまで進んでください

ProductとRe-directを設定してください

ページの構成

  • page 1 normal
  • page 2 buy/restore button
  • page 3 locked page
  • page 4 locked page

ユーザーがスワイプしてpage 2からpage 3に移動しようとすると,Kwikはpage 3を数秒表示してすぐにpage 2に戻します.

なのでpage 3とpage 4が購入対象のページとなります。page 4 は完全に隠されて,ユーザーは一瞬だけpage 3のコンテンツを見ることができます.


Unlock & Restore Button

Restoreボタンはユーザーがデバイスを変えた時やアプリをアンインストールして再びインストールし直した時に利用されます。 Apple storeのデータベースから、購入情報を再取得する動作となります。

Montization > Buy Product

  • 購入される商品を選択してください.購入の取引が完全に終了した時,このボタンは隠されます.

Montization > Restore Product


デバイスでのビルド

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

公式のproduct IDの設定

components/store/model.luaで,Apple,Google,Amazonのproduct IDを設定してください.

iap tools section でIAPの詳しい設定方法について説明されています

例えば,iTune storeの"com.kwiksher.bookshelf.book01"ではこのようになります.

M.catalogue = {
    products = {
            test = {
            productNames = { apple="com.kwiksher.bookshelf.book01", google="test_googgle", amazon="test_amazon"},
            productType  = "non-consumable",
            onPurchase   = function() IAP.setInventoryValue("unlock_test") end,
            onRefund     = function() IAP.removeFromInventory("unlock_test") end,
        },
    },
    inventoryItems = {
            unlock_test = { productType="non-consumable" },
    }
}

もし必要であれば,productTypeに"consumable"と設定できます. 詳しくはiap badger documentをお読みください.

http://happymongoosegames.co.uk/iapbadger.php

デバッグモードをfalseに変更

components/store/IAP.uaで,iapOptions tableのdebugModeをfalseに変更してください.

function M:init(catalogue, restoreAlert, 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        = false,
    }

それではCorona Simulatorでビルドしてください.アプリ内課金の設定が関連付けられている、Signature(iOS)またはkeystore(Android)のCode Signingを選択してください.通常のsignatureデバッグまたはkey storeを使用しないでください.

ロックされたページに到達すると,ダイアログがポップアップされます.これはシステム(OS)によるものなので,作成する必要はありません.

purchaseボタンもconfirmationダイアログと一緒に出現します.

  • restoreのテストをするためには,購入後に一度アプリをアンインストールします.そしてアプリを再インストールしてrestoreボタンを選択します.

results matching ""

    No results matching ""