การจัดเก็บการตั้งค่าความเป็นส่วนตัวด้วย Firebase

Firebase ช่วยให้การรวบรวมและติดตามผู้ใช้ทำได้ง่ายขึ้น ค่ากำหนดเกี่ยวกับ การเก็บรวบรวมและประมวลผลข้อมูล:

  1. ตั้งค่าความเป็นส่วนตัว
  2. อัปเดตแอปเพื่อใช้การตั้งค่าความเป็นส่วนตัว
  3. ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

ตั้งค่าความเป็นส่วนตัว

คุณต้องมี 2 สิ่งต่อไปนี้เพื่อรวบรวมและจัดเก็บการตั้งค่าความเป็นส่วนตัว คือ UI ที่จะแสดงข้อความแจ้งผู้ใช้ การตั้งค่าความเป็นส่วนตัว และวิธีจัดเก็บการตั้งค่าเหล่านั้น

การสร้าง UI การตั้งค่าความเป็นส่วนตัว

รูปแบบ UI การตั้งค่าความเป็นส่วนตัวขึ้นอยู่กับคุณ ต่อไปนี้คือสิ่งที่คุณควรคำนึงถึงในขณะที่สร้าง UI

ทำความเข้าใจข้อมูลที่คุณรวบรวม

โปรดใช้เวลาสักครู่เพื่อจัดทำแคตตาล็อกข้อมูลผู้ใช้ที่แอปของคุณจัดเก็บหรือประมวลผล เป็น อย่าลืมรวมข้อมูลที่แอปของคุณรวบรวมโดยตรงและข้อมูลที่แอปรวบรวมไว้ บริการที่แอปของคุณใช้ สำหรับบริการ Firebase การตรวจสอบ ตัวอย่างข้อมูลผู้ใช้ปลายทางที่ประมวลผลโดย Firebase

ออกแบบ UI เพื่อช่วยเหลือผู้ใช้

พยายามอธิบายประเภทข้อมูลที่คุณรวบรวมด้วยคำที่กระชับและใช้ง่าย รวมถึงวิธีที่ข้อมูลที่เก็บรวบรวมนั้นจะช่วยหรือการนำแอปของคุณไปใช้

หากมีข้อมูลบางอย่างที่แอปของคุณต้องใช้เพื่อให้ทำงานได้อย่างถูกต้อง คุณหลีกเลี่ยงได้ ด้วยการปิดใช้งานปุ่มส่งบน UI ของคุณจนกว่าผู้ใช้จะเลือก ที่จำเป็นเพื่อให้แอปทำงานได้ นึกถึงขั้นตอนการดำเนินการของแอป สำหรับผู้ใช้ที่เปิดใช้การรวบรวมข้อมูลบางประเภทเท่านั้น

ปุ่มส่งถูกปิดใช้จนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว ปุ่มส่งจะถูกปิดใช้จนกว่าผู้ใช้จะยอมรับนโยบายความเป็นส่วนตัว

การจัดเก็บการตั้งค่าความเป็นส่วนตัว

ตำแหน่งและวิธีจัดเก็บข้อมูลของผู้ใช้ การตั้งค่าความเป็นส่วนตัวก็ขึ้นอยู่กับคุณเช่นกัน คุณสามารถ ใช้ตัวระบุที่เชื่อถือได้ซึ่งสามารถเชื่อมโยงผู้ใช้กับตัวเลือก ใน UI การตั้งค่าความเป็นส่วนตัว

วิธีหนึ่งที่ใช้กันโดยทั่วไปคือการใช้ตัวระบุเป็นคีย์ในการจัดเก็บค่ากำหนด พื้นที่เก็บข้อมูลที่คุณใช้ในแอป เช่น ใช้ Firebase Auth UID เป็นคีย์ในอินสแตนซ์ Realtime Database หรือใช้รหัสอินสแตนซ์ Firebase เพื่อ จัดระเบียบคอลเล็กชันของเอกสาร Firestore

ตัวอย่าง: การจัดเก็บค่ากำหนดของผู้ใช้ด้วย Auth UID และ Realtime Database

ลองพิจารณาเป็นแอปโซเชียลมีเดียที่ใช้ UID การตรวจสอบสิทธิ์ Firebase และ Firebase เรียลไทม์ ฐานข้อมูลสำหรับจัดเก็บค่ากำหนดของผู้ใช้

เพื่อให้มั่นใจได้ว่าผู้ใช้ ข้อมูลมีความปลอดภัยและเป็นส่วนตัว แอปจะบันทึก ลงในฐานข้อมูลอีกส่วนหนึ่งที่มีกฎความปลอดภัยที่จำกัด ซึ่งอนุญาตให้ผู้ใช้นั้นอ่านหรือเขียนเท่านั้น แอปยังตรวจสอบด้วยว่า เป็นค่าบูลีนเท่านั้นและไม่ยอมรับค่าที่ไม่คาดคิด

