Dacă titlul acestui articol înseamnă ceva pentru dvs., probabil că sunteți conștient de cutremurul provocat de iOS14.

Odată cu lansarea iOS14, au existat schimbări majore în modul în care aplicațiile pot colecta informații despre un utilizator. Unul dintre ele se ocupă de identificatorul pentru agenții de publicitate (sau IDFA) și de modul în care aplicațiile îl pot accesa.

Dar pentru cei care nu știu, să explicăm mai întâi ce este IDFA și de ce este important.

Ce este un IDFA?

Fiecare proprietar de dispozitiv iOS poate decide dacă dorește să fie urmărit de companiile de publicitate. Acest lucru permite companiilor respective să furnizeze utilizatorului respectiv conținut adaptat acestora (pe baza obiceiurilor de navigare online).

Companiile pot face acest lucru cu ceea ce este cunoscut sub numele de IDFA (identificator pentru agenții de publicitate). Acesta este un UUID șir care permite agenților de publicitate să potrivească utilizatorul cu comportamentul lor.

Iată un exemplu de șir UUID: 123e4567-e89b-12d3-a456–426614174000.

Deci, care sunt acele schimbări despre care am vorbit mai devreme?

Pe scurt, aplicațiilor li se va cere acum să afișeze un dialog utilizatorului, întrebându-i dacă doresc să permită aplicației să le urmărească sau nu.

Cum sa obtineti identificatorul pentru agentii de publicitate IDFA in
Dialogul de autorizare de urmărire

Pare destul de rău, nu?

Acest lucru este în contrast cu modul în care lucrurile funcționau înainte de iOS14, unde trebuia să verificați doar dacă dispozitivul avea activată sau dezactivată urmărirea publicității limitată.

Cea mai nouă versiune a sistemului de operare Apple (iOS14) este deja disponibilă (a fost din 16 septembrie). Dezvoltatorii care utilizează IDFA trebuie să facă modificări în aplicațiile lor pentru a fi compatibili cu iOS14.

Pe 3 septembrie, Apple a făcut un Actualizați și a împins termenul limită pentru a finaliza aceste actualizări la începutul anului viitor:

„Pentru a le oferi dezvoltatorilor timp să facă modificările necesare, aplicațiile vor trebui să obțină permisiunea de a urmări utilizatorii începând cu anul viitor”

Acum că avem timp să ne recâștigăm calmul și să respirăm din nou, să începem să ne pregătim pentru ceea ce va fi noul normal în 2021.

În acest articol, vom prezenta câteva informații despre IDFA și vom vedea cum putem obține valoarea acestuia de la iOS14 și mai departe.

Cum se folosește IDFA de către agenții de publicitate?

Să luăm un scenariu (pre COIVD-19) în care navigați pe web pe iPhone și căutați un hotel pentru următoarea vacanță.

Fiecare anunț pe care îl vedeți va trimite un pixel cu IDFA dvs. atașat la acesta. Un agent de publicitate poate vedea că vă uitați la o mulțime de anunțuri care promovează hoteluri potrivindu-vă IDFA și poate concluziona că doriți să rezervați o cameră de hotel.

De acolo, nu va trece mult până când vi se vor afișa o mulțime de reclame pentru camerele de hotel.

Această tehnologie simplă, dar profundă, a intrat în viața noastră încă din 2012 cu iOS6. De atunci, s-au schimbat multe și iOS14 își răstoarnă industria din nou, din nou.

Notă: Pentru a utiliza aceste noi API-uri trebuie să aveți actualizat / descărcat XCode 12.

Urmărirea publicității și obținerea IDFA

Înainte de iOS14, obținerea IDFA a fost destul de simplă.

Trebuia să verifici dacă Urmărirea publicității a fost activat sau nu, procedând astfel:

[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]

Și dacă a fost dezactivat, asta însemna că puteți achiziționa IDFA prin ASIdentifierManager clasa, asa:

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

Destul de simplu, nu?

☝️ Început cu iOS10, dacă utilizatorul dezactivează urmărirea publicității, metoda de mai sus ar returna un șir UUID umplut cu zerouri.

Una dintre modificările din iOS14 este deprecierea metodei care verifică dacă urmărirea agentului de publicitate este activată sau nu. Deci, cum pot aplicațiile să obțină râvnitul IDFA de pe iOS14 și mai departe?

Ei vor trebui să utilizeze un nou API care prezintă un dialog utilizatorului. Câteva cuvinte de înțelepciune cu privire la acest dialog:

  • Poate fi prezentat doar utilizatorului o singura data
  • Singurul lucru care poate fi modificat în interfața de dialog a dialogului sunt cele două linii de deasupra opțiunii Permite urmărirea („Vrei să fii urmărit?”)

Aceasta înseamnă că dezvoltatorii vor trebui să se gândească mult și cum să prezinte mesajul utilizatorului.

Stare de autorizare

Cu iOS14, a fost creat un nou cadru numit Transparența urmăririi aplicațiilor. Acest cadru conține o clasă numită ATTrackingManager, care oferă un API pentru:

  1. Prezentați un dialog utilizatorului care solicită permisiunea de urmărire a acestora
  2. Interogați starea autorizației (indiferent dacă este afișat sau nu afișat dialogul)

Mai întâi vom afla cum să obținem statutul de autorizare. Pentru a face acest lucru, trebuie să apelați trackingAuthorizationStatus metodă.

ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];

Acesta va returna un NSUInteger cu una dintre următoarele valori:

  • ATTrackingManagerAuthorizationStatusNotDetermined = 0
  • ATTrackingManagerAuthorizationStatusRestricted = 1
  • ATTrackingManagerAuthorizationStatusAuthorized = 3
  • ATTrackingManagerAuthorizationStatusDenied = 2

Primele trei rezultate se explică de la sine, așa că ne vom concentra un minut pe ultimul.

Puteți obține o stare de autorizare care este restricționată atunci când ecranul pentru activarea / dezactivarea urmăririi publicității este blocat și această opțiune este setată la activată.

Apple a recunoscut acest lucru în dispozitivele care sunt identificate ca aparținând copiilor (de exemplu).

Solicitarea permisiunii de urmărire

Înainte de a căuta codul necesar pentru a prezenta dialogul, trebuie mai întâi să includeți fișierul NSUserTrackingUsageDescription cheie din fișierul info.plist.

Ceea ce adăugați ca valoare pentru această cheie va apărea ca cele două linii menționate anterior, în dialog.

1611070324 314 Cum sa obtineti identificatorul pentru agentii de publicitate IDFA in
NSUserTrackingUsageDescription în fișierul info.plist

Pentru a prezenta dialogul, trebuie să apelăm requestTrackingAuthorizationWithCompletionHandler:

[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        if (status == ATTrackingManagerAuthorizationStatusDenied) {
            //Logic when authorization status is denied
        } else if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
            //Logic when authorization status is authorized
        } else if (status == ATTrackingManagerAuthorizationStatusNotDetermined) {
            //Logic when authorization status is unknown
        }  else if (status == ATTrackingManagerAuthorizationStatusRestricted) {
            //Logic when authorization status is restricted
        }
    }];

În prima imagine a acestui articol (unde vedeți dialogul) puteți vedea că liniile pe care le-am scris în fișierul info.plist apar ca cele două linii din dialog.

Înfășurându-se

În concluzie, este important să ne amintim că aceste schimbări, deși descurajante, nu au loc imediat.

De asemenea, trebuie să vă asigurați că urmați toți pașii detaliați în acest articol pentru a nu întâlni blocări / erori în aplicațiile dvs.