پروگریسو ویب ایپس (PWA) کے لیے کوکی رضامندی: ناشرین کے لیے رہنمائی
PWA رضامندی کا حد بندی کا معاملہ کیوں ہیں
ایک پروگریسو ویب ایپ نیٹیو ایپ کی طرح برتاؤ کرتی ہے — یہ ہوم اسکرین پر انسٹال ہوتی ہے، آف لائن چلتی ہے، اور جارحانہ انداز میں کیش کرتی ہے — لیکن یہ پھر بھی ایک براؤزر سے پیش کی جاتی ہے، لہٰذا کوکیز اور ویب اسٹوریج کے قواعد لاگو ہوتے ہیں۔ یہی ہائبرڈ نوعیت وہ ہے جو ناشرین کو الجھا دیتی ہے: کسی بھی ویب سائٹ جیسی ہی GDPR رضامندی کی ذمہ داریاں، service workers اور مستقل کیشز کے اوپر، جو صارف کے انکار کے بعد بھی خاموشی سے ڈیٹا اور اسکرپٹس برقرار رکھ سکتے ہیں۔
PWA چیزیں کہاں محفوظ کرتے ہیں
اس سے پہلے کہ آپ ذخیرہ کاری کو رضامندی پر مشروط کر سکیں، آپ کو ہر اس جگہ کا علم ہونا چاہیے جہاں ایک PWA ڈیٹا برقرار رکھ سکتا ہے:
- کوکیز — کلاسیکی سطح، ہمیشہ کی طرح رضامندی کے تحت۔
- LocalStorage / IndexedDB — اکثر ایپ کی حالت کے لیے استعمال ہوتے ہیں، لیکن تجزیات اور اشتہاری شناخت کنندگان کے لیے بھی۔
- Cache Storage — service worker تیسرے فریق کی اسکرپٹس (تجزیات، اشتہاری SDK) کو کیش کر سکتا ہے تاکہ وہ آف لائن بھی چلیں۔
- خود service worker — سیشنز کے درمیان برقرار رہتا ہے اور اگلے آغاز پر ٹریکنگ دوبارہ رجسٹر کر سکتا ہے۔
رضامندی کو ان سب کو چلانا چاہیے، صرف document.cookie کو نہیں۔
رضامندی کو ترجیح دینے والا service worker پیٹرن
بنیادی اصول: service worker کو کسی بھی غیر ضروری تیسرے فریق کے وسائل کو کیش کرنے یا چلانے سے پہلے رضامندی کی حالت پڑھنی چاہیے۔ ایک صاف پیٹرن یوں نظر آتا ہے:
- رضامندی کے سگنل کو کہیں ایسی جگہ محفوظ کریں جہاں service worker اسے پڑھ سکے — IndexedDB یا کیش انٹری جسے CMP ہر انتخاب پر اپ ڈیٹ کرتا ہے۔
- service worker کے
fetchہینڈلر میں، تجزیاتی/اشتہاری اینڈ پوائنٹس کو کیش کرنے سے انکار کریں جب تک کہ اس مقصد کے لیے رضامندی موجود نہ ہو۔ - جب کوئی صارف رضامندی واپس لے، تو service worker کو ایک پیغام بھیجیں کہ کیش شدہ ٹریکنگ اسکرپٹس کو صاف کرے اور متعلقہ IndexedDB اسٹورز کو خالی کرے۔
اس آخری مرحلے کو چھوڑنا PWA کی تعمیل کا سب سے عام خلا ہے: بینر “مسترد” کہتا ہے، لیکن ایک کیش شدہ تجزیاتی اسکرپٹ اگلے آف لائن آغاز پر service worker سے فائر ہوتی رہتی ہے۔
آف لائن رضامندی UX
PWA بغیر نیٹ ورک کے شروع ہو سکتے ہیں۔ آپ کا رضامندی بینر اور صارف کا محفوظ شدہ انتخاب دونوں کو آف لائن کام کرنا چاہیے — خود CMP کے UI کو کیش کریں، اور صرف اس لیے کبھی “دی گئی” کو پہلے سے طے شدہ نہ کریں کہ رضامندی سرور تک رسائی نہیں۔ اگر آپ پہلے کے انتخاب کی تصدیق نہیں کر سکتے، تو صارف کو غیر راضی سمجھیں اور صرف ضروری فعالیت پیش کریں جب تک آپ کر سکیں۔
اشتہاری آمدنی پر اثرات
اشتہار سے چلنے والے PWA کے لیے، رضامندی کی حالت کو درخواست کے وقت آپ کے اشتہاری SDK تک پہنچنا ضروری ہے، آن لائن ہو یا آف لائن۔ ایک درست طریقے سے جڑا ہوا PWA IAB TCF اسٹرنگ اور Consent Mode v2 سگنلز کو طلب کے شراکت داروں تک بالکل ایک عام سائٹ کی طرح پہنچاتا ہے؛ ایک غلط ترتیب شدہ PWA ایک پرانی “کوئی رضامندی نہیں” حالت کیش کرتا ہے اور آپ کے eCPM کو غیر معینہ مدت تک غیر ذاتی نوعیت کی شرحوں پر گرا دیتا ہے۔ رضامندی کی تازگی کو آمدنی کی میٹرک سمجھیں۔
FlexyConsent کیسے مدد کرتا ہے
FlexyConsent رضامندی کے ریکارڈ کو ایک ایسے اسٹور میں محفوظ کرتا ہے جسے service worker پڑھ سکے، TCF اور Consent Mode v2 سگنلز خارج کرتا ہے جو آف لائن آغاز سے بچ جاتے ہیں، اور ایک واپسی کا hook ظاہر کرتا ہے جسے آپ کیش صاف کرنے سے جوڑ سکتے ہیں — تاکہ آپ کا PWA مطابق رہے اور آپ کا اشتہاری اسٹیک ہر سطح پر ممکنہ تازہ ترین رضامندی سگنل برقرار رکھے۔
اہم نکات
- PWA کو مکمل GDPR رضامندی کی ذمہ داریوں کے ساتھ ساتھ service worker اور کیش کی پیچیدگیوں کا سامنا ہے۔
- کوکیز، LocalStorage، IndexedDB اور Cache Storage کو رضامندی پر مشروط کریں — صرف کوکیز کو نہیں۔
- واپسی پر، کیش شدہ ٹریکنگ اسکرپٹس کو صاف کریں اور محفوظ شناخت کنندگان کو خالی کریں۔
- رضامندی کی حالت کو تازہ اور آف لائن محفوظ رکھیں تاکہ اشتہاری آمدنی غیر ذاتی نوعیت کی شرحوں پر نہ پھنسے۔