Sprawdzone metody używania unikalnych identyfikatorów

Ten dokument zawiera wskazówki dotyczące wybierania odpowiednich identyfikatorów aplikacji na podstawie przypadku użycia.

Ogólne informacje o uprawnieniach Androida znajdziesz w sekcji Uprawnienia Androida . Sprawdzone metody dotyczące uprawnień na Androidzie znajdziesz w artykule Sprawdzone metody dotyczące uprawnień aplikacji.

Sprawdzone metody korzystania z identyfikatorów Androida

Aby chronić prywatność użytkowników, używaj najbardziej restrykcyjnego identyfikatora, który spełnia potrzeby Twojej aplikacji. W szczególności stosuj te sprawdzone metody:

  1. Gdy to możliwe, wybieraj identyfikatory, które mogą być resetowane przez użytkownika. Aplikacja może realizować większość przypadków użycia, nawet jeśli używa identyfikatorów innych niż nieresetowalne identyfikatory sprzętowe.
  2. Unikaj używania identyfikatorów sprzętowych. W większości przypadków można uniknąć używając identyfikatorów sprzętowych, takich jak International Mobile Equipment Identity (IMEI) bez ograniczania wymaganych funkcji.

    Android 10 (poziom interfejsu API 29) wprowadza ograniczenia dotyczące identyfikatorów, których nie można zresetować, w tym IMEI i numeru seryjnego. Aby uzyskać dostęp do tych identyfikatorów, aplikacja musi być aplikacją właściciela urządzenia lub profilu, mieć specjalne uprawnienia operatora lub mieć uprawnienie READ_PRIVILEGED_PHONE_STATE.

  3. Identyfikatora wyświetlania reklam na urządzeniach z Androidem używaj tylko do profilowania użytkowników lub do celów reklamowych. Korzystając z identyfikatora wyświetlania reklam, zawsze szanuj wybory użytkowników dotyczące śledzenia reklam. Jeśli musisz połączyć identyfikator wyświetlania reklam z informacjami umożliwiającymi identyfikację osoby, zrób to tylko za wyraźną zgodą użytkownika.

  4. Nie łącz resetów identyfikatora wyświetlania reklam.

  5. Używaj identyfikatora instalacji Firebase (FID) lub przechowywanego prywatnie identyfikatora GUID, gdy we wszystkich innych przypadkach, z wyjątkiem zapobiegania oszustwom związanym z płatnościami telefonii. W większości przypadków użycia niezwiązanych z reklamami identyfikator FID lub GUID powinno wystarczyć.

  6. Aby zminimalizować ryzyko związane z prywatnością, używaj interfejsów API odpowiednich do danego przypadku użycia. Używaj interfejsu DRM API do ochrony treści o wysokiej wartości oraz interfejsów Play Integrity API do ochrony przed nadużyciami. Interfejsy Play Integrity API to najprostszy sposób na określenie, czy urządzenie jest autentyczne, bez narażania prywatności.

W pozostałych sekcjach tego przewodnika omawiamy te zasady w kontekście tworzenia aplikacji na Androida.

Praca z identyfikatorami wyświetlania reklam

Identyfikator wyświetlania reklam jest możliwy do zresetowania przez użytkownika i odpowiedni do wyświetlania reklam. i przypadków użycia. Pamiętaj jednak o kilku kwestiach, o których warto pamiętać podczas korzystania z tego identyfikatora:

Zawsze pamiętaj o zresetowaniu identyfikatora wyświetlania reklam. Nie blokuj resetowania użytkowników, korzystając z innego identyfikatora lub odcisku palca do łączenia razem bez identyfikatora wyświetlania reklam zgody użytkownika. Zasady Google Play dotyczące treści dla deweloperów:

„Po zresetowaniu nowego identyfikatora wyświetlania reklam nie można połączyć z poprzednim identyfikatorem wyświetlania reklam ani z danymi uzyskanymi na podstawie poprzedniego identyfikatora bez wyraźnej zgody użytkownika”.

