Skip to main content
Version: Svelte SDK

Examples

Complete example appโ€‹

The example-svelte repository contains a working Svelte + Vite app with the Screeb SDK integrated.

Install provider with autoInitโ€‹

<!-- App.svelte -->
<script lang="ts">
import { setScreebContext } from "@screeb/sdk-svelte";

setScreebContext({
websiteId: "<YOUR-CHANNEL-ID>",
autoInit: true,
userId: "user-123",
userProperties: {
plan: "pro",
authenticated: true,
},
hooks: {
version: "1.0.0",
onReady: () => console.log("Screeb ready"),
},
});
</script>

Identify after loginโ€‹

<!-- App.svelte -->
<script lang="ts">
import { setScreebContext } from "@screeb/sdk-svelte";

setScreebContext({
websiteId: "<YOUR-CHANNEL-ID>",
autoInit: true,
});
</script>
<script lang="ts">
import { useScreeb } from "@screeb/sdk-svelte";

const { identity } = useScreeb();

async function onLogin(userId: string, email: string) {
await identity(userId, { email });
}
</script>

Track eventsโ€‹

<script lang="ts">
import { useScreeb } from "@screeb/sdk-svelte";

const { eventTrack } = useScreeb();
</script>

<button on:click={() => eventTrack("button-clicked", { page: "home" })}>
Click me
</button>

Trigger a survey on button clickโ€‹

<script lang="ts">
import { useScreeb } from "@screeb/sdk-svelte";

const { surveyStart } = useScreeb();
</script>

<button on:click={() => surveyStart("<survey-id>")}>Give feedback</button>