คุณสามารถใช้ Firebase Authentication เพื่อสร้างและใช้บัญชีชั่วคราวที่ไม่ระบุตัวตน เพื่อตรวจสอบสิทธิ์กับ Firebase บัญชีชั่วคราวที่ไม่ระบุตัวตนเหล่านี้สามารถใช้เพื่อ อนุญาตให้ผู้ใช้ที่ยังไม่ได้ลงชื่อสมัครใช้แอปของคุณทำงานร่วมกับข้อมูลที่ได้รับการคุ้มครองได้ ตามกฎความปลอดภัย หากผู้ใช้ที่ไม่ระบุชื่อตัดสินใจลงชื่อสมัครใช้แอปของคุณ คุณสามารถทำสิ่งต่อไปนี้ได้ เชื่อมโยงข้อมูลการลงชื่อเข้าใช้กับไซต์ที่ไม่ระบุชื่อ บัญชีเพื่อให้ทำงานกับข้อมูลที่ได้รับการคุ้มครองต่อไปได้ใน ในอนาคต
ก่อนเริ่มต้น
-
ก่อนที่จะใช้งานได้ Firebase Authentication คุณต้องเพิ่ม Firebase Unity SDK (กล่าวอย่างเจาะจงคือ
FirebaseAuth.unitypackage
) ไปยังโปรเจ็กต์ Unityดูวิธีการโดยละเอียดสำหรับขั้นตอนการตั้งค่าเริ่มต้นเหล่านี้ได้ใน เพิ่ม Firebase ไปยัง โปรเจ็กต์ Unity
- หากยังไม่ได้เชื่อมต่อแอปกับโปรเจ็กต์ Firebase ให้ดำเนินการจาก คอนโซล Firebase
- เปิดใช้งานการตรวจสอบสิทธิ์แบบไม่ระบุชื่อ:
- ในคอนโซล Firebase ให้เปิดส่วน Auth
- ในหน้าวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ตัวเลือกไม่ระบุตัวตน วิธีลงชื่อเข้าใช้
- ไม่บังคับ: หากอัปเกรดโปรเจ็กต์เป็น Firebase Authentication with Identity Platform คุณสามารถเปิดใช้การล้างข้อมูลอัตโนมัติ วันและเวลา เมื่อคุณเปิดใช้การตั้งค่านี้ ระบบจะสร้างบัญชีที่ไม่ระบุชื่อและมีอายุเกิน 30 วันโดยอัตโนมัติ ลบแล้ว ในโปรเจ็กต์ที่เปิดใช้การล้างข้อมูลอัตโนมัติ การตรวจสอบสิทธิ์แบบไม่ระบุตัวตนจะไม่ทำสิ่งต่อไปนี้ จะนับรวมในขีดจำกัดการใช้งานหรือโควต้าการเรียกเก็บเงิน โปรดดู การล้างข้อมูลอัตโนมัติ
ตรวจสอบสิทธิ์ด้วย Firebase แบบไม่ระบุตัวตน
เมื่อผู้ใช้ที่ออกจากระบบใช้ฟีเจอร์แอปที่ต้องมีการตรวจสอบสิทธิ์ด้วย Firebase ให้ลงชื่อเข้าใช้ผู้ใช้แบบไม่ระบุตัวตนโดยทำตามขั้นตอนต่อไปนี้
คลาสFirebaseAuth
เป็นเกตเวย์สำหรับการเรียก API ทั้งหมด
ซึ่งเข้าถึงได้ผ่าน FirebaseAuth.DefaultInstance
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync
auth.SignInAnonymouslyAsync().ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAnonymouslyAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception); return; } Firebase.Auth.AuthResult result = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", result.User.DisplayName, result.User.UserId); });
แปลงบัญชีที่ไม่ระบุชื่อเป็นบัญชีถาวร
เมื่อผู้ใช้ที่ไม่ระบุชื่อลงชื่อสมัครใช้แอปของคุณ คุณอาจต้องการอนุญาต ทำงานต่อด้วยบัญชีใหม่ ตัวอย่างเช่น คุณอาจต้องการ ทำให้สินค้าที่ผู้ใช้เพิ่มลงในรถเข็นช็อปปิ้งก่อนที่จะลงชื่อสมัครใช้ อยู่ในรถเข็นช็อปปิ้งของบัญชีใหม่ โดยทําตามขั้นตอนต่อไปนี้ ขั้นตอน:
- เมื่อผู้ใช้ลงชื่อสมัครใช้ ให้ทําตามขั้นตอนการลงชื่อเข้าใช้สําหรับ
ผู้ให้บริการการตรวจสอบสิทธิ์สูงสุด แต่ไม่นับรวมการเรียกหนึ่งใน
Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync
เมธอด เช่น รับโทเค็นรหัส Google ของผู้ใช้ โทเค็นเพื่อการเข้าถึงของ Facebook หรืออีเมลและรหัสผ่าน รับ
Firebase.Auth.Credential
สำหรับผู้ให้บริการตรวจสอบสิทธิ์รายใหม่:ส่งออบเจ็กต์
Firebase.Auth.Credential
ไปยังผู้ใช้ที่ลงชื่อเข้าใช้ เมธอดLinkWithCredentialAsync
:
หากโทรหา LinkWithCredentialAsync
สำเร็จ บัญชีใหม่ของผู้ใช้จะดำเนินการได้
เข้าถึงข้อมูล Firebase ของบัญชีที่ไม่ระบุตัวตน
การล้างข้อมูลอัตโนมัติ
หากอัปเกรดโปรเจ็กต์เป็น Firebase Authentication with Identity Platform แล้ว คุณจะทำสิ่งต่อไปนี้ได้ เปิดใช้การทำความสะอาดอัตโนมัติในคอนโซล Firebase เมื่อคุณเปิดใช้งานฟีเจอร์นี้ คุณจะอนุญาตให้ Firebase จะลบบัญชีที่ไม่ระบุตัวตนซึ่งมีอายุมากกว่า 30 วันโดยอัตโนมัติ ในโปรเจ็กต์ที่มีอัตโนมัติ เปิดใช้การล้างแล้ว การตรวจสอบสิทธิ์แบบไม่ระบุชื่อจะไม่นับรวมในขีดจำกัดการใช้งานหรือโควต้าการเรียกเก็บเงิน
- บัญชีที่ไม่ระบุตัวตนใดๆ ที่สร้างขึ้นหลังจากเปิดใช้การล้างอัตโนมัติอาจดำเนินการโดยอัตโนมัติ ลบเมื่อใดก็ได้หลังจากสร้าง 30 วัน
- บัญชีที่ไม่ระบุตัวตนที่มีอยู่จะมีสิทธิ์ได้รับการลบโดยอัตโนมัติ 30 วันหลังจากนี้ กำลังเปิดใช้การทำความสะอาดอัตโนมัติ
- หากคุณปิดการล้างข้อมูลอัตโนมัติ บัญชีที่ไม่ระบุตัวตนซึ่งกำหนดเวลาให้ลบจะยังคงอยู่ มีกำหนดลบแล้ว
- หากคุณ "อัปเกรด" บัญชีที่ไม่ระบุตัวตนโดยการเชื่อมโยงบัญชีกับวิธีการลงชื่อเข้าใช้ บัญชีดังกล่าวจะ ไม่ถูกลบโดยอัตโนมัติ
หากคุณต้องการดูจำนวนผู้ใช้ที่จะได้รับผลกระทบก่อนที่คุณจะเปิดใช้งานฟีเจอร์นี้ และ
อัปเกรดโปรเจ็กต์เป็น Firebase Authentication with Identity Platform แล้ว คุณสามารถกรองตาม
is_anon
ในระบบคลาวด์
การบันทึก
ขั้นตอนถัดไป
เมื่อผู้ใช้ตรวจสอบสิทธิ์กับ Firebase แล้ว คุณจึงควบคุมสิทธิ์เข้าถึง ในฐานข้อมูล Firebase ของคุณโดยใช้ กฎ Firebase