Zawsze uwzględniaj powiązany parametr reklam spersonalizowanych. Identyfikatory reklamowe można konfigurować, co oznacza, że użytkownicy mogą ograniczyć zakres śledzenia powiązanego z tym identyfikatorem. Zawsze używaj metody AdvertisingIdClient.Info.isLimitAdTrackingEnabled(), aby mieć pewność, że nie obchodzisz woli użytkowników. Google Treści dla deweloperów w Google Play Zasady określają, :

„…należy stosować się do wybranego przez użytkowników ustawienia rezygnacji z reklam opartych na zainteresowaniach lub reklam spersonalizowanych”. Jeśli użytkownik włączył to ustawienie, nie wolno używać identyfikatora wyświetlania reklam do tworzenia profili użytkowników do celów reklamowych ani do kierowania na użytkowników reklam spersonalizowanych. Dozwolone zastosowania obejmują reklamę kontekstową, ograniczanie liczby wyświetleń, śledzenie konwersji, raportowanie, wykrywanie oszustw oraz bezpieczeństwo."

.

Pamiętaj o wszelkich zasadach ochrony prywatności i bezpieczeństwa związanych z używanymi przez Ciebie pakietami SDK dotyczącymi używania identyfikatora wyświetlania reklam. Jeśli na przykład przekażesz true do enableAdvertisingIdCollection(). z pakietu SDK Google Analytics, zapoznaj się ze wszystkimi odpowiedni pakiet SDK Analytics .

Pamiętaj też, że Treści dla programistów w Google Play Zasady wymagają identyfikator wyświetlania reklam „nie może być powiązany z identyfikatorem umożliwiającym identyfikację osoby”. ani powiązane z żadnym trwałym identyfikatorem urządzenia (np. SSAID, adres MAC, IMEI itp.)”.

Załóżmy, że chcesz zebrać informacje, aby wypełnić tabele bazy danych tymi kolumnami:

TABLE-01
timestamp ad_id account_id clickid
TABLE-02
account_id name dob country

W tym przykładzie kolumnę ad_id można połączyć z informacjami umożliwiającymi identyfikację osób za pomocą kolumny account_id co stanowi naruszenie zasad Dewelopera w Google Play, Polityki treści, jeśli nie uzyskał wyraźnej zgody użytkowników.

Pamiętaj, że powiązania między identyfikatorem reklamodawcy a informacjami umożliwiającymi identyfikację nie zawsze są prawidłowe wulgarne. Możliwe jest, że w tabeli z kluczem PII i identyfikatorem reklamy występują „quasi-identyfikatory”, które również powodują problemy. Załóżmy, że zmieniamy na przykład TABLE-01 i TABLE-02 w następujący sposób:

TABLE-01
timestamp ad_id clickid dev_model
TABELA-02
timestamp demo account_id dev_model name

W tym przypadku, gdy zdarzenia kliknięcia są wystarczająco rzadkie, nadal można wykonać złączenie między tabelą TABLE-01 z identyfikatorem reklamodawcy a danymi PII zawartymi w tabeli TABLE-02, korzystając z znaku czasu zdarzenia i modelu urządzenia.

Chociaż trudno jest zagwarantować brak takich pozornych identyfikatorów możesz zapobiec najbardziej oczywistym ryzyku złączeń, uogólniając unikalne dane, jeśli jest to możliwe. W poprzednim przykładzie oznaczałoby to zmniejszenie dokładności sygnatury czasowej, tak aby w przypadku każdej sygnatury czasowej pojawiało się kilka urządzeń tego samego modelu.

