Jak działają aktualizacje aplikacji

W tym przewodniku wyjaśniamy, jak platforma Androida i Google Play obsługują aktualizacje aplikacji, oraz omawiamy różne opcje dla deweloperów publikujących swoje aplikacje w wielu sklepach z aplikacjami.

Jak Android obsługuje aktualizacje aplikacji

Każda aplikacja na Androida ma unikalny identyfikator aplikacji, który wygląda jak nazwa pakietu Java lub Kotlin, np. com.example.myapp. Ten identyfikator jednoznacznie identyfikuje każdą aplikację na urządzeniu. Na urządzeniach z Androidem może być zainstalowana tylko jedna aplikacja z podanym identyfikatorem.

Aby aktualizacja została zaakceptowana przez platformę Androida, muszą być spełnione te warunki:

  • Identyfikator aplikacji po aktualizacji musi być taki sam jak identyfikator zainstalowanej aplikacji.
  • Certyfikat podpisywania aktualizacji musi być taki sam jak certyfikat podpisywania zainstalowanej aplikacji lub musi zawierać ważny potwierdzenie rotacji.
  • Kod wersji aktualizacji musi być wyższy lub równy kodowi wersji zainstalowanej aplikacji.
  • W niektórych przypadkach może być konieczne zaakceptowanie aktualizacji.

Pamiętaj, że nie ma wbudowanej blokady blokującej aktualizowanie aplikacji przez różnych instalatorów, gdy aktualizacje mają ten sam certyfikat podpisywania i ten sam lub wyższy kod wersji.

Aby zainstalować aplikację, która nie spełnia powyższych warunków, użytkownik musi najpierw odinstalować aktualnie zainstalowaną wersję, co spowoduje usunięcie wszystkich danych aplikacji z urządzenia.

Jak Google Play aktualizuje aplikacje

Podejście Google Play do aktualizowania aplikacji opiera się na tych zasadach:

  • Udostępniaj użytkownikom aktualne informacje. Zalecamy aktualizowanie aplikacji, aby chronić użytkowników przed problemami w zabezpieczeniach i korzystać z najnowszych ulepszeń funkcji.
  • Szanuj wybór użytkownika. Google Play aktualizuje aplikacje powiązane z kontami użytkowników zgodnie z wybranymi przez nich ustawieniami aktualizacji (np. zezwala lub nie zezwala na użycie danych z pomiarem użycia danych).
  • Szanuj wybór dewelopera. Google Play używa opcji konfiguracyjnych deweloperów podczas określania aktualizacji aplikacji.
  • Unikaj zbędnych zasobów. Oszczędzaj baterię, optymalizując czas pobierania aktualizacji oraz minimalizując użycie danych, stosując takie metody jak kompresja i instalowanie poprawek.

Google Play aktualizuje aplikację zainstalowaną na urządzeniu, jeśli spełnia ona te warunki:

  • Aplikacja została opublikowana w Google Play z tym samym identyfikatorem.
  • Certyfikat podpisywania opublikowanej aplikacji jest taki sam jak certyfikat podpisywania aktualnie zainstalowanej wersji lub zawiera ważny potwierdzenie rotacji.
  • Aplikacja jest częścią biblioteki użytkownika lub została wstępnie wczytana przez produkt OEM.
  • Aplikacja jest dostępna dla tego użytkownika i tego urządzenia zgodnie z opcjami kierowania określonymi przez dewelopera.
  • Zainstalowana aplikacja jest nieaktualna w porównaniu z wersją dostępną w Google Play.

Jeśli zostaną spełnione te warunki, Google Play może aktualizować aplikację. W podsekcjach poniżej znajdziesz szczegółowe informacje o niektórych z wymienionych warunków.

Pamiętaj, że w pewnych sytuacjach Google Play pobiera zawartość aplikacji lub przeprowadza w imieniu deweloperów konserwację plików binarnych aplikacji bez zmiany kodu wersji Androida, na przykład podczas częściowego pobierania lub pobierania podziałów na żądanie.

Opublikowano w Google Play

