Вы должны скомбинировать плагин Gatsby и создать свой собственный поварский баннер ie или использовать готовый компонент для достижения этой цели.
Сначала как AskaNor_29 предложил вам установить и настройте плагин gatsby-plugin-gdpr-cookies
. Вы можете получить плагин здесь .
Сконфигурировать плагин в gatsby-config. js
// In your gatsby-config.js
module.exports = {
plugins: [
{
resolve: `gatsby-plugin-gdpr-cookies`,
options: {
googleAnalytics: {
trackingId: 'YOUR_GOOGLE_ANALYTICS_TRACKING_ID',
// Setting this parameter is optional
anonymize: true
},
facebookPixel: {
pixelId: 'YOUR_FACEBOOK_PIXEL_ID'
},
// Defines the environments where the tracking should be available - default is ["production"]
environments: ['production', 'development']
},
},
],
}
Вторая часть показывает согласие повара ie баннер или модальный, чтобы пользователь мог сделать свой выбор.
Для этого вы можете использовать модуль react-cookie-consent
npm. Вы можете получить пакет npm здесь .
Чтобы он работал с gatsby-plugin-gdpr-cookies
, вам необходимо установить cookieName="gatsby-gdpr-google-analytics"
prop.
Тогда вы поместите компонент CookieConsent
в файл layout.js
, чтобы он активировался на любой странице, которую пользователь посещает первым.
<CookieConsent
location="bottom"
buttonText="Accept"
declineButtonText="Decline"
cookieName="gatsby-gdpr-google-analytics">
This site uses cookies ...
</CookieConsent>
Компонент принимает много реквизитов, чтобы вы могли настроить поведение и внешний вид.
Если вы хотите, чтобы были установлены файлы cookie Google Analytics и Facebook Pixel, существуют обратные вызовы для принятия / отклонения файлов cookie, где вы можете добавить свой собственный код для установки обоих файлов cookie.
Если вам интересно, я написал длиннее инструкции с описанием шагов .