Samþykki í WebView: haltu samþykki í appi og á vef í takt
Tvöfalda borðavandinn
Mörg öpp eru að hluta innfædd og að hluta vef. Leikur sýnir verslun sína, fréttir eða hjálparsíður í WebView; nytjaapp birtir greinar af vefsvæði sínu; blendingsapp vefur mestallt viðmót sitt inn í vefefni. Hvor hlið hefur sinn eigin samþykkisbúnað: innfædda appið notar CMP eða SDK í appinu og vefsíðurnar hlaða vef-CMP. Nema þetta sé tengt er notandinn spurður tvisvar, val sem er gert á einum stað er hunsað á hinum, og auglýsingabeiðnir innan úr WebView fara út með röng merki.
Þessi leiðarvísir fjallar um hvernig innfætt og vefsamþykki geta komið sér saman, svo notendur svari einu sinni og sérhver auglýsingabeiðni beri sömu ákvörðun.
Hvar hvor hlið geymir samþykki
Innfætt
IAB TCF tilgreinir hvernig CMP í appi geymir samþykki: í NSUserDefaults á iOS og SharedPreferences á Android, með stöðluðum lyklum eins og IABTCF_TCString, IABTCF_gdprApplies og IABTCF_PurposeConsents. Auglýsinga-SDK lesa þessa lykla beint. IAB GPP skilgreinir svipaða lykla með forskeytinu IABGPP_, svo sem IABGPP_HDR_GppString.
Vefur
Vef-CMP geymir ákvörðun sína yfirleitt í fyrsta aðila vafrakökum eða staðbundinni geymslu fyrir lén vefsvæðisins, og birtir hana í gegnum JavaScript-föllin __tcfapi og __gpp. Auglýsingamerki á síðunni kalla á þessi föll, ekki innfædda geymslu.
Bilið
WebView hefur eigið rými fyrir vafrakökur og geymslu, aðskilið frá vafra tækisins og aðskilið frá innfæddum stillingum appsins. Á iOS gleymir WKWebView sem notar óvaranlega gagnageymslu öllu þegar því er lokað. Ekkert flæðir milli hliðanna nema þú byggir það.
Veldu einn sannleiksuppruna
Fyrsta ákvörðunin er hvor hliðin á samþykkið. Fyrir flest öpp er svarið innfædda CMP-kerfið, vegna þess að:
- Það keyrir fyrst, áður en nokkurt WebView er opnað.
- Innfædd auglýsinga-SDK, sem afla yfirleitt mestra tekna, lesa innfædda geymslu.
- Á iOS er hægt að samræma það við App Tracking Transparency-beiðnina.
Vefur í fyrirrúmi getur átt við um blendingsöpp þar sem allt viðmótið er vefefni, en þá verður þú að skrifa ákvörðunina til baka í innfædda geymslu fyrir innfædd SDK.
Að senda innfætt samþykki inn í WebView
Þegar innfædda hliðin er sannleiksuppruninn þarf WebView að sjá sömu ákvörðun. Algeng mynstur:
- Settu inn útfærslu á
__tcfapi. Áður en skriftur síðunnar keyra skaltu setja inn litla skriftu sem skilgreinir__tcfapi(og__gppef þörf krefur) og svarar köllum með TC-strengnum og gildum lesnum úr innfæddri geymslu. Auglýsingamerki á síðunni fá þá innfæddu ákvörðunina í gegnum staðlaða viðmótið. - Bældu vefborðann niður. Stilltu vef-CMP-kerfið þannig að það haldist falið þegar síðan er hlaðin inni í appinu þínu, til dæmis byggt á fyrirspurnarbreytu eða sérsniðnu user agent-tákni sem þú stjórnar. Annars sér notandinn annan borða.
- Sendu strenginn við hleðslu. Sum vef-CMP geta tekið við fyrirliggjandi samþykkisstreng við upphafsstillingu og tileinkað sér hann. Athugaðu skjöl vef-CMP-kerfisins um studdar aðferðir.
Hvaða mynstur sem þú notar skaltu tryggja að innsettu gildin uppfærist þegar notandinn breytir vali sínu á innfædda stillingaskjánum, ekki aðeins við næstu ræsingu appsins.
Að senda vefsamþykki aftur í innfædda hlutann
Ef notendur geta breytt samþykki inni í WebView, til dæmis í gegnum persónuverndarstillingasíðu, verður appið að frétta af því. Notaðu JavaScript-brú: skilaboðameðhöndlara á iOS eða JavaScript-viðmót á Android. Vefhliðin hlustar með __tcfapi('addEventListener', ...) og sendir nýja strenginn til innfædda kóðans, sem skrifar stöðluðu lyklana. Staðfestu inntak frá WebView áður en þú skrifar það; taktu aðeins við skilaboðum frá þínu eigin efni.
Auglýsingar inni í WebView
Auglýsingar sem eru birtar í WebView eru vefauglýsingar. Þær lesa samþykki af síðunni, ekki úr innfæddri geymslu, nema auglýsinga-SDK bjóði leið til að tengja hvort tveggja. Mobile Ads SDK frá Google býður til dæmis forritaskil til að skrá WebView svo auglýsingar innan þeirra geti notað merki frá appinu; athugaðu núverandi skjöl fyrir þitt SDK. Hvað sem öðru líður skaltu staðfesta með prófun að auglýsingabeiðnir úr WebView beri sama TC- eða GPP-streng og innfæddar auglýsingabeiðnir.
Prófunargátlisti
- Ný uppsetning: ein samþykkisbeiðni, ekki tvær.
- Hafnaðu öllu í innfædda CMP-kerfinu, opnaðu WebView, skoðaðu auglýsingabeiðnir: strengurinn ætti að endurspegla höfnunina.
- Breyttu samþykki í innfæddum stillingum, farðu aftur í opið WebView: síðan ætti að sjá nýju ákvörðunina.
- Ef vefstillingar eru til skaltu breyta samþykki þar og staðfesta að innfæddu lyklarnir uppfærist.
- Drepðu appið og ræstu það aftur: ákvarðanir haldast á báðum hliðum.
- Prófaðu bæði á iOS og Android, því geymsla WebView hegðar sér ólíkt á hvoru.
Helstu atriði
- Innfætt samþykki og samþykki í WebView búa í aðskildum geymslum og samstillast ekki sjálfkrafa.
- Veldu einn sannleiksuppruna; fyrir flest öpp er það innfædda CMP-kerfið.
- Birtu innfætt samþykki fyrir vefefni með innsettu
__tcfapieða__gppog feldu vefborðann. - Notaðu JavaScript-brú til að senda breytingar af vefnum aftur í innfædda geymslu.
- Athugaðu að auglýsingabeiðnir úr WebView beri sama samþykkisstreng og innfæddar beiðnir.