Inne rozwiązania:

  • Nie tworzyć tabel, które wyraźnie łączą informacje umożliwiające identyfikację z identyfikatorami wyświetlania reklam. W pierwszym przykładzie powyżej oznacza to, że kolumna account_id nie jest uwzględniana w tabeli TABLE-01.

  • Segregowanie i monitorowanie list kontroli dostępu w przypadku użytkowników lub ról, którzy mają dostęp zarówno do informacji umożliwiających identyfikację użytkownika, jak i danych kluczowych z identyfikatorem wyświetlania reklam. Dzięki ścisłej kontroli i audytowaniu dostępu do obu źródeł jednocześnie (np. przez złączenie tabel) zmniejszasz ryzyko powiązania identyfikatora reklamowego z informacjami umożliwiającymi identyfikację. Ogólnie rzecz biorąc, kontrola dostępu polega na:

    1. Aby zminimalizować liczbę osób lub ról, które są uwzględnione w obu listach ACL, należy utrzymać listy ACL z danymi powiązanymi z identyfikatorem reklamodawcy i informacjami umożliwiającymi identyfikację osobowej w oddzielnych listach.
    2. Wprowadź rejestrowanie dostępu i kontrolę, aby wykrywać i zarządzać wyjątkami od tej reguły.

Więcej informacji o odpowiedzialnym korzystaniu z identyfikatorów wyświetlania reklam znajdziesz w dokumentacji interfejsu API AdvertisingIdClient.

Praca z identyfikatorami FID i GUID

Najprostsze rozwiązanie pozwalające zidentyfikować instancję aplikacji działającą jest użycie identyfikatora instalacji Firebase (FID). Jest to zalecane rozwiązanie w większości przypadków użycia niezwiązanych z reklamami. Tylko instancja aplikacji, w której przypadku i może uzyskać do niego dostęp (względnie) możliwy do zresetowania, ponieważ jest on widoczny tylko do momentu, gdy aplikacja jest zainstalowana.

W efekcie identyfikatory FID zapewniają lepsze właściwości prywatności niż identyfikatory sprzętowe ograniczone do urządzenia, których nie można zresetować. Więcej informacji znajdziesz w firebase.installationsdokumentacji interfejsu API.

W przypadkach, gdy użycie identyfikatora FID jest niepraktyczne, możesz też użyć niestandardowych globalnie unikalnych identyfikatorów (GUID) do jednoznacznego identyfikowania instancji aplikacji. Najprostszym sposobem jest wygenerowanie własnego identyfikatora GUID za pomocą tego kodu:

Kotlin

var uniqueID = UUID.randomUUID().toString()

Java

String uniqueID = UUID.randomUUID().toString();

Identyfikator jest niepowtarzalny w całym świecie, więc można go użyć do identyfikacji konkretnej instancji aplikacji. Aby uniknąć problemów z łączeniem identyfikatora z różnych aplikacji, przechowywać identyfikatory GUID w pamięci wewnętrznej, a nie w pamięci zewnętrznej (współdzielonej). Więcej więcej informacji znajdziesz w artykule Przechowywanie danych i plików Przegląd.

Nie działają z adresami MAC

Adresy MAC są globalnie unikalne, nie można ich zresetować i przetrwają po przywróceniu ustawień fabrycznych. Dlatego, aby chronić prywatność użytkownika, na urządzeniach z Androidem w wersji 6 oraz dostęp do adresów MAC jest ograniczony do aplikacji systemowych. Aplikacje innych firm nie mają do nich dostępu.

Zmiany dostępności adresów MAC w Androidzie 11

w aplikacjach kierowanych na Androida 11 i nowsze wersje, randomizację MAC pod kątem protokołu Passpoint w ramach profilu Passpoint, generując unikalny adres MAC tych pól:

  • Pełna i jednoznaczna nazwa domeny
  • Obszar
  • Dane logowania na podstawie danych logowania użytych w profilu Passpoint:
    • Dane logowania użytkownika: nazwa użytkownika
    • Dane logowania do certyfikatu: cert i typ certyfikatu
    • Dane logowania do karty SIM: typ EAP i identyfikator IMSI

Aplikacje bez uprawnień nie mają też dostępu do adresu MAC urządzenia. Tylko interfejsy sieciowe z adresem IP są widoczne. Ma to wpływ na metody getifaddrs() i NetworkInterface.getHardwareAddress(), a także na wysyłanie wiadomości RTM_GETLINK Netlink.

