رضایت کوکی برای اپلیکیشنهای وب پیشرونده (PWA): راهنمای ناشران
چرا PWAها یک حالت مرزی رضایت هستند
یک اپلیکیشن وب پیشرونده مانند یک اپلیکیشن بومی رفتار میکند — روی صفحه اصلی نصب میشود، آفلاین اجرا میشود و بهشدت کش میکند — اما همچنان از طریق مرورگر ارائه میشود، بنابراین قوانین کوکیها و ذخیرهسازی وب اعمال میشوند. دقیقاً همین ماهیت ترکیبی است که ناشران را به اشتباه میاندازد: همان تعهدات رضایت GDPR مانند هر وبسایتی، که روی سرویسورکرها و کشهای دائمی قرار گرفتهاند که میتوانند بیصدا دادهها و اسکریپتها را پس از اینکه کاربر نه گفته نگه دارند.
PWAها دادهها را کجا ذخیره میکنند
پیش از آنکه بتوانید ذخیرهسازی را مشروط به رضایت کنید، باید هر جایی را که یک PWA میتواند داده را در آن نگه دارد بشناسید:
- کوکیها — سطح کلاسیک، که مانند همیشه توسط رضایت اداره میشود.
- LocalStorage / IndexedDB — اغلب برای وضعیت اپلیکیشن استفاده میشوند، اما همچنین برای تحلیلها و شناسههای تبلیغاتی.
- Cache Storage — سرویسورکر میتواند اسکریپتهای شخص ثالث (تحلیلها، SDKهای تبلیغاتی) را کش کند تا حتی آفلاین اجرا شوند.
- خودِ سرویسورکر — در طول نشستها باقی میماند و میتواند ردیابی را در راهاندازی بعدی دوباره ثبت کند.
رضایت باید همه اینها را اداره کند، نه فقط document.cookie را.
الگوی سرویسورکر با اولویت رضایت
اصل اساسی: سرویسورکر باید پیش از کش کردن یا اجرای هر منبع غیرضروری شخص ثالث، وضعیت رضایت را بخواند. یک الگوی تمیز به این شکل است:
- سیگنال رضایت را جایی ذخیره کنید که سرویسورکر بتواند آن را بخواند — در IndexedDB یا یک ورودی کش که CMP در هر انتخاب بهروزرسانی میکند.
- در هندلر
fetchسرویسورکر، از کش کردن اندپوینتهای تحلیلی/تبلیغاتی خودداری کنید مگر آنکه رضایت برای آن هدف وجود داشته باشد. - وقتی کاربر رضایت را پس میگیرد، پیامی به سرویسورکر بفرستید تا اسکریپتهای ردیابی کششده را پاکسازی کند و انبارهای IndexedDB مربوطه را پاک کند.
رد کردن این مرحله آخر رایجترین شکاف انطباق PWA است: بنر میگوید “رد شد،” اما یک اسکریپت تحلیلی کششده در راهاندازی آفلاین بعدی همچنان از سرویسورکر فعال میماند.
تجربه کاربری رضایت آفلاین
PWAها میتوانند بدون شبکه راهاندازی شوند. بنر رضایت شما و انتخاب ذخیرهشده کاربر هر دو باید آفلاین کار کنند — خود رابط کاربری CMP را کش کنید و هرگز فقط به این دلیل که سرور رضایت در دسترس نیست بهصورت پیشفرض به “اعطا شده” نروید. اگر نمیتوانید یک انتخاب قبلی را تأیید کنید، با کاربر مانند کسی که رضایت نداده رفتار کنید و فقط عملکرد ضروری را تا زمانی که بتوانید ارائه دهید.
پیامدهای درآمد تبلیغات
برای PWAهای پشتیبانیشده با تبلیغات، وضعیت رضایت باید در زمان درخواست، آنلاین یا آفلاین، به SDK تبلیغاتی شما برسد. یک PWA بهدرستی سیمکشیشده رشته IAB TCF و سیگنالهای Consent Mode v2 را درست مانند یک سایت معمولی به شرکای تقاضا منتقل میکند؛ یک مورد بد پیکربندیشده وضعیت کهنه “بدون رضایت” را کش میکند و eCPM شما را بهطور نامحدود به نرخهای غیرشخصیسازیشده فرومیریزد. تازگی رضایت را بهعنوان یک معیار درآمد در نظر بگیرید.
چگونه FlexyConsent کمک میکند
FlexyConsent سابقه رضایت را در انباری قابلخواندن توسط سرویسورکر ذخیره میکند، سیگنالهای TCF و Consent Mode v2 را که از راهاندازیهای آفلاین جان سالم به در میبرند منتشر میکند و یک هوک پسگیری ارائه میدهد که میتوانید آن را به پاکسازی کش متصل کنید — بنابراین PWA شما منطبق میماند و پشته تبلیغاتی شما تازهترین سیگنال رضایت ممکن را در هر سطحی حفظ میکند.
نکات کلیدی
- PWAها با وظایف کامل رضایت GDPR بهعلاوه پیچیدگیهای سرویسورکر و کش روبهرو هستند.
- کوکیها، LocalStorage، IndexedDB و Cache Storage را مشروط به رضایت کنید — نه فقط کوکیها را.
- در صورت پسگیری، اسکریپتهای ردیابی کششده را پاکسازی کنید و شناسههای ذخیرهشده را پاک کنید.
- وضعیت رضایت را تازه و ایمن در حالت آفلاین نگه دارید تا درآمد تبلیغات روی نرخهای غیرشخصیسازیشده گیر نکند.