ARCY AI
Platform

Onay

Kendi çerez politikanıza verilen tek bir onay, ister bildiriminiz ister sohbet sorsun, ve iki tarafı aynı yanıtta tutan üç arcy.js çağrısı.

ARCY, ziyaretçi sizin çerez politikanıza onay verene kadar cihazına hiçbir şey yazmaz. Onay tektir, iki tane değildir: kendi politikanız arcy.js'in neler yazdığını anlatan çerez şablonunu taşır, dolayısıyla bildiriminizi kabul eden ziyaretçi ARCY'yi de kabul etmiş olur. Widget'ın tek ihtiyacı bunu duymaktır.

Ziyaretçinin evet diyebileceği iki yer vardır ve ikisi de geçerlidir:

  • Sizin çerez bildiriminiz. Kabul düğmesi arcy.consent(true), Reddet düğmesi arcy.consent(false) çağırır. Olağan yol budur.
  • Sohbetin kendisi. Kayıtlı bir onayı olmadan sohbete uzanan ziyaretçiye tam orada, sizin ağzınızdan, gizlilik politikanıza ve çerez politikanıza bağlantı verilerek sorulur.

Bu ikisi aralarından seçim yapacağınız seçenekler değildir. Ortam başına ayarlanacak bir şey yoktur. Her ortam aynı davranır ve ARCY'ye verdiğiniz tek şey Settings > App altındaki Onay kartındaki iki adrestir.

Sohbet ne zaman, ne sorar

Soru, ziyaretçi depolama gerektiren bir şeyi ilk kez yaptığında belirir: Gönder'e basmak, bir başlangıç sorusuna dokunmak, Geçmiş, Akışlar ya da Ayarlar çekmecesini açmak veya görsel düğmesine basmak. Paneli açmak, karşılamayı okumak ya da paneli köşeye küçültmek soruyu asla getirmez. Bakmak serbesttir; kullanmak yanıt ister.

Soru sizin sitenizin ağzından yazılmıştır ("Çerez kullanıyoruz..."), gizlilik politikanıza ve çerez politikanıza bağlanır ve tek bir düğmesi vardır: Kabul et. Reddet yoktur. Paneli kapatmak "şimdi değil" demektir: hiçbir şey yazılmaz ve ziyaretçi sohbeti bir sonraki kez kullanmaya çalıştığında soru geri gelir.

Onay kartındaki iki adresi de doldurana kadar soru ARCY'nin kendi sayfalarına bağlanır: arcyai.com/privacy ve arcyai.com/cookie-policy. Doğru sayfalardır ama sizin değil bizim sayfalarımızdır, bu yüzden kart iki alan da dolana kadar sizi uyarır. Sohbet çubuğunun altındaki "[yazılım ürünü adınız] yapay zekadır ve hata yapabilir · Gizlilik Politikası" satırı için de aynı yedek geçerlidir.

Ret ne anlama gelir

Bildiriminizden gelen arcy.consent(false) çağrısı reddi altı ay boyunca kaydeder. Ret tek bir şey yapar: ARCY'nin ilk konuşan taraf olmasını durdurur. Koşulları tutan bir akış, hayır demiş bir ziyaretçi için kendi başına açılıp soruyu göstermez. Ziyaretçi yine de sohbete uzanabilir ve uzandığında sohbet yeniden sorar. Bu ikinci soru bilerek oradadır. Bildirimi reddedip yirmi saniye sonra bir soru yazan ziyaretçi, artık politikanızın anlattığı bir hizmeti istiyordur ve o anda sormak, aynı onay için ikinci şansınızdır.

Hiç yanıt vermemiş bir ziyaretçi farklıdır: koşulları tutan bir akış soruyu kendi başına gösterebilir, çünkü henüz kimse hayır dememiştir.

Bir onaydan sonra arcy.consent(false) çağırmak onayı geri çekmektir. Toplama durur, ARCY'nin cihaza yazdığı her çerez ve anahtar silinir ve ret kaydedilir. Sonradan onay veren ziyaretçi, geçmişi olmayan yeni bir ziyaretçi olarak başlar. Geri çekme ileriye dönüktür: bizim tarafımızda zaten saklanmış hiçbir şey bununla silinmez; silme ayrı bir taleptir.

Widget'ın kendi Ayarlar sayfasında onay kontrolü yoktur. Ziyaretçinin fikrini değiştirdiği yer sizin bildiriminizdir, çünkü fikrini değiştirdiği şey sizin politikanızdır.

Üç çağrı

Üçü de önce init() çalışmış olmasını ister. Herhangi birini init() öncesinde çağırmak bir konsol uyarısı yazar ve hiçbir şey yapmaz.

consent(granted)

ts
consent(granted: boolean): void

Ziyaretçinin yanıtını kaydeder. true bir onaydır: ARCY artık anonim kimlik çerezini yazabilir ve oturumunu başlatabilir. false bir rettir, kayıtlı bir onay varsa geri çekmedir. Zaten kayıtlı olan yanıtla çağırmak hiçbir şeyi değiştirmez.

consentState()

ts
consentState(): "granted" | "refused" | null

