Omówienie kopii zapasowej danych

Użytkownicy często poświęcają dużo czasu i wysiłku na utworzenie tożsamości, dodanie danych oraz dostosowanie ustawień i preferencji w aplikacji. Zachowanie tych danych i personalizacji, gdy użytkownicy przechodzą na nowe urządzenie lub ponownie instalują aplikację, jest ważnym elementem zapewniającym wygodę korzystania z niej. Na tej stronie znajdziesz informacje o tym, jakie dane należy uwzględnić w kopii zapasowej, oraz o dostępnych opcjach tworzenia kopii zapasowych.

Wybierz dane, których kopię zapasową chcesz utworzyć

dane tożsamości i konta, dane ustawień oraz dane aplikacji na urządzeniu;

Rysunek 1. Pamiętaj, aby przywracać dane tożsamości, dane aplikacji i ustawienia użytkowników, którzy wracają do Twojej aplikacji.

Użytkownicy generują dużo danych podczas korzystania z Twoich aplikacji. Zadbaj o utworzenie kopii zapasowej odpowiednich danych – utworzenie kopii zapasowej tylko niektórych danych może zniechęcić użytkowników, gdy otworzą aplikację na nowym urządzeniu i zauważą, że czegoś brakuje. Ważne dane, które należy uwzględnić w kopii zapasowej użytkowników, to dane tożsamości, dane aplikacji wygenerowane przez użytkownika i dane ustawień, jak opisano poniżej.

Dane dotyczące tożsamości

Możesz pomóc w utrzymaniu zaangażowania obecnych użytkowników, przenosząc ich konta, gdy zaczną korzystać z nowego urządzenia.

  • Szczegółowe informacje o przenoszeniu danych logowania i tokenów autoryzacji znajdziesz w artykule Block Store (w języku angielskim).

  • Aby poznać rozwiązania logowania przez Google, które ułatwiają użytkownikom logowanie się w Twojej aplikacji, zapoznaj się z Google Identity.

Dane aplikacji

Dane aplikacji mogą obejmować treści generowane przez użytkowników, takie jak tekst, obrazy i inne multimedia. Możesz synchronizować dane aplikacji między urządzeniami z Androidem i zapisywać dane, których chcesz używać w normalnym cyklu życia aplikacji. Możesz też przywrócić dane powracającego użytkownika na nowe urządzenie. Więcej informacji znajdziesz w artykule Przenoszenie danych za pomocą adapterów synchronizacji.

Dane ustawień

Pamiętaj też, aby utworzyć kopię zapasową danych ustawień i przywrócić je, aby zachować spersonalizowane preferencje powracającego użytkownika na nowym urządzeniu. Możesz przywracać dane ustawień, nawet jeśli użytkownik nie zaloguje się w aplikacji. Możesz tworzyć kopie zapasowe ustawień, które użytkownik wyraźnie określa w interfejsie aplikacji, a także danych transparentnych, takich jak flaga wskazująca, czy użytkownik widział kreator konfiguracji.

Aby zachować jak najwięcej ustawień użytkownika na nowym urządzeniu, utwórz kopię zapasową tych ustawień:

  • Wszystkie ustawienia zmodyfikowane przez użytkownika, np. podczas korzystania z biblioteki preferencji Jetpack.

  • Określa, czy użytkownik włączył lub wyłączył powiadomienia i dzwonki.

  • Flagi wartości logicznej, które wskazują, czy użytkownik widział ekrany powitalne lub wprowadzające etykietki.

przenoszenie ustawień z jednego urządzenia mobilnego na drugie;

Rysunek 2. Przywracanie ustawień na nowych urządzeniach pomaga zapewnić użytkownikom doskonałe wrażenia.

Unikaj tworzenia kopii zapasowych identyfikatorów URI, ponieważ mogą być niestabilne. W niektórych przypadkach przywrócenie danych na nowe urządzenie mobilne może spowodować powstanie nieprawidłowego identyfikatora URI, który nie wskazuje prawidłowego pliku. Przykładem może być używanie identyfikatorów URI do zapisywania preferencji użytkownika dotyczących dzwonka. Gdy użytkownik ponownie zainstaluje aplikację, identyfikator URI może nie wskazywać dzwonka lub wskazywać inny dzwonek niż zamierzony. Zamiast tworzyć kopię zapasową identyfikatora URI, możesz utworzyć kopię zapasową metadanych ustawienia, takich jak tytuł dzwonka lub jego skrót.

Opcje kopii zapasowej

Android udostępnia 2 sposoby tworzenia kopii zapasowych danych aplikacji w chmurze: automatyczne tworzenie kopii zapasowych aplikacjikopie zapasowe typu klucz-wartość. Automatyczna kopia zapasowa, która jest dostępna na Androidzie w wersji 6.0 i nowszej, chroni dane, przesyłając je na konto Google użytkownika. Automatyczna kopia zapasowa obejmuje pliki w większości katalogów przypisanych do aplikacji przez system. Automatyczna kopia zapasowa może przechowywać do 25 MB danych opartych na plikach na aplikację. Funkcja tworzenia kopii zapasowej par klucz-wartość (wcześniej znana jako interfejs Backup API i usługa tworzenia kopii zapasowej Androida) zachowuje dane ustawień w postaci par klucz-wartość, przesyłając je do usługi tworzenia kopii zapasowej Androida.