Poniżej znajdziesz listę sposobów, w jakie ta zmiana wpływa na aplikacje:

  • NetworkInterface.getHardwareAddress() zwraca wartość null dla każdego interfejsu.
  • Aplikacje nie mogą używać funkcji bind() w gniazdach NETLINK_ROUTE.
  • Polecenie ip nie zwraca informacji o interfejsach.
  • Aplikacje nie mogą wysyłać wiadomości z kategorii RTM_GETLINK.

Większość programistów powinna używać interfejsów API wyższego poziomu ConnectivityManager, a nie interfejsów API niższego poziomu, takich jak NetworkInterface, getifaddrs(), lub złącza Netlink. Na przykład w przypadku aplikacji, która wymaga aktualnych informacji na temat bieżące trasy mogą pobierać te informacje, nasłuchując zmian sieci za pomocą usługi ConnectivityManager.registerNetworkCallback() i wywoływanie powiązanego z nią LinkProperties.getRoutes()

Cechy identyfikatora

System operacyjny Android ma kilka identyfikatorów o różnych cechach działania. Którego identyfikatora użyć, zależy od tego, jak te cechy pasują do Twojego przypadku użycia. Te cechy mają jednak również wpływ na prywatność, dlatego ważne jest, aby zrozumieć, jak te cechy wzajemnie na siebie oddziałują.

Zakres

Zakres identyfikatora wyjaśnia, które systemy mają dostęp do identyfikatora. Android, Zakres identyfikatora występuje zwykle na 3 rodzaje:

  • Pojedyncza aplikacja: identyfikator jest wewnętrzny w aplikacji i nie jest dostępny dla innych aplikacji.
  • Grupa aplikacji: identyfikator jest dostępny dla zdefiniowanej wstępnie grupy powiązanych aplikacji.
  • Urządzenie: identyfikator jest dostępny dla wszystkich aplikacji zainstalowanych na urządzeniu.

Im szerszy zakres działania identyfikatora, tym większe ryzyko jego wykorzystania do śledzenia. Jeśli natomiast dostęp do identyfikatora jest możliwy tylko jednej instancji aplikacji, nie można jej wykorzystać do śledzenia liczby transakcji danego urządzenia. w różnych aplikacjach.

Resetowanie i trwałość

Resetowalność i trwałość definiują długość identyfikatora i wyjaśniają jak je zresetować. Typowe reguły resetowania to między innymi resetowanie w aplikacji, resetowanie za pomocą Ustawienia systemu, resetowanie podczas uruchamiania i resetowanie podczas instalacji. Android, mogą mieć różną długość życia, ale jest ona zwykle powiązana do sposobu resetowania identyfikatora:

  • Tylko sesja: nowy identyfikator jest używany przy każdym uruchomieniu aplikacji przez użytkownika.
  • Instalacja-resetowanie: nowy identyfikator jest używany przy każdym odinstalowaniu i ponownym zainstalowaniu aplikacji przez użytkownika. aplikację.
  • Przywracanie ustawień fabrycznych: nowy identyfikator jest używany za każdym razem, gdy użytkownik przywróci urządzenie do ustawień fabrycznych.
  • FDR-persistent: identyfikator przetrwa przywracanie do ustawień fabrycznych.

Możliwość zresetowania umożliwia użytkownikom utworzenie nowego identyfikatora, który nie jest powiązany z żadnymi istniejącymi informacjami o profilu. Im dłużej i bardziej niezawodnie identyfikator pozostaje na urządzeniu, np. w przypadku przywracania ustawień fabrycznych, tym większe jest ryzyko długotrwałego śledzenia użytkownika. Jeśli jest resetowany przy ponownej instalacji aplikacji, co zmniejsza trwałość i zapewnia sposób zresetowania identyfikatora, nawet jeśli nie ma wyraźnego użytkownika aby go zresetować z poziomu aplikacji lub ustawień systemu.

