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 Twojej aplikacji. Zachowanie tych danych i personalizacji, gdy użytkownicy przechodzą na nowe urządzenie lub ponownie instalują Twoją aplikację, jest ważnym elementem zapewnienia im wygody. Na tej stronie opisujemy, jakie dane należy uwzględnić w kopii zapasowej, oraz dostępne opcje tworzenia kopii zapasowej.
Wybieranie danych do uwzględnienia w kopii zapasowej
Rysunek 1. Pamiętaj, aby przywrócić dane tożsamości, dane aplikacji i dane ustawień dane użytkowników, którzy wracają do Twojej aplikacji.
Podczas korzystania z Twoich aplikacji użytkownicy generują wiele danych. Zadbaj o utworzenie kopii zapasowej odpowiednich danych. Jeśli uwzględnisz w niej tylko część danych, użytkownicy mogą być sfrustrowani, gdy otworzą aplikację na nowym urządzeniu i zauważą, że czegoś brakuje. Ważne dane, które należy uwzględnić w kopii zapasowej, to dane tożsamości użytkowników, dane aplikacji generowane przez użytkowników oraz dane ustawień. Opisujemy je w kolejnych sekcjach.
Dane 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.
Przywracanie danych logowania: zalecany sposób automatycznego przywracania stanu zalogowania i kont użytkowników podczas konfigurowania nowego urządzenia, co eliminuje konieczność ręcznego logowania.
Aby dowiedzieć się więcej o rozwiązaniach do logowania przez Google, które ułatwiają użytkownikom logowanie się w Twojej aplikacji, zapoznaj się z informacjami o Google Identity.
Dane aplikacji
Dane aplikacji mogą obejmować treści 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ć podczas normalnego cyklu życia aplikacji. Możesz też przywrócić dane powracającego użytkownika na nowe urządzenie. Aby dowiedzieć się, jak to zrobić, przeczytaj artykuł Przesyłanie danych za pomocą adapterów synchronizacji.
Dane ustawień
Pamiętaj, aby utworzyć kopię zapasową danych ustawień i przywrócić je, aby zachować spersonalizowane preferencje powracającego użytkownika na nowym urządzeniu. Możesz przywrócić dane ustawień nawet wtedy, gdy użytkownik nie zaloguje się w Twojej aplikacji. Możesz utworzyć kopię zapasową ustawień, które użytkownik wyraźnie ustawi w interfejsie aplikacji, a także danych transparentnych, takich jak flaga wskazująca, czy użytkownik widział kreator konfiguracji.
Aby jak najbardziej zachować dotychczasowe wrażenia użytkownika na nowym urządzeniu, pamiętaj o utworzeniu kopii zapasowej tych ustawień użytkownika:
Wszystkie ustawienia zmodyfikowane przez użytkownika, np. podczas korzystania z biblioteki Jetpack Preference.
Informacje o tym, 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 dymki z podpowiedziami.
Rysunek 2. Przywracanie ustawień na nowych urządzeniach pomaga zapewnić użytkownikom wygodę.
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ć utworzenie nieprawidłowego identyfikatora URI, który nie wskazuje prawidłowego pliku. Przykładem może być użycie identyfikatorów URI do zapisania preferencji dzwonka użytkownika. Gdy użytkownik ponownie zainstaluje aplikację, identyfikator URI może nie wskazywać żadnego 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 aplikacjom te sposoby tworzenia kopii zapasowych danych w chmurze:
- Automatyczna kopia zapasowa aplikacji (zalecane)
- Tworzenie kopii zapasowej par klucz-wartość
- Interfejs API dużych kopii zapasowych (po zatwierdzeniu dla deweloperów aplikacji na dużą skalę)
Automatyczna kopia zapasowa, która jest dostępna w Androidzie w wersji 6.0 i nowszej, zachowuje dane, przesyłając je na konto Dysk Google użytkownika. Automatyczna kopia zapasowa obejmuje pliki w większości katalogów przypisanych do Twojej 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 Android Backup Service) zachowuje dane ustawień w postaci par klucz-wartość, przesyłając je do usługi Android Backup Service.
Zalecamy korzystanie z automatycznej kopii zapasowej, ponieważ jest ona domyślnie włączona i nie wymaga żadnych działań w celu implementacji. Automatyczne tworzenie kopii zapasowej jest automatycznie włączane w przypadku aplikacji, które są kierowane na Androida w wersji 6.0 lub nowszej. Automatyczna kopia zapasowa to metoda tworzenia kopii zapasowej danych aplikacji oparta na plikach. Automatyczna kopia zapasowa jest łatwa do wdrożenia, ale jeśli masz bardziej szczegółowe potrzeby w zakresie tworzenia kopii zapasowej danych, rozważ użycie funkcji tworzenia kopii zapasowej par klucz-wartość.
W tej tabeli opisano najważniejsze różnice między tworzeniem kopii zapasowej par klucz-wartość a Automatyczną kopią zapasową:
| Kategoria | Tworzenie kopii zapasowej par klucz-wartość (usługa Android Backup Service) | Automatyczne tworzenie kopii zapasowej Androida |
|---|---|---|
| Obsługiwane wersje | Android 2.2 (poziom interfejsu API 8) lub nowszy. | Android 6.0 (poziom interfejsu API 23) lub nowszy. |
| Udział | Domyślnie wyłączone. Aplikacje mogą się na to zdecydować, deklarując agenta kopii zapasowej. | Domyślnie włączone. Aplikacje mogą zrezygnować, wyłączając tworzenie kopii zapasowej. |
| Implementacja |
Aplikacje muszą zaimplementować BackupAgent. Agent kopii zapasowej określa, jakie dane mają być uwzględnione w kopii zapasowej i jak przywrócić dane.
|
Domyślnie automatyczna kopia zapasowa obejmuje prawie wszystkie pliki aplikacji. Możesz użyć kodu XML, aby uwzględnić i wykluczyć pliki. Wewnętrznie Automatyczna kopia zapasowa opiera się na agencie kopii zapasowej, który jest dołączony do pakietu SDK. |
| Częstotliwość | Aplikacje muszą wysłać żądanie, gdy są dane gotowe do uwzględnienia w kopii zapasowej. Żądania z wielu aplikacji są grupowane 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 mobilnej transmisji danych. | Dane kopii zapasowej są domyślnie przesyłane przez Wi-Fi, ale użytkownik urządzenia może włączyć tworzenie kopii zapasowej za pomocą mobilnej transmisji danych. Jeśli urządzenie nigdy nie jest połączone z siecią Wi-Fi lub użytkownik nie zmieni ustawień tworzenia kopii zapasowej za pomocą mobilnej transmisji danych, automatyczna kopia zapasowa nigdy nie nastąpi. |
| Warunki przenoszenia |
Określ
warunki urządzenia wymagane do utworzenia kopii zapasowej w
onBackup().
|
Określ warunki urządzenia wymagane do utworzenia kopii zapasowej w pliku XML, jeśli używasz domyślnego agenta kopii zapasowej. |
| Wyłączanie aplikacji | Aplikacje nie są wyłączane podczas tworzenia kopii zapasowej. | System zamyka aplikację podczas tworzenia kopii zapasowej. |
| Miejsce na kopie zapasowe | Dane kopii zapasowej są przechowywane w usłudze Android Backup Service i są ograniczone do 5 MB na aplikację. Google traktuje te dane jako informacje osobiste zgodnie z Polityką prywatności Google Privacy Policy. | Dane kopii zapasowej są przechowywane na Dysku Google użytkownika i są 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 Twojej aplikacji. Użytkownik musi być zalogowany na urządzeniu za pomocą konta Google. | Nie wymaga zalogowania się użytkownika w Twojej aplikacji. Użytkownik musi być zalogowany na urządzeniu za pomocą konta Google. |
| Interfejs API | Powiązane metody interfejsu API są oparte na encjach: | Powiązane metody interfejsu API są oparte na plikach: |
| Przywracanie danych | Dane są przywracane podczas instalowania aplikacji. W razie potrzeby możesz poprosić o ręczne przywrócenie danych. | Dane są przywracane podczas instalowania aplikacji. Jeśli dostępnych jest kilka zbiorów danych kopii zapasowej, użytkownicy mogą wybrać z listy. |
| Dokumentacja | Tworzenie kopii zapasowej 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 tym, jak działa tworzenie i przywracanie kopii zapasowej w przypadku każdej usługi, znajdziesz w artykule Testowanie tworzenia i przywracania kopii zapasowej.