Avatar
1
Tú Trần Anh Beginner
Tú Trần Anh Beginner
[Ezyfox Server] Cách sử dụng kết hợp Ezyfox Server và EzyHttp cho Unity game
  • Em đang làm một game bằng EzyFox Server và Unity client. Em đang validate đăng nhập bằng tài khoản, mật khẩu bình thường.

  • Giờ em muốn sử dụng Ezy Http để đăng nhập bằng access token, tích hợp thêm các phương thức đăng nhập khác ( vd: google). Và thêm tính năng thanh toán thử bằng paypal sandbox. Em đã tìm hiểu thử về gọi rest api trong unity, cụ thể là paypal sandbox nhưng tìm thấy rất ít tài liệu về phần này.

  • Nên em đã nghĩ đến ý tưởng build game ra webgl và nhúng vào trang web. Em sẽ đăng nhập và thanh toán bằng paypal trên web. Nhưng em lại có vấn đề mới là làm thế nào để game unity được nhúng trên web có thể lấy được access token hay là kết quả của request thanh toán paypal được thực hiện trên web.

A tư vấn cho em một hướng giải quyết với ạ.

Em xin cảm ơn!

  • Answer
question
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
  1. Theo anh thấy thì việc thanh toán paypal trên web có flow cơ bản là giống nhau, nên anh nghĩ em có thể sử dụng flow của magento và em sẽ thay Magento bằng EzyHTTP là được em ạ.

  1. Theo như anh hiểu thì em đang dùng iframe. Như vậy thì em có thể pass 1 cái token vào iframe. Khi thanh toán paypal thành công thì em sẽ gửi cả token này và thông tin thanh toán paypal đến ezyhttp và em sẽ có 1 số cách để notify việc thanh toán thành công cho unity webgl thế này:

  • Em sẽ có 1 bảng tạm để lưu token thành toán thành công từ EzyHTTP, ở phía EzyFox Server sẽ có 1 job liên tục loop cái bảng này, tương ứng với token em sẽ tìm được cái socket session để gửi thanh toán thành công qua websocket đến unity webgl
  • Em sẽ sử dụng kafka (hoặc rabbitMQ, activeMQ), từ EzyHTTP em sẽ publish 1 cái message thanh toán thành công với token, phía EzyFox server sẽ subscribe cái topic và gửi qua websocket đến unity webgl là thanh toán thành công.
  • 1
  • Reply
A có ví dụ nào về gọi api từ bên thứ 3 bằng Ezy Http cho em xin với  –  Tú Trần Anh 1651804960000
Em thử import project vào intellij nó báo lỗi này là sao a nhỉ:

Task 'wrapper' not found in project ':ezyhttp-login'.

Try: Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
 –  Tú Trần Anh 1651806549000
em import cả ezyfox-examples hay em chỉ import ezyhttp-login thôi em?  –  tvd12 1651862406000
vâng. tks a. Em import cả project thì ok r a  –  Tú Trần Anh 1651903634000
A ơi muốn lấy dữ liệu từ object kiểu EzyData bên ezyfox server ra kiểu gì thế ạ? chẳng hạn bên EzyFox server em nhận 1 object kiểu EzyData như này [1,"test"] thì em lấy dữ liệu ra bằng hàm nào ạ?  –  Tú Trần Anh 1652049284000
Em ép kiểu về EzyArray rồi lấy theo index 0, 1, .. nhé  –  monkey 1652058973000