เริ่มต่อกันเลยนะครับ หลังจากที่ทำการสร้าง App บน Facebook แล้ว
1. ให้เราทำการ Add Platform
3. ในส่วนของ Key Hashes ถ้าเราต้องการจะ Publish ขึ้น Google Play ให้ทำการสร้างโดยใช้คำสั้ง
keytool -exportcert -alias <android release key> -keystore <%HOMEPATH%\.android\release.keystore> | openssl sha1 -binary | openssl base64
โดยทำการเปลี่ยน <android release key> เป็น alias ของ keystore ที่เราสร้างนะครับ แล้วก็เปลี่ยน Path <%HOMEPATH%\.android\release.keystore> เป็นที่เก็บ keystore ของเราครับ
4. ทำการเปิด Unity3D เลยครับ จากนั้นให้ทำการสร้างปุ่มสำหรับ Login Facebook ครับ
5. จากนั้นทำการสร้าง Script C# เลยครับ (FacebookController.cs) และนำ Script ไปใส่ใน GameObject ครับ
6. ทำการเพิ่ม using Facebook.Unity; เข้าไปใน Script
7. เพิ่มโค้ดในส่วนของ Initializing SDK ใน function Awake()
void Awake()
{
if (!FB.IsInitialized)
{
// เป็นการเรียกใช้ Initialize บน Facebook SDK ซึ่งจะมีการเรียก function callback
FB.Init(InitCallback, OnHideUnity);
}
else
{
// ถ้ามีการ Initialize แล้วก็ให้ app ทำงานต่อ
// ActivateApp จะเป็นการเก็บข้อมูลของ User ซึ่งจะส่งไปยัง Facebook
FB.ActivateApp();
}
}
private void OnHideUnity(bool isGameShown)
{
if (!isGameShown)
{
// ให้หยุดเกม เมือมีการแสดง
Time.timeScale = 0;
}
else
{
// Resume the game - we're getting focus again
Time.timeScale = 1;
}
}
private void InitCallback()
{
if (FB.IsInitialized)
{
// ถ้ามีการ Initialize แล้วก็ให้ app ทำงานต่อ
// ActivateApp จะเป็นการเก็บข้อมูลของ User ซึ่งจะส่งไปยัง Facebook
FB.ActivateApp();
}
else
{
// Initialize ไม่สำเร็จ
Debug.Log("Failed to Initialize the Facebook SDK");
}
}
// function ใช้สำหรับอ่านข้อมูล User
public void LoginWithReadPermission()
{
// กำหนดสิทธิ์การเข้าถึง และ แสดงหน้า Login
var perms = new List<string>() { "public_profile", "email", "user_friends" };
FB.LogInWithReadPermissions(perms, AuthCallback);
}
private void AuthCallback(ILoginResult result)
{
if (FB.IsLoggedIn)
{
// ทำการ Get Name ของ User
FB.API("/me?fields=name", HttpMethod.GET, DisplayUsername);
}
else
{
Debug.Log("User cancelled login");
}
}
private void DisplayUsername(IGraphResult result)
{
if (result.Error != null)
{
return;
}
Debug.Log(result.ResultDictionary["name"]);
}
10. จากนั้นทำการรันเพื่อทดสอบได้เลยครับ
วิธีการทดสอบ
1. เมื่อรัน และ กดปุ่ม Login ให้ทำการกด Find Access Token และ Facebook จะทำการเปิดหน้าเว็บขึ้นมาให้ทำการกด Link ที่เขียนว่า need to grant permission ก็จะได้ User Token มาครับ ให้ทำการ Copy และเอาไปใส่ในช่อง User Access Token และกด Send Success
ดูเพิ่มเติมได้จาก https://developers.facebook.com/tools/explorer
เท่านี้ก็สามารถนำไปประยุกต์ใช้ได้แล้วครับ
NO GAME NO DREAM!!!!