คุณสามารถใช้การตรวจสอบสิทธิ์ Firebase เพื่อสร้างและใช้บัญชีชั่วคราวที่ไม่ระบุชื่อเพื่อตรวจสอบสิทธิ์กับ Firebase บัญชีที่ไม่ระบุตัวตนชั่วคราวเหล่านี้สามารถใช้เพื่ออนุญาตให้ผู้ใช้ที่ยังไม่ได้สมัครใช้งานแอปของคุณทำงานกับข้อมูลที่ได้รับการคุ้มครองตามกฎความปลอดภัย หากผู้ใช้ที่ไม่ระบุชื่อตัดสินใจสมัครใช้งานแอปของคุณ คุณสามารถ เชื่อมโยงข้อมูลประจำตัวในการลงชื่อเข้าใช้กับบัญชีที่ไม่ระบุตัวตน เพื่อให้พวกเขาสามารถทำงานกับข้อมูลที่ได้รับการคุ้มครองต่อไปได้ในเซสชันต่อๆ ไป
ก่อนที่คุณจะเริ่ม
ก่อนที่คุณจะสามารถใช้ Firebase Authentication ได้ คุณจะต้องเพิ่ม Firebase Unity SDK (โดยเฉพาะ
FirebaseAuth.unitypackage
) ให้กับโปรเจ็กต์ Unity ของคุณค้นหาคำแนะนำโดยละเอียดสำหรับขั้นตอนการตั้งค่าเริ่มต้นเหล่านี้ใน เพิ่ม Firebase ให้กับโปรเจ็กต์ Unity ของคุณ
- หากคุณยังไม่ได้เชื่อมต่อแอปกับโปรเจ็กต์ Firebase ให้เชื่อมต่อจาก คอนโซล Firebase
- เปิดใช้งานการรับรองความถูกต้องแบบไม่ระบุชื่อ:
- ใน คอนโซล Firebase ให้เปิดส่วน การตรวจสอบสิทธิ์
- ในหน้า วิธีการลงชื่อเข้า ใช้ ให้เปิดใช้งานวิธีการลงชื่อเข้า ใช้แบบไม่ระบุชื่อ
- ไม่บังคับ : หากคุณได้อัปเกรดโปรเจ็กต์เป็น Firebase Authentication ด้วย Identity Platform คุณสามารถเปิดใช้การล้างข้อมูลอัตโนมัติได้ เมื่อคุณเปิดใช้งานการตั้งค่านี้ บัญชีที่ไม่ระบุชื่อที่มีอายุเกิน 30 วันจะถูกลบโดยอัตโนมัติ ในโปรเจ็กต์ที่เปิดใช้งานการล้างข้อมูลอัตโนมัติ การตรวจสอบสิทธิ์แบบไม่ระบุชื่อจะไม่นับรวมในการจำกัดการใช้งานหรือโควต้าการเรียกเก็บเงินอีกต่อไป ดู การล้างข้อมูลอัตโนมัติ
ตรวจสอบสิทธิ์กับ Firebase โดยไม่ระบุชื่อ
เมื่อผู้ใช้ที่ออกจากระบบใช้ฟีเจอร์ของแอปที่ต้องมีการตรวจสอบสิทธิ์กับ Firebase ให้ลงชื่อเข้าใช้ผู้ใช้โดยไม่ระบุชื่อโดยทำตามขั้นตอนต่อไปนี้:
คลาสFirebaseAuth
เป็นเกตเวย์สำหรับการเรียก API ทั้งหมด สามารถเข้าถึงได้ผ่าน FirebaseAuth.DefaultInstanceFirebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;1. เรียก
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 ID ของผู้ใช้, โทเค็นการเข้าถึง Facebook หรือที่อยู่อีเมลและรหัสผ่าน รับ
Firebase.Auth.Credential
สำหรับผู้ให้บริการตรวจสอบสิทธิ์รายใหม่:ส่งผ่านออบเจ็กต์
Firebase.Auth.Credential
ไปยังเมธอดLinkWithCredentialAsync
ของผู้ใช้ที่ลงชื่อเข้าใช้:
หากการเรียกไปยัง LinkWithCredentialAsync
สำเร็จ บัญชีใหม่ของผู้ใช้จะสามารถเข้าถึงข้อมูล Firebase ของบัญชีที่ไม่ระบุชื่อได้
ทำความสะอาดอัตโนมัติ
หากคุณอัปเกรดโปรเจ็กต์เป็น Firebase Authentication ด้วย Identity Platform แล้ว คุณจะเปิดใช้การล้างข้อมูลอัตโนมัติในคอนโซล Firebase ได้ เมื่อคุณเปิดใช้งานคุณสมบัตินี้ คุณอนุญาตให้ Firebase ลบบัญชีที่ไม่ระบุตัวตนที่มีอายุมากกว่า 30 วันโดยอัตโนมัติ ในโปรเจ็กต์ที่เปิดใช้งานการล้างข้อมูลอัตโนมัติ การตรวจสอบสิทธิ์แบบไม่เปิดเผยตัวตนจะไม่นับรวมในการจำกัดการใช้งานหรือโควต้าการเรียกเก็บเงิน
- บัญชีที่ไม่ระบุตัวตนใดๆ ที่สร้างขึ้นหลังจากเปิดใช้งานการล้างข้อมูลอัตโนมัติอาจถูกลบโดยอัตโนมัติเมื่อใดก็ได้หลังจากการสร้าง 30 วัน
- บัญชีที่ไม่ระบุตัวตนที่สร้างขึ้นก่อนเปิดใช้งานการล้างข้อมูลอัตโนมัติจะมีสิทธิ์ในการลบอัตโนมัติโดยเริ่มตั้งแต่ 30 วันหลังจากเปิดใช้งานการล้างข้อมูลอัตโนมัติ
- หากคุณปิดการล้างข้อมูลอัตโนมัติ บัญชีที่ไม่ระบุชื่อใดๆ ที่ถูกกำหนดเวลาให้ลบจะยังคงถูกกำหนดเวลาให้ลบต่อไป บัญชีเหล่านี้ไม่นับรวมในการจำกัดการใช้งานหรือโควต้าการเรียกเก็บเงิน
- หากคุณ "อัปเกรด" บัญชีที่ไม่ระบุตัวตนโดยเชื่อมโยงกับวิธีการลงชื่อเข้าใช้ใดๆ บัญชีนั้นจะไม่ถูกลบโดยอัตโนมัติ
หากคุณต้องการดูจำนวนผู้ใช้ที่จะได้รับผลกระทบก่อนที่คุณจะเปิดใช้งานคุณลักษณะนี้ และคุณได้อัปเกรดโปรเจ็กต์ของคุณเป็น Firebase Authentication ด้วย Identity Platform แล้ว คุณสามารถกรองตาม is_anon
ใน Cloud Logging
ขั้นตอนถัดไป
เมื่อผู้ใช้สามารถตรวจสอบสิทธิ์กับ Firebase แล้ว คุณจะควบคุมการเข้าถึงข้อมูลในฐานข้อมูล Firebase ของคุณได้โดยใช้ กฎ Firebase