Ziyaretçinin kendi cihazından okunan güncel yanıt. null, ziyaretçinin hiç yanıt vermediği ya da bildirimin eski bir sürümüne yanıt verip yeniden sorulması gerektiği anlamına gelir. Bildiriminizin kendini gösterip göstermeyeceğine bununla karar verin.

onConsent(callback)

ts
onConsent(callback: (granted: boolean) => void): () => void

Kaynağı ne olursa olsun her değişimde tetiklenir: bildiriminizin consent() çağırması, bir ziyaretçinin sohbetin içinde Kabul et'e basması ya da bir geri çekme. Geri çağrı true veya false alır. Aboneliği bırakan bir işlev döndürür. Sohbetin içinde verilen bir kabulün kendi analitiğinize, CMP'nize ya da Google Consent Mode'a ulaşmasını sağlayan köprü budur; böylece iki taraf tek bir yanıt tutar.

Bağlama

Düz bir bildirim

HTML kurulum yolu arcy.js'i eş zamansız yükler, bu yüzden durumu betiğinizin ilk satırında değil, widget hazır olduğunda okuyun.

html
<div id="cookie-banner" hidden>
  Çerez kullanıyoruz. <a href="/cerez-politikasi">Daha fazla bilgi</a>
  <button id="cookie-accept">Kabul et</button>
  <button id="cookie-reject">Reddet</button>
</div>

<script>
  // Settings > Installation ekranındaki yükleyici bunun üstünde çalışır.
  arcy.on("ready", function () {
    var banner = document.getElementById("cookie-banner")
    if (arcy.consentState() === null) banner.hidden = false

    document.getElementById("cookie-accept").onclick = function () {
      arcy.consent(true)
      banner.hidden = true
    }
    document.getElementById("cookie-reject").onclick = function () {
      arcy.consent(false)
      banner.hidden = true
    }

    // Sohbetin içinde kabul eden ziyaretçi bildirimi bir daha görmemeli.
    arcy.onConsent(function (granted) {
      if (granted) banner.hidden = true
    })
  })
</script>

Google Analytics ya da Google Ads, Consent Mode arkasında çalışıyorsa ARCY'nin yanıtı her değiştiğinde onu da güncelleyin. Sohbetin içinde kabul eden ziyaretçi böylece analitiğinizi de açar, geri çekme ise yeniden kapatır.

js
arcy.onConsent((granted) => {
  gtag("consent", "update", {
    analytics_storage: granted ? "granted" : "denied",
  })
})

Bildiriminizin kendi gtag('consent', 'update', ...) çağrısını olduğu gibi bırakın. İki yol da aynı yerde biter.

Bir onay yönetim platformu (CMP)

Her CMP bir kabul ve bir ret geri çağrısı ile kendi durumunu okumanın bir yolunu sunar. Adlar değişir; biçim hep aynıdır. İki satır CMP'nin yanıtını ARCY'ye taşır, bir geri çağrı da sohbetin içindeki kabulü CMP'ye geri götürür. İkisinin birbirini döngüde çağırmaması için CMP'ye yazmadan önce durumunu kontrol edin.

js
cmp.onAccept(() => arcy.consent(true))
cmp.onReject(() => arcy.consent(false))

arcy.onConsent((granted) => {
  if (granted && !cmp.hasConsent()) cmp.acceptAll()
})

React

init(), bildirim ve abonelik tek bir bileşende toplanır, böylece hiçbir şey widget hazır olmadan durumu okumaz.

app/arcy.tsx
"use client"

import { useEffect, useState } from "react"
import arcy from "arcy.js"

export function ARCY() {
  const [showBanner, setShowBanner] = useState(false)

  useEffect(() => {
    let unsubscribe = () => {}
    arcy.init("arcy_pk_...").then(() => {
      setShowBanner(arcy.consentState() === null)
      unsubscribe = arcy.onConsent((granted) => {
        if (granted) setShowBanner(false)
      })
    })
    return () => unsubscribe()
  }, [])

  if (!showBanner) return null

  const answer = (granted: boolean) => {
    arcy.consent(granted)
    setShowBanner(false)
  }

  return (
    <div role="dialog">
      Çerez kullanıyoruz. <a href="/cerez-politikasi">Daha fazla bilgi</a>
      <button onClick={() => answer(true)}>Kabul et</button>
      <button onClick={() => answer(false)}>Reddet</button>
    </div>
  )
}

<ARCY /> bileşenini kök düzeninizde, init() çağırdığınız yerde bir kez yerleştirin.

Onaydan sonra ARCY ne yazar

Kayıtlı alan adınızda iki birinci taraf çerez, arcy.consent.<Token> (yanıt, onaydan önce yazılan tek şey) ve arcy.anon.<Token> (anonim kimlik, yalnızca onaydan sonra yazılır), ayrıca birkaç localStorage ve sessionStorage anahtarı. Süreleriyle birlikte tam liste ve kendi politikanız için hazır metin çerez politikası şablonunda.

Yanıt nerede görünür

Bir oturumun Etkinlik sayfası onayın bildiriminizden mi yoksa sohbetten mi geldiğini gösterir, böylece hukuk danışmanınıza tahmin yürütmeden yanıt verirsiniz.

Ayrıca bakınız

Bu sayfada