Unikalność

Wyjątkowość oznacza prawdopodobieństwo kolizji. czyli taki sam i identyfikatory są powiązane z danymi identyfikatorami. Na najwyższym poziomie globalnie unikalny identyfikator nigdy nie powoduje kolizji, nawet na innych urządzeniach lub w innych aplikacjach. W przeciwnym razie poziom niepowtarzalności zależy od entropii identyfikatora i czyli źródła losowości wykorzystanych do jego utworzenia. Na przykład prawdopodobieństwo kolizja jest znacznie większa w przypadku identyfikatorów losowych z datą kalendarzową instalacji (np. 2019-03-01) niż w przypadku identyfikatorów zainicjowanych przez Unix sygnatura czasowa instalacji (np. 1551414181).

Ogólnie identyfikatory kont użytkowników można uznać za unikalne. Oznacza to, że każda kombinacja urządzenia i konta ma unikalny identyfikator. Z drugiej strony, im mniej unikalny jest identyfikator w populacji, tym większa ochrona prywatności, ponieważ jest mniej przydatny do śledzenia pojedynczego użytkownika.

Ochrona integralności i brak możliwości odrzucenia

Aby udowodnić, że powiązane urządzenie lub konto ma określone właściwości, możesz użyć identyfikatora, który trudno jest podrobić lub odtworzyć. Możesz na przykład: Udowodnić, że urządzenie nie jest urządzeniem wirtualnym używanym przez spamera. Identyfikatory, które są trudne do sfałszowania, zapewniają ich brak. Jeśli urządzenie podpisuje wiadomość tajnym kluczem, trudno jest stwierdzić, że ktoś inny urządzenie wysłało wiadomość. Nieodwołalność może być pożądaną właściwością, na przykład podczas uwierzytelniania płatności, ale może też być niepożądana, na przykład gdy użytkownik wysyła wiadomość, której żałuje.

Typowe przypadki użycia i właściwy identyfikator

Ta sekcja zawiera alternatywy dla używania identyfikatorów sprzętowych, takich jak IMEI. Nie zalecamy używania identyfikatorów sprzętowych, ponieważ użytkownik nie może ich zresetować, a ich zakres ogranicza się do urządzenia. W wielu przypadkach wystarczy identyfikator ograniczony do aplikacji.

Konta

Stan operatora

W tym przypadku aplikacja wchodzi w interakcję z funkcjami telefonu i tekstowania na urządzeniu, korzystając z konta operatora.

Zalecany identyfikator: IMEI, IMSI i line1

Dlaczego ta rekomendacja?

Używanie identyfikatorów sprzętowych jest dopuszczalne, jeśli jest wymagane funkcji związanych z operatorem. Możesz na przykład używać tych identyfikatorów do przełączania się między operatorami komórkowymi lub slotami kart SIM albo do wysyłania SMS-ów przez IP (dla Line1) – konta użytkowników na podstawie karty SIM. W przypadku aplikacji bez podwyższonych uprawnień zalecamy logowanie się na konto w celu pobrania informacji o urządzeniu użytkownika po stronie serwera. Jedną z powodów jest to, że w Androidzie 6.0 (poziom API 23) wyżej, identyfikatory te mogą być używane tylko w ramach uprawnień w czasie działania. Użytkownicy mogą wyłączyć to uprawnienie, więc aplikacja powinna odpowiednio obsługiwać takie wyjątki.

Stan subskrypcji mobilnej

W takim przypadku musisz powiązać funkcje aplikacji z określonymi subskrypcji usług na urządzeniu. Możesz na przykład wymagać weryfikacji dostępu do niektórych funkcji aplikacji premium na podstawie subskrypcji mobilnych urządzenia za pomocą karty SIM.

Zalecany identyfikator: identyfikator subskrypcji API do identyfikować karty SIM używane w urządzeniu.

