WebView-lərdə Razılıq: Native və Veb Razılığı Sinxron Saxlamaq

İkiqat banner problemi

Bir çox tətbiq qismən native, qismən vebdir. Oyun mağazasını, xəbərlərini və ya kömək səhifələrini WebView-də göstərir; utilit tətbiqi məqalələri saytından render edir; hibrid tətbiq interfeysinin çoxunu veb məzmuna sarıyır. Hər tərəfin öz razılıq mexanizmi var: native tətbiq tətbiqdaxili CMP və ya SDK istifadə edir, veb səhifələr isə veb CMP yükləyir. Bunlar əlaqələndirilməzsə, istifadəçidən iki dəfə soruşulur, bir yerdə edilən seçimlər digərində nəzərə alınmır və WebView daxilindən gedən reklam sorğuları yanlış siqnallarla çıxır.

Bu bələdçi native və veb razılığının necə uyğunlaşdırılacağını əhatə edir ki, istifadəçilər bir dəfə cavab versin və hər reklam sorğusu eyni qərarı daşısın.

Hər tərəf razılığı harada saxlayır

Native

IAB TCF tətbiqdaxili CMP-nin razılığı necə saxladığını müəyyən edir: iOS-da NSUserDefaults-da və Android-də SharedPreferences-də, IABTCF_TCString, IABTCF_gdprApplies və IABTCF_PurposeConsents kimi standart açarlarla. Reklam SDK-ları bu açarları birbaşa oxuyur. IAB GPP IABGPP_ prefiksi ilə oxşar açarlar müəyyən edir, məsələn IABGPP_HDR_GppString.

Veb

Veb CMP qərarını adətən saytın domeni üçün first-party cookie-lərdə və ya lokal yaddaşda saxlayır və onu __tcfapi və __gpp JavaScript funksiyaları ilə təqdim edir. Səhifədəki reklam teqləri native yaddaşı yox, bu funksiyaları çağırır.

Boşluq

WebView-lərin cihaz brauzerindən və tətbiqin native parametrlərindən ayrı, öz cookie və yaddaş sahəsi var. iOS-da qalıcı olmayan data store istifadə edən WKWebView bağlananda hər şeyi unudur. Özünüz qurmasanız, iki tərəf arasında heç nə axmır.

Bir həqiqət mənbəyi seçin

İlk qərar razılığın hansı tərəfə məxsus olmasıdır. Əksər tətbiqlər üçün cavab native CMP-dir, çünki:

Veb-birinci yanaşma interfeysinin hamısı veb məzmun olan hibrid tətbiqlər üçün məntiqli ola bilər, lakin bu halda qərarı native SDK-lar üçün native yaddaşa geri yazmalısınız.

Native razılığı WebView-ə ötürmək

Native həqiqət mənbəyi olduqda, WebView eyni qərarı görməlidir. Ümumi nümunələr:

  1. __tcfapi implementasiyasını inyeksiya edin. Səhifənin skriptləri işləməzdən əvvəl __tcfapi-ni (lazım gələrsə __gpp-ni) müəyyən edən və çağırışlara TC string və native yaddaşdan oxunmuş dəyərlərlə cavab verən kiçik skript inyeksiya edin. Səhifədəki reklam teqləri native qərarı standart API vasitəsilə alır.
  2. Veb banneri sıxışdırın. Səhifə tətbiqiniz daxilində yüklənəndə veb CMP-ni gizli qalacaq şəkildə konfiqurasiya edin, məsələn, query parametri və ya nəzarət etdiyiniz fərdi user agent tokeni əsasında. Əks halda istifadəçi ikinci banneri görür.
  3. Sətri yükləmə zamanı ötürün. Bəzi veb CMP-lər inisializasiya zamanı mövcud razılıq sətrini qəbul edib mənimsəyə bilər. Dəstəklənən üsullar üçün veb CMP-nizin sənədlərini yoxlayın.

Hansı nümunədən istifadə etsəniz də, inyeksiya edilmiş dəyərlərin istifadəçi native parametrlər ekranında seçimini dəyişdikdə yeniləndiyinə əmin olun, yalnız tətbiqin növbəti açılışında yox.

Veb razılığını native-ə geri ötürmək

İstifadəçilər razılığı WebView daxilində, məsələn, məxfilik parametrləri səhifəsi vasitəsilə dəyişə bilirsə, tətbiq bunu bilməlidir. JavaScript körpüsündən istifadə edin: iOS-da message handler və ya Android-də JavaScript interfeysi. Veb tərəf __tcfapi('addEventListener', ...) ilə dinləyir və yeni sətri standart açarları yazan native koda göndərir. WebView-dən gələn girişi yazmadan əvvəl yoxlayın; mesajları yalnız öz məzmununuzdan qəbul edin.

WebView-lərdə reklamlar

WebView-də render edilən reklamlar veb reklamlardır. Reklam SDK-sı ikisini əlaqələndirmək yolu təmin etməyibsə, onlar razılığı native yaddaşdan yox, səhifədən oxuyur. Məsələn, Google-ın Mobile Ads SDK-sı WebView-ləri qeydiyyatdan keçirmək üçün API təklif edir ki, onların içindəki reklamlar tətbiqdən gələn siqnallardan istifadə edə bilsin; SDK-nız üçün cari sənədləri yoxlayın. Hər halda, sınaqla təsdiqləyin ki, WebView-dən gələn reklam sorğuları native reklam sorğuları ilə eyni TC və ya GPP sətrini daşıyır.

Sınaq çek-listi

Əsas nəticələr

← Bloq Hamısını Oxu →