Unity 嵌入 app 內購付費 (In-App Purchasing) – Server-Side 驗證篇

前篇提到 Unity IAP 收據的兩種驗證方式: 本地(Client-side), 遠程(Server-side); 也介紹以 Unity IAP 提供的工具與 CrossPlatformValidator 類別執行本地驗證, 但對於提供遠程服務的 app 有更好的選擇: 遠程驗證.

本篇將介紹且實作 Google Play 與 App Store 兩平台的遠程收據驗證.
版本資訊:
Unity: 2019.2.14f
Unity IAP: 2.2.7

Unity IAP 的收據

Unity IAP 提供了 JSON 形式的收據:

NameDescription
Store描述來自哪個商店, GooglePlay 或 AppStore.
TransactionID由商店提供的交易訂單ID (唯一碼)
Payload收據詳細內容, 因各商店而異. (遠程驗證所需資料存放這)
繼續閱讀

Unity 嵌入 app 內購付費 (In-App Purchasing) – Client-Side 驗證篇

內購付費作為大部分免費 app 主要的收如來源, 商品收據驗證尤為重要, 可以幫助開發方防止惡性用戶或者不預期程式錯誤取得未購買的商品. 較好的做法是在取得購買收據後且分發商品之前進行收據驗證. 主要有兩種驗證方式: 本地 (Client-side), 遠程 (Server-side).

本地 (Client-side):
於購買的裝置上進行驗證, 不需要將收據資料送往其他端口. 這是 Unity IAP 有提供的功能. 雖然 Unity IAP 提供本地驗證, 但本地驗證仍是容易遭到竄改, 最好還是把核心驗證交由遠程的伺服器驗證.

遠程 (Server-side):
將購買的收據下載至裝置上, 隨後發送至驗證伺服器, 驗證成功即發送對應商品獎勵. 目前 Unity IAP 尚未提供. 常見的平台 Google PlayApple 有更詳細的文件提供開發者進行更安全的遠程驗證.

繼續閱讀

Unity 嵌入 app 內購付費 (In-App Purchasing) – 前端實作篇

繼前一篇 – 安裝篇完成後, 來到較核心的實作部分, app 前端的實作流程.

本篇內容包含: Unity IAP 流程/回呼結構, 實作 IStoreListener 回呼介面: 初始化與購買結果. 更詳細的也可以官方查看更詳細內容.

以下為相關版本:
Unity: 2019.2.14f
Unity IAP: 2.2.7

Unity IAP 流程/回呼結構

各平台的 IAP 套件經過 Unity 整合至 Purchasing 庫, 開發者只需要實作幾個回呼功能就能輕鬆串接, 不需要花太多時間研究個別的套件.

繼續閱讀

Unity 嵌入 app 內購付費 (In-App Purchasing) – 安裝篇

Unity 作為一個跨平台遊戲開發工具, 也少不了提供整合平台的內購付費嵌入服務. 省去開發者需要逐一加入IAP的套件, 還要處理平台間彼此衝突的問題.

這次以常見的 Google Play 平台為例示範如何安裝 IAP 套件, 設定產品內購項目, 編寫付費流程範例, 以及測試.
以下為相關版本:
Unity: 2019.2.14f
Unity IAP: 2.2.7
Google Play Billing Library: v3

繼續閱讀