Съгласие за бисквитки за едностранични приложения (React, Vue, Angular)
Защо SPA приложенията са трудни за съгласие за бисквитки
Едностраничните приложения се зареждат веднъж и обработват навигацията от страна на клиента. Няма презареждания на страницата, които да задействат повторно проверките за съгласие. Скриптовете на трети страни, заредени в index.html, се изпълняват преди появата на какъвто и да е интерфейс за съгласие.
Чести грешки при SPA
- Зареждане на Google Analytics в index.html преди съгласие
- Липса на повторна проверка на състоянието на съгласието при промяна на маршрути
- Загуба на състоянието на съгласието при повторно рендериране на приложението
- Задействане на събития за проследяване в жизнения цикъл на компонентите без проверки за съгласие
Правилна имплементация
- Заредете само скрипта на CMP в HTML head — нищо друго
- Заредете условно скриптове на трети страни само след като бъде дадено съгласие
- Използвайте JavaScript API на CMP за програмна проверка на състоянието на съгласието
- Обвържете извикванията за анализи и маркетинг с проверки за съгласие във вашите компоненти
Съвети за конкретни фреймуъркове
React
Използвайте доставчик на контекст за съгласие. Проверявайте състоянието на съгласието в useEffect хукове преди инициализиране на тракери.
Vue
Създайте плъгин за съгласие. Използвайте router guard-ове за проверка на състоянието на съгласието при навигация.
Angular
Използвайте услуга за съгласие, инжектирана чрез DI. Проверявайте съгласието в route guard-ове и при инициализация на компоненти.
FlexyConsent със SPA
Подходът на FlexyConsent с един скрипт работи с всеки фреймуърк. Зарежда се асинхронно, управлява състоянието на съгласието чрез бисквитки и предоставя JavaScript API за програмни проверки на съгласието. Не е необходим SDK за конкретен фреймуърк.