Examples
Practical, task-based code snippets for @screeb/sdk-angular.
Basic setup
If the user is already authenticated when the app loads, pass their identity directly in the provider config to avoid creating an anonymous user:
// app.config.ts (standalone)
import { provideScreeb } from "@screeb/sdk-angular";
export const appConfig: ApplicationConfig = {
providers: [
provideScreeb({
websiteId: "<YOUR-CHANNEL-ID>",
autoInit: true,
userId: "<USER-ID>",
userProperties: { email: "support@screeb.app", plan: "pro" },
}),
],
};
Screeb tracks WebView visibility automatically on iOS and Android via the Capacitor plugin. No extra config needed.
If the userId is not yet available at startup, omit it and call identity() after login (see below).
Identify a user after login
import { Component, inject } from "@angular/core";
import { ScreebService } from "@screeb/sdk-angular";
@Component({ ... })
export class AuthComponent {
private screeb = inject(ScreebService);
async onLogin(user: User) {
await this.screeb.identity(user.id, {
email: user.email,
plan: user.plan,
});
}
}
Track an event
await this.screeb.trackEvent("checkout_completed", {
amount: 99.99,
currency: "USD",
});
Start a survey programmatically
// Default targeting rules
await this.screeb.surveyStart("", {});
// Specific survey
await this.screeb.surveyStart("<SURVEY-ID>", {});
Use hooks
provideScreeb({
websiteId: "<YOUR-CHANNEL-ID>",
autoInit: true,
hooks: {
onSurveyCompleted: ({ surveyId }) => {
console.log("Survey completed:", surveyId);
},
},
})
Reset on logout
await this.screeb.identityReset();