Mailbox

  • 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

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

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 Script MailBoxRewardContent

  • 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ại mailboxPanel.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 Submit

  • Lúc này một Action trong SetOnSubmitInputSuccess sẽ được thực hiện

Code xử lý:

  • 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