تخزين إعدادات الخصوصية في Firebase

حيث يجعل Firebase من السهل جمع بيانات المستخدمين وتتبُّعها والتفضيلات حول جمع البيانات ومعالجتها:

  1. ضبط إعدادات الخصوصية
  2. عليك تحديث التطبيق لاستخدام إعدادات الخصوصية.
  3. تتبُّع التغييرات في إعدادات الخصوصية

ضبط إعدادات الخصوصية

لجمع إعدادات الخصوصية وتخزينها، ستحتاج إلى أمرَين: واجهة المستخدم التي تطلب من المستخدمين بشأن إعدادات الخصوصية وطريقة تخزين تلك الإعدادات.

إنشاء واجهة مستخدم لإعدادات الخصوصية

لك مطلق الحرية في تنسيق واجهة المستخدم لإعدادات الخصوصية. إليك بعض الأشياء التي يجب التفكير فيها أثناء إنشاء واجهة المستخدم:

فهم البيانات التي تجمعها

خصِّص بعض الوقت لفهرسة بيانات المستخدمين التي يخزِّنها تطبيقك أو يعالجها. كن يجب التأكّد من تضمين البيانات التي يجمعها تطبيقك مباشرةً والبيانات التي يتم جمعها والخدمات التي يستخدمها تطبيقك. بالنسبة إلى خدمات Firebase، قد يكون من المفيد التحقق من أمثلة على بيانات المستخدمين النهائيين التي يعالجها Firebase.

تصميم واجهة المستخدم الخاصة بك لمساعدة المستخدمين

حاول وصف أنواع البيانات التي تجمعها بعبارات موجزة وسهلة الاستخدام، بما في ذلك كيفية استفادة تطبيقك من البيانات التي يتم جمعها وطريقة استخدامها.

إذا كانت هناك بيانات معينة يحتاج تطبيقك إلى عملها بشكل صحيح، يمكنك تجنب من خلال إيقاف زر الإرسال في واجهة المستخدم إلى أن يختار المستخدم الخيارات المطلوبة لكي يعمل تطبيقك. فكر في تدفق تطبيقك للمستخدمين الذين يفعّلون بعض أنواع عمليات جمع البيانات دون غيرها.

تم إيقاف الزر "إرسال" إلى أن يوافق المستخدم على سياسة الخصوصية. تم إيقاف زر الإرسال إلى أن يوافق المستخدم على سياسة الخصوصية

تخزين إعدادات الخصوصية

مكان وطريقة تخزين بيانات المستخدمين إعدادات الخصوصية متروكة لك أيضًا. يمكنك استخدام أي معرّف موثوق به يمكنه ربط المستخدم بالاختيارات التي إجرائها في واجهة مستخدم إعدادات الخصوصية.

تتمثل إحدى الطرق الشائعة في استخدام المعرف كمفتاح لتخزين التفضيلات في مخزن البيانات الذي تستخدمه في التطبيق. على سبيل المثال، يمكنك استخدام مصادقة Firebase. أرقام التعريف الفريدة كمفتاح في مثيل قاعدة البيانات في الوقت الفعلي أو استخدِم رقم تعريف مثيل Firebase من أجل تنظيم مجموعات من مستندات Firestore.

مثال: تخزين الإعدادات المفضّلة للمستخدم باستخدام المعرفات الفريدة للمصادقة وقاعدة البيانات في الوقت الفعلي

فكِّر في تطبيق وسائل تواصل اجتماعي يستخدم المعرّفات الفريدة للمصادقة في 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"
    }
  }
}

عليك تحديث التطبيق لاستخدام إعدادات الخصوصية.

بمجرد أن تحصل على إعدادات الخصوصية المتوفرة في تطبيقك، يمكنك تفعيل ميزات محددة للمستخدمين الذين فعّلوا إعدادات معيّنة. التحقق من تطبيقك الإعدادات قبل تحميل الميزات التي تجمع البيانات أو تستخدم البيانات المجمّعة. ضِمن في حالة الميزة، فكر في أفضل تجربة ستكون دون ذلك الجديدة. على سبيل المثال، إذا كان التطبيق عبارة عن نظام أساسي للتدوين القصير، وكان المستخدم المستخدمين من تخزين مشاركاتهم، فإن أفضل تجربة للمستخدم هي إزالة خيار إنشاء مشاركة.

تتبُّع التغييرات في إعدادات الخصوصية

بعد أن يمنح المستخدم إذنًا لجمع البيانات، يمكنه تغيير رأيه. إضافة زر أو رابط إلى ملفك الشخصي أو شاشة الإعدادات حيث يمكنهم تعديلها إعدادات خصوصيتها.

رحلة الطيران "إعدادات الخصوصية" رابط يؤدي إلى ظهور مربّع حوار الإعدادات للسماح للمستخدمين بتعديل إعداداتهم

يمكنك أيضًا تحديد الطريقة التي يجب أن يتعامل بها تطبيقك عندما يقرّر المستخدم إيقاف التطبيق. جمع البيانات. على سبيل المثال، يمكنك أن توفر للمستخدم خيار حذف جمعته أو القيام بذلك تلقائيًا. ننصحك باستخدام دوال السحابة لمنصة Firebase لحذف البيانات، استنادًا إلى كمية البيانات التي تحتاج إلى حذف البيانات، فقد تستغرق العملية بضع دقائق. اطّلِع على دليل إزالة بيانات المستخدمين وتصديرها لمعرفة المزيد حول هذا الموضوع.

تخزين سجل تدقيق لحسابات المستخدمين إعدادات الخصوصية بشكل منفصل

قد يرغب بعض مطوري التطبيقات في الاحتفاظ بسجل التغييرات التي تطرأ على إعدادات الخصوصية. يمكن إجراء ذلك باستخدام قاعدة بيانات الوقت الفعلي أو Firestore من خلال إنشاء قسم جديد من قاعدة البيانات أن يكون سجل تدقيق لتغييرات الخصوصية، منظمًا ضمن المعرّف الفريد للمستخدم، بما في ذلك إعدادات الخصوصية والطابع الزمني الجديد عندما يعدِّل المستخدم إعدادات الخصوصية، اكتب اثنتين، أحدهما على وإعدادات الخصوصية، وواحد إلى سجل التدقيق. من المهم أن تجعل هذا قسم منفصل حتى يمكنك إنشاء قواعد أمان أكثر تقييدًا. بالنسبة بالنسبة إلى مستخدمي Firestore، يجب فرض أن المستندات في سجل التدقيق غير قابلة للتعديل باستخدام القواعد الدقيقة:

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

باستخدام هذه الخطوات الأربع، فإن فهم بياناتك وجمع التفضيلات وتخزين والتفضيلات، وتتبع التغييرات، يصبح من السهل التحقق من أن تطبيقك يحترم اهتمامات مستخدميك الخصوصية.