Mail Box
Đây là các Prefab được đóng gói, để dễ dàng mở rộng và tùy biến theo game. Giúp developer giảm thiểu công sức xây dựng các logic cơ bản
1. Điều kiện tiên quyết
Trong game cần phải tích hợp GSM SDK: xem hướng dẫn
Game đã được nhập dữ liệu mail box ở GSM CMS. Phần này nếu chưa biết, thì liên hệ tuyennv (skype: nguyenvantuyen_12a9) để được hướng dẫn
2. Sử dụng
Khi sử dụng thì phía game cần phải coding thêm các logic tùy theo từng game.
Ví dụ: Cần xử lý UI khi nhận được 1 string
RewardData
như việc phân tích chuỗi json từRewardData
, và hiển thị hình ảnh các phần thưởng tương ứng với logic của game.Ví dụ: Khi một mail được xác nhận claim reward thành công, thì phía game sẽ xử lý cộng phần thưởng cho user.
Ví dụ: Khi một mail được xác nhận gửi trạng thái openlink lên server thành công, thì phía game sẽ mở 1 link từ game.
Ví dụ: Khi một mail gửi thành công 1 input text lên server thì phía game có thể bật 1 popup, hoặc nếu có phần thưởng thì sẽ cộng thưởng cho user.
Ví dụ: Khi một mail gửi 1 input text lên server bị lỗi, thì phía game bật popup hiển thị lỗi.
Ví dụ: Khi một mail bị xóa, thì sẽ xử lý ghi log hoặc làm gì đó.
2.1 Tải Plugin và import vào Unity
Tìm plugin có tên:
MailBox [version].unitypackage
2.2 Sử dụng prefab MailBoxPanel
Nơi chứa Prefab: Assets => CSCMobiPlugin => MailBox => MailBoxPanel.prefab
Code mẫu:
2.2.1 Bắt buộc phải xử lý logic render UI Reward
Mặc định code chỉ hiển thị 1 text hiển thị data reward mà user nhận được
Phía game cần tự coding xử lý lại UI reward mà user có thể nhận được.
Mục đích hiển thị các phần thưởng user có thể nhận được khi claim, hoặc submit input text lên server
Hiện tại có một Prefab
RewardContent
chỉ đơn giản có 1 text hiển thịRewardData
và sử dụng ScriptMailBoxRewardContent
Việc của developer là sửa lại UI cho prefab RewardContent để hiển thị được nội dung reward cho user thấy.
Khi thêm bất kì biến hoặc code xử lý cho script
MailBoxRewardContent
thì sau đó sẽ xử lý nội dung reward tạimailboxPanel.SetOnRenderReward
.
Code xử lý:
2.2.2 Xử lý Claim Reward
Khi user nhấn nút Claim thành công thì một Action trong
SetOnClaimRewardSuccess
sẽ được thực hiện.Phía game cần xử lý logic để cộng thưởng cho user
Code xử lý:
2.2.3 Xử lý logic khi Submit Text thành công lên server
Khi user nhập text vào ô
Input here...
Sau đó nhấn nút SubmitLúc này một Action trong
SetOnSubmitInputSuccess
sẽ được thực hiện
Code xử lý:
2.2.3 Xử lý Open Link
Khi user nhấn OpenLink nếu thành công thì một action trong SetOnOpenLinkSuccess sẽ được thực hiện
Phía game sẽ xử lý logic mở đến một link nhận được từ MailBoxItem
Code xử lý:
3. Custom RewardContent Prefab
Nếu muốn tự tạo riêng 1 RewardContent Prefab thì có thể sử dụng cách này.
Dưới đây chỉ là demo hướng dẫn sử dụng, chứ không bắt buộc phải tạo class với tên y hệt.
3.1 Tạo một class CustomRewardContent
Cần thực thi interface
IMailBoxRewardContent
Cần kế thừa class
MonoBehaviour
Code mẫu:
Trong code mẫu trên chỉ sử dụng đơn giản 1 text để hiển thị data reward.
Việc xử lý hiển thị reward được thực hiện trong RenderReward
Vậy nên tùy biến các biến đầu vào như thế nào là logic ở game
3.2 Tạo một Prefab sử dụng script CustomRewardContent
3.3 Sửa lại class MailBoxPanel
3.4 Kéo prefab CustomRewardContent vào MailBoxPanel
Click vào:
CSCMobiPlugin
=>
MailBox
=>
MailBoxPanel Prefab
Ở Hierarchy click vào GameObject MailBoxPanel
Ở Inspector kéo CustomRewardContent Prefab vào thuộc tính MailBoxRewardContent Prefab
3.4 Hoàn thành và chạy thử
Tùy theo dữ liệu mail của game mà sẽ nhận được danh sách các mail tương ứng
dưới đây chỉ là dữ liệu demo
Last updated