Sutikimas WebView: kaip išlaikyti natyvų ir žiniatinklio sutikimą sinchronizuotą

Dvigubos reklamjuostės problema

Daug programėlių yra iš dalies natyvios, iš dalies žiniatinklio. Žaidimas parduotuvę, naujienas ar pagalbos puslapius rodo WebView; paslaugų programėlė atvaizduoja straipsnius iš savo svetainės; hibridinė programėlė didžiąją sąsajos dalį apgaubia žiniatinklio turiniu. Kiekviena pusė turi savo sutikimo mechanizmą: natyvi programėlė naudoja programėlės CMP ar SDK, o žiniatinklio puslapiai įkelia žiniatinklio CMP. Jei jie nesujungti, vartotojo klausiama du kartus, vienoje vietoje padaryti pasirinkimai kitoje ignoruojami, o reklamos užklausos iš WebView išeina su netinkamais signalais.

Šiame vadove aprašoma, kaip suderinti natyvų ir žiniatinklio sutikimą, kad vartotojai atsakytų vieną kartą, o kiekviena reklamos užklausa nešiotų tą patį sprendimą.

Kur kiekviena pusė saugo sutikimą

Natyvi

IAB TCF nurodo, kaip programėlės CMP saugo sutikimą: iOS NSUserDefaults, Android — SharedPreferences, naudojant standartinius raktus, tokius kaip IABTCF_TCString, IABTCF_gdprApplies ir IABTCF_PurposeConsents. Reklamos SDK šiuos raktus skaito tiesiogiai. IAB GPP apibrėžia panašius raktus su prefiksu IABGPP_, pavyzdžiui, IABGPP_HDR_GppString.

Žiniatinklio

Žiniatinklio CMP sprendimą paprastai saugo pirmosios šalies slapukuose ar vietinėje saugykloje svetainės domenui ir atskleidžia jį per JavaScript funkcijas __tcfapi ir __gpp. Puslapyje esančios reklamos žymės kviečia šias funkcijas, o ne natyvią saugyklą.

Spraga

WebView turi savo slapukų ir saugyklos erdvę, atskirtą nuo įrenginio naršyklės ir nuo programėlės natyvių nuostatų. iOS WKWebView, naudojantis nepastoviąją duomenų saugyklą, uždarytas viską pamiršta. Tarp abiejų pusių niekas nenuteka, nebent jūs tai sukursite.

Pasirinkite vieną tiesos šaltinį

Pirmasis sprendimas yra tai, kuri pusė valdo sutikimą. Daugumai programėlių atsakymas yra natyvus CMP, nes:

Web-first gali būti prasmingas hibridinėms programėlėms, kurių visa sąsaja yra žiniatinklio turinys, bet tada sprendimą turite įrašyti atgal į natyvią saugyklą natyviems SDK.

Natyvaus sutikimo perdavimas į WebView

Kai tiesos šaltinis natyvus, WebView turi matyti tą patį sprendimą. Dažni šablonai:

  1. Įterpkite __tcfapi įgyvendinimą. Prieš paleidžiant puslapio skriptus, įterpkite mažą skriptą, kuris apibrėžia __tcfapi (ir prireikus __gpp) ir atsako į iškvietimus TC eilute bei reikšmėmis, nuskaitytomis iš natyvios saugyklos. Puslapio reklamos žymės tada gauna natyvų sprendimą per standartinę API.
  2. Užslopinkite žiniatinklio reklamjuostę. Sukonfigūruokite žiniatinklio CMP, kad liktų paslėptas, kai puslapis įkeliamas jūsų programėlės viduje, pavyzdžiui, pagal užklausos parametrą ar jūsų kontroliuojamą pasirinktinį user agent žetoną. Antraip vartotojas pamatys antrą reklamjuostę.
  3. Perduokite eilutę įkeliant. Kai kurie žiniatinklio CMP inicializuojant gali priimti esamą sutikimo eilutę ir ją perimti. Palaikomus metodus rasite savo žiniatinklio CMP dokumentacijoje.

Kad ir kurį šabloną naudotumėte, įsitikinkite, kad įterptos reikšmės atsinaujina, kai vartotojas pakeičia pasirinkimą natyviame nustatymų ekrane, o ne tik kitą kartą paleidus programėlę.

Žiniatinklio sutikimo perdavimas atgal natyviai pusei

Jei vartotojai gali keisti sutikimą WebView viduje, pavyzdžiui, per privatumo nustatymų puslapį, programėlė turi apie tai sužinoti. Naudokite JavaScript tiltą: iOS pranešimų tvarkyklę arba Android JavaScript sąsają. Žiniatinklio pusė klausosi per __tcfapi('addEventListener', ...) ir siunčia naują eilutę natyviam kodui, kuris įrašo standartinius raktus. Prieš rašydami patikrinkite iš WebView gaunamus įvesties duomenis; priimkite tik savo turinio pranešimus.

Reklama WebView viduje

WebView atvaizduojamos reklamos yra žiniatinklio reklamos. Jos skaito sutikimą iš puslapio, o ne iš natyvios saugyklos, nebent reklamos SDK suteikia būdą abi susieti. Pavyzdžiui, Google Mobile Ads SDK siūlo API WebView registruoti, kad juose esančios reklamos galėtų naudoti programėlės signalus; dabartinę savo SDK dokumentaciją patikrinkite. Bet kuriuo atveju testu patvirtinkite, kad reklamos užklausos iš WebView neša tą pačią TC ar GPP eilutę kaip natyvios reklamos užklausos.

Testavimo kontrolinis sąrašas

Pagrindinės išvados

← Tinkladevlaraderegistris Skaityti viską →