iOS 14.5: Konec sledování uživatelů napříč aplikacemi?
Apple minulý rok na své pravidelné akci WWDC oznámil záměr přísněji chránit soukromí uživatelů a spolu s ním představil několik změn, které budou mít dopad i na vývojáře. Proti tomu se ihned zvedla vlna nevole, hlavně ze strany velkých firem jako Facebook nebo Google, které na sběru osobních dat uživatelů mají postavený svůj business, a Apple jim do toho nyní lidově řečeno "hodil vidle". Jaký konkrétní dopad má nová funkce iOS 14.5 na nás programátory a co je potřeba implementovat do aplikací, aby nás nepřekvapilo odmítnutí při schvalování dalšího updatu?
Analýza dat a souhlas uživatele
Jak naznačil titulek článku, od verze iOS 14.5 musíte uživatele požádat o souhlas se sledováním a odesíláním jeho osobních dat ven z aplikace. Kdy přesně je ale tento souhlas potřeba? V tom je asi největší zdroj zmatků a nejasností. Nikdo vlastně pořádně neví, jak se Apple postaví k tomu, k čemu potřeba souhlas je, a k čemu ne.
K souhlasu se sledováním uživatele se používá nový framework AppTrackingTransparency. V dokumentaci je uvedeno, že pomocí tohoto frameworku je nutné získat souhlas uživatele se sledováním jeho aktivity, pokud jsou o něm sbírána nějaká data, která se sdílí se třetími stranami, za účelem sledování jeho aktivity mezi více aplikacemi nebo webovými stránkami. Takto to zní celkem jasně, ale ruku na srdce: Víte, co Google nebo Facebook opravdu dělá s daty, která sbíráte pomocí jejich SDK?
Sledování uživatelů vs. ochrana soukromí
V praxi nelze zřejmě dělat nic jiného, než se spolehnout na prohlášení a oficiální dokumentaci analytického SDK, které používáte. Například Google se nechal slyšet, že ukončí sledování uživatelů napříč webovými stránkami a mobilními aplikacemi. Stejně se zachoval i další populární analytický framework Flurry. Mixpanel a Amplitude, kteří jsou placenou službou a data nepřeprodávají dál, vydali zprávu, že si s novými pravidly Applu nemusí jejich zákazníci dělat starosti a žádný souhlas nepotřebují.
Pak je tu Facebook. Ten proti Applu zprvu rozjel masivní kampaň, celostránkovými inzeráty v novinách vyjádřil nesouhlas s novými pravidly a argumentoval tím, že drobní podnikatelé nebudou mít k dispozici potřebná data pro jejich business, což bude mít velký dopad na jejich už tak omezené zisky. Uplynula nějaká doba a i zde se pohly ledy. V aktualizovaných dokumentacích k analytickým SDK Facebooku už naleznete informace o tom, že je nejspíše potřeba požádat uživatele o souhlas. A taky že existuje způsob, jak se dostat alespoň k některým datům.
Závěr je tedy takový, že pokud si nejste na 100 % jistí tím, že se vaše data nedají spojit s konkrétním uživatelem a že je nikdo nepoužije ke sledování napříč jinými platformami, o souhlas pravděpodobně uživatele žádat nemusíte. Záměrně říkám pravděpodobně, protože na 100 % si není jistý nikdo. Pokud používáte jakýkoli framework od Facebooku, který může jenom vzdáleně nějaká data odesílat, raději o souhlas požádejte.
iOS 14.5: Jak na souhlas se sledováním?
Pokud uživatele požádáte o souhlas se sledováním a on odmítne, začne zařízení místo IDFA (Identifier for Advertisers) posílat samé nuly. Možnost identifikace zařízení je tak nulová, a to doslova. :) Samotný formulář pro souhlas lze vyvolat pomocí frameworku AppTrackingTransparency, konkrétně pomocí metody requestTrackingAuthorization(completionHandler:). Její volání je ideální zahájit co nejdříve po spuštění aplikace, ještě před inicializací všech analytických frameworků. Ty je pak doporučeno spustit až po kladném stanovisku od uživatele. V opačném případě riskujete, že vám Apple aplikaci neschválí.
Dalším krokem je přidání klíče NSUserTrackingUsageDescription do Info.plist souboru vaší aplikace, kde vysvětlíte, proč potřebujete sledovat uživatelovu aktivitu, a co budete s jeho daty dělat.
Jak je vidět, nejde o nic složitého na realizaci. Největším problémem tak jsou nejasnosti v tom, jestli je z vaší strany vůbec potřeba souhlas implementovat. Jak je u Applu v poslední době zvykem, na 100 % se to dozvíte až v okamžiku, kdy vydáte první aktualizaci nebo novou aplikaci po vydání iOS verze 14.5.