移動式平台 app, 隨著功能特效增加, 物件趨漸精緻化的 3D 模組. 經常導致 app 容量肥大, 但要求使用者一次就下載所有資源似乎又不合理. 再者, 並不是所有地區的網路都很順暢且像台灣這樣有 “吃到飽" 的電信合約. 況且要是下載等了太久, 也有流失使用者的風險. 因此, 如果能只下載一部分的資源, 讓後續的資源隨著進程開放, i.e., Express 功能, VIP… 等等. 就能在前期給使用者相對良好的體驗了.
繼續閱讀Unity
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 形式的收據:
| Name | Description |
| 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 Play 與 Apple 有更詳細的文件提供開發者進行更安全的遠程驗證.
Unity 嵌入 app 內購付費 (In-App 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