Monday, August 17, 2015

Share Facebook, Twitter, Google+, Pinterest, LinkedIn và gửi feedback bằng email trong Unity theo cách đơn giản nhất

Trong bài viết này, mình sẽ hướng dẫn cách share Facebook, Twitter, Google+, Pinterest, LinkedIn và gửi feedback bằng Email trong Unity theo cách đơn giản nhất. Bạn có thể sử dụng cách này để share trên tất cả các nền tảng có hỗ trợ trình duyệt web.

- Bước 1: download library
Link download: ShareController.cs

Download library ở trên (thực ra chỉ có 1 class) và đặt vào trong project Unity của bạn

- Bước 2: gọi hàm sau để thực hiện chức năng bạn muốn: 
  • Share Facebook: ShareController.ShareFacebook(string message)
  • Share Twitter: ShareController.ShareTwitter(string tweet)
  • Share Google+: ShareController.ShareGooglePlus(string message)
  • Share Pinterest: ShareController.SharePinterest (string image, string source, string description="")
  • Share LinkedIn: ShareController.ShareLinkedIn (string message, string title, string summary="", string source="")
  • Send email: ShareController.SendEmail (string receiver, string subject, string body, string cc="", string bcc="")

Giải thích hoạt động của thư viện: bản chất của các hàm trên là dùng Application.OpenURL để dùng browser gửi 1 request lên (GET request). Thư viện chỉ là 1 wrapper chức năng này để đơn giản hóa công đoạn thôi. Bởi vì sử dụng Application.OpenURL nên thư viện có tính cross platform rất cao, có thể hoạt động trên cả những nền tảng mà những bộ SDK thông thường (FacebookSDK cho Unity là 1 ví dụ) không thể hoạt động được.

Chức năng send email mình cũng đưa vào cùng với các chức năng share vì bản chất hoạt động tương tự. Bạn có thể dùng chức năng send email này vào khá nhiều mục đích ví dụ như: chức năng gửi email feedback cho game... Chức năng này sẽ mở ra trình soạn email mặc định trên máy với các thông tin được điền sẵn (thông tin đó chính là tham số của lời gọi hàm).

Phân tích ưu nhược điểm:
- Ưu điểm:
  • Dễ sử dụng, đơn giản, không cần mất nhiều bước tích hợp phiền hà như các bộ SDK.
  • Thực sự cross platform, hoạt động trên tất cả các nền tảng có hỗ trợ hàm Application.OpenURL. Với 1 số nền tảng như Blackberry, Samsung TV, Tizen OS thì đây gần như là cách duy nhất để bạn có thể thực hiện chức năng share.
  • Tính ổn định cao: do sử dụng browser để gửi GET request nên cũng ít gặp lỗi hơn, không vướng vào vấn đề permission như các phương pháp khác (VD: share Facebook bạn sẽ cần permission liên qua đến post status của Facebook.).
- Nhược điểm:
  • Chức năng khá hạn chế, chỉ có thể share, không thể invite friend, request game...
  • Không có hàm callback: giả sử bạn cần bắt sự kiện share thành công để tặng tiền chẳng hạn, với thư viện này bạn sẽ không làm được điều đó
Kết luận: bạn có thể vận dụng cách trên trong các ngôn ngữ lập trình, game engine hoặc các môi trường lập trình khác không bắt buộc phải là Unity. Nguyên tắc sử dụng: mở 1 web browser với đường link là 1 GET request đến chức năng bạn cần.

Đường link sau là 1 URL builder giúp bạn tạo URL cho chức năng share bạn cần (nếu bạn đang dùng Unity và dùng thư viện trên thì không cần cái này): Share URL generator


No comments:

Post a Comment