"privacy": {
  "$uid": {
    ".write": "auth.uid === $uid",
    ".read": "auth.uid === $uid",
    "data_processing": {
      ".validate": "newData.isBoolean()"
    },
    "content": {
      ".validate": "newData.isBoolean()"
    },
    "social": {
      ".validate": "newData.isBoolean()"
    },
    "$other": {
      ".validate": "false"
    }
  }
}

อัปเดตแอปเพื่อใช้การตั้งค่าความเป็นส่วนตัว

เมื่อคุณมีผู้ใช้ การตั้งค่าความเป็นส่วนตัวที่มีอยู่ในแอป ฟีเจอร์ที่เจาะจงสำหรับผู้ใช้ที่เปิดใช้การตั้งค่าเฉพาะ ตรวจสอบแอป การตั้งค่าก่อนที่จะโหลดฟีเจอร์ที่รวบรวมข้อมูลหรือใช้ข้อมูลที่รวบรวม ใน หากฟีเจอร์หนึ่งเป็นฟีเจอร์ ให้พิจารณาว่าประสบการณ์ที่ดีที่สุดจะเป็นอย่างไรหากไม่มีฟีเจอร์นั้น เช่น หากแอปคือแพลตฟอร์มไมโครบล็อกและผู้ใช้ ปิดไม่ให้แอปเก็บโพสต์ของตนไว้ ประสบการณ์ของผู้ใช้ที่ดีที่สุดอาจเป็นดังนี้ นำตัวเลือกการสร้างโพสต์ออก

ติดตามการเปลี่ยนแปลงในการตั้งค่าความเป็นส่วนตัว

หลังจากที่ผู้ใช้ให้สิทธิ์ในการรวบรวมข้อมูลแล้ว ผู้ใช้อาจเปลี่ยนใจได้ เพิ่มปุ่มหรือลิงก์ไปยังโปรไฟล์หรือหน้าจอการตั้งค่าซึ่งจะอัปเดตได้ การตั้งค่าความเป็นส่วนตัวของตน

ยิ่ง "การตั้งค่าความเป็นส่วนตัว" ลิงก์แสดงกล่องโต้ตอบการตั้งค่าเพื่อให้ผู้ใช้อัปเดตการตั้งค่า

คุณยังเลือกได้ว่าจะให้แอปจัดการอย่างไรเมื่อผู้ใช้ตัดสินใจปิดใช้ การเก็บรวบรวมข้อมูล ตัวอย่างเช่น คุณสามารถเสนอตัวเลือกให้ผู้ใช้ลบ ข้อมูลที่เก็บรวบรวมไว้ หรือทำโดยอัตโนมัติ ลองใช้ Cloud Functions สำหรับ Firebase เพื่อลบข้อมูลดังกล่าว ทั้งนี้ขึ้นอยู่กับปริมาณข้อมูลที่จำเป็นต้องใช้ อาจใช้เวลาสักครู่ การดำเนินการนี้อาจใช้เวลาสักครู่ ดูคู่มือสำหรับ การนำออกและการส่งออกข้อมูลผู้ใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

จัดเก็บบันทึกการตรวจสอบของผู้ใช้ การตั้งค่าความเป็นส่วนตัวแยกต่างหาก

นักพัฒนาแอปบางรายอาจต้องการเก็บบันทึกการเปลี่ยนแปลงการตั้งค่าความเป็นส่วนตัว ซึ่งทำได้โดยใช้ Realtime Database หรือ Firestore โดยการสร้างส่วนใหม่ ของฐานข้อมูลเป็นบันทึกการตรวจสอบการเปลี่ยนแปลงด้านความเป็นส่วนตัว โดยมีโครงสร้างภายใต้ ตัวระบุที่ไม่ซ้ำกันของผู้ใช้ รวมถึงการตั้งค่าความเป็นส่วนตัวและการประทับเวลาใหม่ เมื่อผู้ใช้อัปเดตการตั้งค่าความเป็นส่วนตัว ให้เขียนสองไฟล์ เขียนหนึ่งไปที่ การตั้งค่าความเป็นส่วนตัว และอีกรายการหนึ่งไว้ในบันทึกการตรวจสอบ และเป็นสิ่งสำคัญที่จะทำให้ แยกต่างหากเพื่อให้คุณสร้างกฎความปลอดภัยที่เข้มงวดมากขึ้นได้ สำหรับ ผู้ใช้ Firestore บังคับใช้ว่าเอกสารในบันทึกการตรวจสอบจะไม่สามารถแก้ไขได้โดยใช้ กฎแบบละเอียด:

match /audit_log/{uid} {
   allow create: if uid = request.auth.uid;
   allow update: if false;
   allow delete: if false;
 }

ด้วย 4 ขั้นตอนนี้ การทำความเข้าใจข้อมูล การรวบรวมการตั้งค่า การจัดเก็บ ของค่ากำหนด และการติดตาม เปลี่ยนแปลงได้ง่ายๆ เพื่อให้มั่นใจว่าแอปของคุณ เคารพผู้ใช้ ความเป็นส่วนตัว