الحق في النسيان (RTBF) لمتاجر البيانات يتيح لك إعلان المفاتيح ومتاجر البيانات التي تحتوي على بيانات المستخدم. عند معالجة Roblox لطلب RTBF للعبتك، يستخدم النظام تلك القوالب لإزالة البيانات المتطابقة تلقائيًا. يمكنك تكوين القوالب بصريًا من خلال مدير متاجر البيانات في مركز المنشئين، أو برمجيًا من خلال واجهة برمجة التطبيقات Open Cloud Configs API.
RTBF تلقائي
لاستخدام معالجة RTBF التلقائية، يجب عليك تعريف قوالب الحذف. هذه القوالب تخبر Roblox عن متاجر البيانات أو المفاتيح التي تنتمي لمستخدم معين. يمكنك أن تمتلك ما يصل إلى 100 قالب لتحديد بيانات المستخدم الخاصة بك.
قوالب الحذف
يعمل RTBF التلقائي من خلال مطابقة الأنماط. تقوم بتعريف قالب لبيانات المستخدم الخاصة بك باستخدام رمز {UserId}. عندما تتلقى Roblox طلبًا للحق في النسيان، يستبدل النظام هذا الرمز بالمعرف الفعلي للطالب ويمسح متاجر البيانات الخاصة بك بحثًا عن المطابقات للحذف.
متطلبات الأهلية
لكي تكون الإدخال مؤهلاً للحذف التلقائي، يجب أن تلبي المعايير التالية:
- نوع التخزين — يجب أن تكون بيانات المستخدم مخزنة في متجر بيانات قياسي أو متجر بيانات مرتب. يتم دعم حذف متجر بيانات كامل لمتاجر البيانات القياسية فقط.
- المعرف — يجب أن يكون معرف المستخدم جزءًا من Name أو Scope لمتجر البيانات أو المفتاح.
- الصيغة — يجب أن يكون المعرف قابلًا للتعريف من خلال نمط سلسلة ثابت (على سبيل المثال، User_{UserId}).
تكوين RTBF التلقائي عبر مدير متاجر البيانات
يوفر مركز المنشئين واجهة مرئية لإدارة قوالب RTBF الخاصة بك دون استخدام سطر الأوامر.
انتقل إلى مركز المنشئين.
حدد اللعبة التي تريد تكوينها.
في قائمة التنقل الموجودة على الجانب الأيسر، انتقل إلى تكوين ⟩ مدير متاجر البيانات.
حدد علامة التبويب حذف RTBF.
انقر على إنشاء قالب.
حدد النوع (متجر بيانات قياسي، مفتاح قياسي، أو مفتاح مرتب).
أدخل الحقول المقابلة مع القالب باستخدام رمز {UserId} (على سبيل المثال، PlayerInventory_{UserId}). هذا الرمز حساس لحالة الأحرف.
تحقق من مخرجات العينة وانقر على إنشاء.

تكوين RTBF التلقائي عبر واجهة برمجة التطبيقات Configs
يمكنك أيضًا إدارة قوالب RTBF برمجيًا باستخدام واجهة برمجة التطبيقات Open Cloud Configs. هذا مفيد للأتمتة أو إدارة القوالب على نطاق واسع.
في لوحة التحكم الخاصة بالمنشئين، قم بإنشاء أو تعديل مفتاح API ليشمل إذني universe:read و universe:write لكل كون تريد أتمتة حذف RTBF فيه. لمزيد من التفاصيل، راجع إدارة مفاتيح API.
يتم تخزين القوالب كتهيئة JSON تُسمى user_data_templates. هناك نوعان رئيسيان:
- قالب المفتاح — يحدد مفاتيح معينة. يحتاج إلى data_store_type (STANDARD أو ORDERED) وdata_store_name وkey_pattern. يُفضل أن يكون scope_pattern اختياريًا.
- قالب متجر البيانات — يحدد متجر بيانات كامل. يحتاج إلى data_store_type (يدعم حاليًا فقط STANDARD) وdata_store_pattern.
بالنسبة لكلا نوعي القالب، يتم استبدال رمز {UserId} بمعرف المستخدم عند معالجة طلب RTBF.
مثال على التهيئة{"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}بعد ذلك، قم بإرسال عبر Open Cloud واجهات برمجة التطبيقات Configs. في الأمثلة التالية، استبدل <API_KEY> و <UNIVERSE_ID> في كل طلب، وأرسل جميع الطلبات إلى مستودع DataStoresConfig.
إنشاء مسودة عبر طلب PUT تعرف تهيئتك. إذا كانت المسودة موجودة بالفعل، سيحل هذا الطلب محلها.
curl --location --request PUT 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft:overwrite' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"entries": {"user_data_templates": [{"key_template": {"data_store_type": "STANDARD","data_store_name": "PlayerInventory","key_pattern": "User_{UserId}","scope_pattern": "Scope_{UserId}"}},{"key_template": {"data_store_type": "ORDERED","data_store_name": "PlayerLeaderboard","key_pattern": "User_{UserId}","scope_pattern": "global"}},{"data_store_template": {"data_store_type": "STANDARD","data_store_pattern": "Player_{UserId}_Save"}}]}}'تحقق من مسودتك عبر طلب GET لاسترجاع ومراجعة المسودة قبل أن تصبح مباشرة.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft' \--header 'x-api-key: <API_KEY>'بعد التحقق، أرسل هذا الطلب POST للنشر. الطريقة الوحيدة للتراجع عن هذا الإجراء هي استعادة إصدار سابق. يتطلب هذا الإجراء أيضاً أن يكون الحساب المرتبط بمفتاح API مؤهلاً لنشر الألعاب.
curl --location --request POST 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/publish' \--header 'x-api-key: <API_KEY>' \--header 'Content-Type: application/json' \--data-raw '{"deploymentStrategy": "Immediate"}'بعد النشر، تأكد من أن التهيئة مباشرة مع هذا الطلب GET.
curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/full' \--header 'x-api-key: <API_KEY>'
أفضل الممارسات
- حساسية الحالة — استخدم رمز {UserId} بالضبط في أنماطك. لا تُقبل المتغيرات مثل {userId}.
- التحقق اليدوي — قارن أنماطك باستخدام Luau المباشرة الخاصة بك باستخدام مدير متاجر البيانات في مركز المنشئين قبل نشر التهيئة.
- النطاقات الافتراضية — إذا كان متجر البيانات يستخدم النطاق الافتراضي، اضبط scope_pattern إلى "global" في قالب المفتاح.
- اختبار تدفق شامل على لعبة اختبار — من أجل التحقق الكامل من قوالبك، ضع في اعتبارك إنشاء لعبة اختبار وحساب وهمي، وامتلائه ببيانات وهمية لمعرف المستخدم الخاص بذلك الحساب، وطلب RTBF على الحساب الوهمي، والتأكد من حذف البيانات بمجرد معالجة الحساب.
- تأكيد عمليات الحذف — بعد الانطلاق على لعبتك المباشرة، عندما يظهر طلب RTBF في رسائل Roblox الخاصة بك، تحقق من أن البيانات المقابلة قد تمت إزالتها في غضون 30 يومًا.