Siirry sisältöön

Kieli

Dokumentaation valikko

Vue-SDK

Käytä Cookieshia Vue 3- ja Nuxt-sovelluksissa: lisäosan asennus, reaktiivinen suostumus useConsentilla, ConsentGate ja kirjautuneiden käyttäjien synkronointi.

Päivitetty viimeksi 29. lokakuuta 2026

Vue-SDK tarjoaa kävijän suostumuksen reaktiivisena tilana, joten mallipohjat päivittyvät heti, kun valinta muuttuu. SDK tukee Vue 3.3:a ja uudempia versioita, ja siihen kuuluu Nuxt-moduuli.

Asennus

npm install @cookiesh/vue

Lataa Cookieshin script-tagi ensimmäisenä index.html-tiedoston <head>-osassa pikaoppaan mukaisesti. Rekisteröi sitten lisäosa:

// main.ts
import { createApp } from 'vue';
import { createCookiesh } from '@cookiesh/vue';
import App from './App.vue';

createApp(App)
  .use(createCookiesh({ siteId: 'ck_live_8f2a91' }))
  .mount('#app');

createCookiesh() hyväksyy samat asetukset kuin React-provider: siteId, language ja onChange.

useConsent

<script setup lang="ts">
import { watch } from 'vue';
import { useConsent } from '@cookiesh/vue';

const consent = useConsent();

watch(
  () => consent.analytics,
  (allowed) => analytics.setEnabled(allowed),
  { immediate: true },
);
</script>

<template>
  <button type="button" @click="consent.openPreferences()">Privacy settings</button>
</template>

useConsent() palauttaa reaktiivisen olion, jossa on samat kentät kuin React-hookissa: ready, necessary, preferences, analytics, marketing ja method, sekä metodit acceptAll(), rejectAll(), setConsent(), showBanner() ja openPreferences(). Älä pura oliota osiin, sillä arvot menettävät silloin reaktiivisuutensa. Käytä toRefs(consent)-kutsua, jos tarvitset erillisiä refejä.

ConsentGate

<script setup lang="ts">
import { ConsentGate } from '@cookiesh/vue';
</script>

<template>
  <ConsentGate category="marketing">
    <YouTubeEmbed id="dQw4w9WgXcQ" />
    <template #fallback>
      <VideoPlaceholder />
    </template>
  </ConsentGate>
</template>

Oletusslotti renderöidään vain, kun jokainen luetelluista kategorioista on sallittu. Jos haluat vaatia useita kategorioita, välitä category-propille taulukko.

Kirjautuneet käyttäjät

Kutsu identify() kirjautumisen jälkeen ja reset() uloskirjautumisen jälkeen, niin valinta seuraa käyttäjää laitteelta toiselle:

import { useCookiesh } from '@cookiesh/vue';

const cookiesh = useCookiesh();

await cookiesh.identify(user.id);
// …
cookiesh.reset();

useCookiesh() palauttaa koko JavaScript-API:n, mukaan lukien tapahtumien tilaamiseen käytettävän on()-metodin.

Nuxt

Lisää moduuli ja sivustotunnisteesi nuxt.config.ts-tiedostoon. Moduuli lisää script-tagin jokaisen sivun <head>-osaan ja rekisteröi lisäosan asiakaspuolella:

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@cookiesh/nuxt'],
  cookiesh: {
    siteId: process.env.NUXT_PUBLIC_COOKIESH_SITE_ID,
  },
});

Palvelinrenderöinnin aikana ready on false, ja kaikki kategoriat paitsi necessary ovat false, joten suostumuksesta riippuva sisältö renderöidään vain asiakaspuolella. Vältä asettelun siirtymät käärimällä se <ClientOnly>-komponenttiin tai ConsentGate-komponenttiin, jolla on samankokoinen varasisältö.