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ð:

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:

  1. Settu inn útfærslu á __tcfapi. Áður en skriftur síðunnar keyra skaltu setja inn litla skriftu sem skilgreinir __tcfapi (og __gpp ef þö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ð.
  2. 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.
  3. 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

Helstu atriði

← Blogg Lesa allt →