Prawo do bycia zapomnianym (RTBF) dla magazynów danych pozwala ci zadeklarować, które klucze i magazyny danych przechowują dane użytkownika. Gdy Roblox przetwarza wniosek RTBF dla twojej gry, system używa tych szablonów do automatycznego usunięcia pasujących danych. Możesz wizualnie skonfigurować szablony za pomocą Menedżera magazynów danych w Hubie Twórcy lub programowo za pomocą interfejsu API Open Cloud Configs API.
Automatyczne RTBF
Aby skorzystać z automatycznego przetwarzania RTBF, należy zdefiniować szablony usuwania. Te szablony informują Roblox, które magazyny danych lub klucze należą do konkretnego użytkownika. Możesz mieć do 100 szablonów do identyfikacji danych użytkownika.
Szablony usuwania
Automatyczne RTBF działa poprzez dopasowywanie wzorców. Definiujesz szablon dla danych użytkownika, używając tokena {UserId}. Gdy Roblox otrzyma wniosek o prawo do bycia zapomnianym, system zastępuje ten token rzeczywistym ID wnioskodawcy i przeszukuje twoje magazyny danych w poszukiwaniu dopasowań do usunięcia.
Wymagania kwalifikacyjne
Aby wpis mógł być kwalifikowany do automatycznego usuwania, musi spełniać następujące kryteria:
- Typ przechowywania — Dane użytkownika powinny być przechowywane w standardowym magazynie danych lub uporządkowanym magazynie danych. Usunięcie całego magazynu danych jest obsługiwane tylko dla standardowych magazynów danych.
- Identyfikator — ID użytkownika musi być częścią Nazwa lub Zakresu magazynu danych lub klucza.
- Format — ID musi być identyfikowalne za pomocą statycznego wzorca ciągu (na przykład User_{UserId}).
Skonfiguruj automatyczne RTBF za pomocą Menedżera magazynów danych
Hub Twórcy oferuje wizualny interfejs do zarządzania szablonami RTBF bez użycia wiersza poleceń.
Przejdź do Hubu Twórcy.
Wybierz grę, którą chcesz skonfigurować.
W lewym menu nawigacyjnym przejdź do Konfiguruj ⟩ Menedżer magazynów danych.
Wybierz zakładkę Usuwanie RTBF.
Kliknij Utwórz szablon.
Wybierz Typ (Standardowy magazyn danych, Standardowy klucz lub Uporządkowany klucz).
Wprowadź odpowiednie pola ze swoim szablonem, używając tokena {UserId} (na przykład PlayerInventory_{UserId}). Ten token jest wrażliwy na wielkość liter.
Sprawdź przykładowy wynik i kliknij Utwórz.

Skonfiguruj automatyczne RTBF za pomocą interfejsu API Configs
Możesz również zarządzać szablonami RTBF programowo, korzystając z interfejsu API Open Cloud Configs. To jest przydatne do automatyzacji lub zarządzania szablonami na dużą skalę.
W Panelu twórcy stwórz lub edytuj klucz API, aby uwzględnić uprawnienia universe:read i universe:write dla każdego uniwersum, w którym chcesz zautomatyzować usuwanie RTBF. Aby uzyskać szczegóły, zobacz Zarządzaj kluczami API.
Szablony są przechowywane jako konfiguracja JSON o nazwie user_data_templates. Istnieją dwa główne typy:
- Szablon klucza — Identyfikuje konkretne klucze. Wymaga data_store_type (STANDARD lub ORDERED), data_store_name i key_pattern. scope_pattern jest opcjonalny, ale zalecany.
- Szablon magazynu danych — Identyfikuje cały magazyn danych. Wymaga data_store_type (obecnie obsługuje tylko STANDARD) oraz data_store_pattern.
W obu typach szablonów token {UserId} jest zastępowany ID użytkownika, gdy przetwarzany jest wniosek RTBF.
Przykładowa konfiguracja{"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"}}]}Następnie wyślij zapytanie za pośrednictwem Open Cloud Configs API. W poniższych przykładach zamień <API_KEY> i <UNIVERSE_ID> w każdym żądaniu oraz wyślij wszystkie żądania do repozytorium DataStoresConfig.
Utwórz wersję roboczą za pomocą żądania PUT, które definiuje twoją konfigurację. Jeśli wersja robocza już istnieje, to żądanie ją zaktualizuje.
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"}}]}}'Sprawdź swoją wersję roboczą za pomocą żądania GET, aby pobrać i przeglądnąć wersję roboczą przed jej opublikowaniem.
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>'Po weryfikacji, wyślij to żądanie POST, aby opublikować. Jedynym sposobem na cofnięcie tej akcji jest przywrócenie wcześniejszej wersji. Ta akcja wymaga również, aby konto powiązane z kluczem API było kwalifikowane do publikacji gier.
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"}'Po opublikowaniu, potwierdź, że konfiguracja jest na żywo, za pomocą tego żądania 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>'
Najlepsze praktyki
- Wrażliwość na wielkość liter — Używaj dokładnego tokena {UserId} w swoich wzorcach. Warianty takie jak {userId} nie są akceptowane.
- Ręczna weryfikacja — Porównaj swoje wzorce z rzeczywistym użyciem Luau za pomocą Menedżera magazynów danych w Hubie Twórcy przed opublikowaniem konfiguracji.
- Domyślne zakresy — Jeśli magazyn danych korzysta z domyślnego zakresu, ustaw scope_pattern na "global" w szablonie klucza.
- Testuj cały proces w grze testowej — Aby w pełni zweryfikować swoje szablony, rozważ utworzenie gry testowej i konta próbnego, zaludniając je danymi próbnymi dla ID użytkownika tego konta, złożenie wniosku o RTBF na koncie próbnym i upewnienie się, że dane są usuwane, gdy konto zostanie przetworzone.
- Potwierdź usunięcia — Po wdrożeniu w swojej rzeczywistej grze, gdy pojawi się wniosek RTBF w wiadomościach Roblox, sprawdź, czy odpowiadające mu dane są usuwane w ciągu 30 dni.