Identyfikator subskrypcji zawiera wartość indeksu (począwszy od 1) umożliwiającą jednoznaczną identyfikację zainstalowanych kart SIM (w tym fizycznych i elektronicznych) używanych na urządzeniu. Dzięki temu identyfikatorowi aplikacja może powiązać swoje funkcje z różnymi informacjami o subskrypcji danej karty SIM. Ta wartość jest stała dla danej karty SIM chyba że na urządzeniu zostaną przywrócone ustawienia fabryczne. Mogą jednak wystąpić sytuacje, w których Karta SIM ma inny identyfikator subskrypcji na różnych urządzeniach lub różne karty SIM mają ten sam identyfikator na różnych urządzeniach.

Dlaczego ta rekomendacja?

Niektóre aplikacje mogą obecnie korzystać z ICC ID cel. Ze względu na to, że identyfikator ICC jest globalnie unikalny i nie można go zresetować, dostęp jest dostępne tylko w aplikacjach z atrybutem READ_PRIVILEGED_PHONE_STATE od Androida 10. Począwszy od Androida 11, Android dalej ograniczył dostęp do identyfikatora ICCID za pomocą getIccId() API niezależnie od docelowego poziomu interfejsu API aplikacji. Aplikacje, których to dotyczy, powinny zostać przeniesione do użyj identyfikatora subskrypcji.

Logowanie jednokrotne

W takim przypadku Twoja aplikacja oferuje funkcję jednokrotnego logowania, która umożliwia użytkownikom powiązanie istniejącego konta z Twoją organizacją.

Zalecane identyfikatory: konta zgodne z kontem menedżera, takie jak Google Account Linking

Dlaczego ta rekomendacja?

Połączenie z kontem Google umożliwia użytkownikom powiązanie istniejącego konta Google z Twoją aplikacją, zapewniając płynny i bezpieczniejszy dostęp do usług i produktów Twojej organizacji. Dodatkowo możesz: definiowanie niestandardowych zakresów protokołu OAuth udostępniać tylko niezbędne dane i zwiększać zaufanie użytkowników przez jasne określenie, jak jak ich dane są wykorzystywane.

Reklamy

Kierowanie

W takim przypadku aplikacja tworzy profil zainteresowań użytkownika, aby wyświetlać mu trafniejsze reklamy.

Zalecany identyfikator: jeśli Twoja aplikacja używa identyfikatora do wyświetlania reklam i przesyłania danych lub który publikuje w Google Play, identyfikator ten musi być identyfikatorem wyświetlania reklam.

Dlaczego ta rekomendacja?

Jest to przypadek użycia związany z reklamami, który może wymagać dostępnego identyfikatora w różnych aplikacjach organizacji, dlatego korzystanie z identyfikatora wyświetlania reklam najodpowiedniejsze rozwiązanie. Zgodnie z Zasadami dotyczącymi treści dla deweloperów w Google Play identyfikator wyświetlania reklam jest wymagany w przypadku zastosowań reklamowych, ponieważ użytkownik może go zresetować.

Niezależnie od tego, czy udostępniasz dane użytkownika w aplikacji – czy je zbierasz i wykorzystujesz musisz zadeklarować cele reklamowe w Sekcja Bezpieczeństwo danych na stronie Zawartość aplikacji w Konsoli Play.

Pomiary

W tym przypadku Twoja aplikacja tworzy profil użytkownika na podstawie jego zachowania w aplikacjach organizacji na tym samym urządzeniu.

Zalecany identyfikator: interfejsy API odsyłającego do instalacji z Google Play i identyfikatora wyświetlania reklam

Dlaczego ta rekomendacja?

Jest to przypadek użycia związany z reklamami, który może wymagać dostępnego identyfikatora w różnych aplikacjach organizacji, dlatego korzystanie z identyfikatora wyświetlania reklam najodpowiedniejsze rozwiązanie. Jeśli używasz identyfikatora do celów reklamowych, musi to być identyfikator wyświetlania reklam, ponieważ użytkownik może go zresetować. Więcej informacji: Polityka treści w Google Play dla deweloperów.