Zwykle zalecamy automatyczne tworzenie kopii zapasowych, ponieważ jest ono domyślnie włączone i nie wymaga żadnych działań. Aplikacje kierowane na Androida w wersji 6.0 lub nowszej są automatycznie włączane w przypadku automatycznej kopii zapasowej. Funkcja automatycznego tworzenia kopii zapasowej to podejście oparte na plikach, które umożliwia tworzenie kopii zapasowych danych aplikacji. Automatyczne tworzenie kopii zapasowych jest łatwe do wdrożenia, ale jeśli masz bardziej konkretne potrzeby w zakresie tworzenia kopii zapasowych danych, rozważ użycie funkcji tworzenia kopii zapasowych par klucz-wartość.

W tabeli poniżej opisano niektóre najważniejsze różnice między kopią zapasową klucz-wartość a automatyczną kopią zapasową:

Kategoria Kopia zapasowa kluczy-wartości (Android Backup Service) Kopia zapasowa Androida Auto
Obsługiwane wersje Android 2.2 (poziom 8 interfejsu API) lub nowszy. Androida 6.0 (poziom interfejsu API 23) lub nowszego.
Zaangażowanie Domyślnie wyłączona. Aplikacje mogą włączyć tę funkcję, deklarując agenta kopii zapasowej. Ta opcja jest domyślnie włączona. Aplikacje mogą zrezygnować z tworzenia kopii zapasowych, wyłączając je.
Implementacja Aplikacje muszą implementować BackupAgent. Agent kopii zapasowej określa, które dane mają być zapisywane w kopii zapasowej i jak je przywracać. Domyślnie automatyczna kopia zapasowa obejmuje prawie wszystkie pliki aplikacji. Za pomocą XML możesz uwzględniać i wykluczać pliki. Wewnętrznie automatyczne tworzenie kopii zapasowych korzysta z agenta kopii zapasowych, który jest dołączony do pakietu SDK.
Częstotliwość Aplikacje muszą wysyłać żądanie, gdy są dane gotowe do utworzenia kopii zapasowej. Żądania z wielu aplikacji są łączone w pakiety i wykonywane co kilka godzin. Kopie zapasowe są tworzone automatycznie, mniej więcej raz dziennie.
przenoszenia, Dane kopii zapasowej można przesyłać za pomocą Wi-Fi lub komórkowej transmisji danych. Dane kopii zapasowej są domyślnie przesyłane przez Wi-Fi, ale użytkownik urządzenia może włączyć tworzenie kopii zapasowych za pomocą transmisji mobilnej. Jeśli urządzenie nigdy nie zostanie połączone z siecią Wi-Fi lub użytkownik nie zmieni ustawień kopii zapasowej danych mobilnych, automatyczna kopia zapasowa nigdy nie zostanie utworzona.
Warunki transmisji Określ warunki, które muszą zostać spełnione przez urządzenia, aby można było utworzyć kopię zapasową w  onBackup(). Określ warunki urządzenia wymagane do utworzenia kopii zapasowej w pliku XML, jeśli używasz domyślnego agenta kopii zapasowej.
Aplikacja została zamknięta Aplikacje nie są zamykane podczas tworzenia kopii zapasowej. System zamyka aplikację podczas tworzenia kopii zapasowej.
Miejsce na kopie zapasowe Dane kopii zapasowej są przechowywane w usłudze tworzenia kopii zapasowych na Androidzie i są ograniczone do 5 MB na aplikację. Google traktuje te dane jako informacje osobiste zgodnie z Polityką prywatności Google. Dane kopii zapasowej są przechowywane na Dysku Google użytkownika i ograniczone do 25 MB na aplikację. Google traktuje te dane jako informacje osobiste zgodnie z  Polityką prywatności Google.
Login użytkownika Nie wymaga zalogowania się użytkownika w aplikacji. Użytkownik musi być zalogowany na urządzeniu za pomocą konta Google. Nie wymaga zalogowania się użytkownika w aplikacji. Użytkownik musi być zalogowany na urządzeniu za pomocą konta Google.
Interfejs API Powiązane metody API są oparte na encjach: Powiązane metody interfejsu API są oparte na plikach:
Przywracanie danych Dane są przywracane podczas instalacji aplikacji. W razie potrzeby możesz poprosić o przywrócenie ręczne. Dane są przywracane podczas instalacji aplikacji. Jeśli dostępnych jest kilka zbiorów danych kopii zapasowych, użytkownicy mogą wybrać je z listy.
Dokumentacja Tworzenie kopii zapasowych par klucz-wartość za pomocą usługi Android Backup Service Tworzenie kopii zapasowej danych użytkownika za pomocą automatycznej kopii zapasowej

Więcej informacji o tworzeniu i przywracaniu kopii zapasowych w poszczególnych usługach znajdziesz w artykule Testowanie tworzenia i przywracania kopii zapasowych.