Google Play używa identyfikatora aplikacji do jednoznacznego identyfikowania aplikacji opublikowanych w Google Play. Ten warunek jest spełniony, jeśli identyfikator zainstalowanej aplikacji jest zgodny z identyfikatorem aplikacji opublikowanej w Google Play.

Część biblioteki użytkownika

Ten warunek jest spełniony, jeśli spełniony jest jeden z tych warunków:

  • Każde aktywne konto Google na urządzeniu pobrało wcześniej aplikację, klikając przycisk instalacji lub zakupu w Google Play.
  • OEM załadował aplikację jako część obrazu systemu.

Użytkownicy mogą też ręcznie usuwać aplikacje ze swoich bibliotek.

Nieaktualny

Google Play określa, czy aplikacja zainstalowana na urządzeniu jest nieaktualna, sprawdzając kod wersji. Jeśli wersja dostępna do pobrania z Google Play ma wyższy kod wersji niż zainstalowana, Google Play uznaje ją za nieaktualną.

Aplikacje w wielu sklepach z aplikacjami

Gdy opublikujesz aplikację w kilku sklepach z aplikacjami, możesz kontrolować aktualizacje w różnych sklepach na kilka sposobów. W sekcjach poniżej opisujemy te opcje oraz ich potencjalne korzyści i wady.

Zablokuj możliwość aktualizowania produktów w różnych sklepach

Możesz uniemożliwić poszczególnym sklepom aktualizowanie Twojej aplikacji w różnych sklepach. Możesz to zrobić, jeśli treść aplikacji różni się w zależności od sklepu. Możesz to osiągnąć, publikując aplikację z 2 różnymi identyfikatorami lub publikując aplikację z tym samym identyfikatorem i 2 różnymi kluczami podpisywania.

Możliwe, że zechcesz zminimalizować ponowne używanie klucza podpisywania, aby zmniejszyć ryzyko jego przejęcia, dlatego w każdym sklepie z aplikacjami używaj innego klucza podpisywania aplikacji. Mogłoby to uniemożliwić aktualizację w różnych sklepach.

Niezależnie od wybranej metody Android będzie traktować aplikacje bez pasującego identyfikatora i klucza podpisywania jako niezgodne. Użytkownik, który chce przejść z jednego sklepu do innego, będzie musiał usunąć zainstalowaną aplikację (co spowoduje usunięcie wszystkich powiązanych z nią danych) i zainstalować ją ponownie z innego sklepu.

Zezwalaj na aktualizacje w różnych sklepach

Możesz zezwolić każdemu sklepowi z aplikacjami na aktualizowanie Twojej aplikacji w różnych sklepach. Możesz to zrobić, jeśli rozpowszechniasz tę samą treść we wszystkich sklepach z aplikacjami i chcesz, aby użytkownicy byli zawsze aktualny. Jeśli używasz tego samego identyfikatora aplikacji i kluczy podpisywania we wszystkich sklepach z aplikacjami, w których publikujesz swoją aplikację, każdy sklep z aplikacjami może aktualizować instalacje aplikacji niezależnie od tego, skąd użytkownik ją na początku pobrał.

Może to jednak prowadzić do nieprzewidywalnego zachowania użytkowników, w zależności od tego, w jaki sposób każdy sklep z aplikacjami wdroży aktualizacje aplikacji w różnych sklepach. Użytkownik może na przykład wyłączyć aktualizacje z jednego sklepu, nie zdając sobie sprawy, że inny sklep może nadal je dostarczać.

Jeśli wcześniej zezwalasz na aktualizacje w różnych sklepach, ale wolisz preferować konkretne źródło aktualizacji, gdy jest ono dostępne na urządzeniu, możesz opublikować aplikację z wyższym kodem wersji w preferowanym sklepie z aplikacjami i kontynuować publikowanie z niższymi kodami wersji w innych sklepach z aplikacjami. Po zainstalowaniu aktualizacji o wyższym kodzie wersji z preferowanego źródła inne sklepy z aplikacjami nie będą mogły przeprowadzić aktualizacji na tym urządzeniu.