Konwersje

W tym przypadku śledzisz konwersje, aby określić, czy strategia marketingowa jest skuteczne.

Zalecany identyfikator: identyfikator wyświetlania reklam lub interfejsy API odsyłaczy instalacji z Google Play

Dlaczego ta rekomendacja?

Jest to przypadek użycia związany z reklamami, który może wymagać dostępnego identyfikatora w różnych aplikacjach organizacji, dlatego korzystanie z identyfikatora wyświetlania reklam najodpowiedniejsze rozwiązanie. Zgodnie z Zasadami dotyczącymi treści dla deweloperów w Google Play identyfikator wyświetlania reklam jest wymagany w przypadku zastosowań reklamowych, ponieważ użytkownik może go zresetować.

Remarketing

W tym przypadku aplikacja wyświetla reklamy na podstawie wcześniejszych zainteresowań użytkownika.

Zalecany identyfikator: identyfikator wyświetlania reklam

Dlaczego ta rekomendacja?

Jest to przypadek użycia związany z reklamami, który może wymagać dostępnego identyfikatora w różnych aplikacjach organizacji, dlatego korzystanie z identyfikatora wyświetlania reklam najodpowiedniejsze rozwiązanie. Zgodnie z Zasadami dotyczącymi treści dla deweloperów w Google Play identyfikator wyświetlania reklam jest wymagany w przypadku zastosowań reklamowych, ponieważ użytkownik może go zresetować.

Analityka aplikacji

W takim przypadku aplikacja ocenia zachowanie użytkownika, aby określić, :

  • Które inne produkty lub aplikacje Twojej organizacji mogą być odpowiednie dla użytkownika.
  • Jak zachęcić użytkowników do korzystania z aplikacji
  • Mierz statystyki i statystyki analityczne dotyczące niezalogowanych lub anonimowych użytkowników.

Możliwe rozwiązania:

  • Identyfikator zestawu aplikacji: identyfikator zestawu aplikacji umożliwia analizowanie zachowań użytkownika w różnych aplikacjach należących do Twojej organizacji, o ile nie używasz danych użytkownika do celów reklamowych. Jeśli kierujesz reklamy na urządzenia korzystające z usług Google Play, zalecamy użycie identyfikatora zestawu aplikacji.
  • Identyfikator Firebase (FID): identyfikator FID jest ograniczony do aplikacji, która go tworzy, co uniemożliwia śledzenie użytkowników w różnych aplikacjach. Jest także można łatwo zresetować, ponieważ użytkownik może wyczyścić dane aplikacji lub ponownie ją zainstalować. proces tworzenia FID jest prosty; zobaczyć instalacje Firebase Google.

Tworzenie aplikacji

Zgłaszanie awarii

W tym przypadku aplikacja zbiera dane o tym, kiedy i dlaczego ulega awarii na urządzeniach użytkownika.

Zalecany identyfikator: FID lub identyfikator zestawu aplikacji

Dlaczego ta rekomendacja?

Identyfikator FID jest ograniczony do aplikacji, która go utworzyła, przez co identyfikator nie może używane do śledzenia użytkowników w różnych aplikacjach. Można go też łatwo zresetować, ponieważ użytkownik może usunąć dane aplikacji lub ponownie ją zainstalować. Proces tworzenia identyfikatora FID jest prosty. Więcej informacji znajdziesz w przewodniku instalacji Firebase. Identyfikator zestawu aplikacji umożliwia analizowanie zachowań użytkownika w różnych aplikacjach należących do Twojej organizacji, o ile nie używasz danych użytkownika do celów reklamowych.

Raportowanie skuteczności

W takim przypadku aplikacja zbiera dane o wydajności, takie jak czas wczytywania i zużycie baterii, aby poprawić jakość aplikacji.

Zalecany identyfikator: Monitorowanie wydajności Firebase

Dlaczego ta rekomendacja?

Monitorowanie wydajności Firebase pomaga skupić się na najważniejszych danych i testowania wpływu niedawnej zmiany w aplikacji.

Testowanie aplikacji

W takim przypadku aplikacja ocenia wrażenia użytkownika na potrzeby testowania lub debugowania.

Zalecany identyfikator: FID lub identyfikator zestawu aplikacji

Dlaczego ta rekomendacja?

Identyfikator FID jest ograniczony do aplikacji, która go utworzyła, przez co identyfikator nie może używane do śledzenia użytkowników w różnych aplikacjach. Można ją łatwo zresetować, ponieważ użytkownik usunąć dane aplikacji lub ponownie ją zainstalować. Proces tworzenia identyfikatora FID jest proste; zobacz Przewodnika po instalacji Firebase. Identyfikator zestawu aplikacji umożliwia analizowanie zachowań użytkownika w różnych aplikacjach należących do Twojej organizacji, o ile nie używasz danych użytkownika do celów reklamowych.

Instalacja na wielu urządzeniach

W tym przypadku aplikacja musi zidentyfikować odpowiednie wystąpienie aplikacji, gdy jest zainstalowana na wielu urządzeniach tego samego użytkownika.

Zalecany identyfikator: FID lub GUID

Dlaczego ta rekomendacja?

Identyfikator FID został zaprojektowany specjalnie do tego celu. Jego zakres jest ograniczony do aplikacji, więc nie można go używać do śledzenia użytkowników w różnych aplikacjach. Po ponownym zainstalowaniu aplikacji identyfikator jest resetowany. W rzadkich przypadkach FID jest niewystarczające, można też użyć identyfikatora GUID.

Bezpieczeństwo

Wykrywanie nadużyć

W tym przypadku próbujesz wykryć wiele fałszywych urządzeń atakujących Twoje usługi zaplecza.

Zalecany identyfikator: token integralności interfejsu Google Play Integrity API.

Dlaczego ta rekomendacja?

Chcemy sprawdzać, czy żądanie pochodzi z oryginalnego urządzenia z Androidem, a nie z emulatora lub innego kodu, który podszywa się pod inne urządzenie – użyj Interfejs Google Play Integrity API

oszustwo reklamowe,

W tym przypadku aplikacja sprawdza, czy wyświetlenia i działania użytkownika są autentyczne i można je zweryfikować.

Zalecany identyfikator: identyfikator wyświetlania reklam

Dlaczego ta rekomendacja?

Identyfikator wyświetlania reklam jest obowiązkowy w przypadku użycia reklam zgodnie z Polityka treści dla deweloperów w Google Play, bo użytkownik może je zresetować.

Zarządzanie prawami cyfrowymi (DRM)

W tym przypadku Twoja aplikacja chce chronić przed oszustwem dostęp do własności intelektualnej lub płatnych treści.

Zalecany identyfikator: stosowanie FID lub GUID wymusza na użytkowniku ponownie zainstalować aplikację, aby obejść ograniczenia dotyczące treści, co jest w wystarczającym stopniu, aby zniechęcić większość ludzi. Jeśli to nie jest wystarczające zabezpieczenie, Android udostępnia interfejs API DRM, który może służy do ograniczenia dostępu do treści, zawiera identyfikatory poszczególnych plików APK, Identyfikator Widevine.

Preferencje użytkownika

W tym przypadku aplikacja zapisuje stan użytkownika na poszczególnych urządzeniach, zwłaszcza w przypadku użytkowników, którzy nie są zalogowani. Możesz przenieść ten stan do innej aplikacji, która jest podpisana tym samym kluczem na tym samym urządzeniu.

Zalecany identyfikator: FID lub GUID

Dlaczego ta rekomendacja?

Zachowywanie informacji przez ponowne zainstalowanie nie jest zalecane, ponieważ użytkownicy mogą chcą zresetować swoje ustawienia, instalując ponownie aplikację.