Zum Inhalt springen

Erste Schritte

  1. Paket installieren

    Terminal-Fenster
    npm i @capgo/capacitor-crisp
  2. Mit nativen Projekten synchronisieren

    Terminal-Fenster
    npx cap sync
  3. Ihre Crisp Website-ID abrufen

    • Melden Sie sich bei crisp.chat an
    • Erstellen Sie eine Website/ein Projekt
    • Finden Sie Ihre Website-ID unter Einstellungen > Setup-Anleitung

Importieren Sie das Plugin und konfigurieren Sie es mit Ihrer Website-ID:

import { CapacitorCrisp } from '@capgo/capacitor-crisp';
// Crisp mit Ihrer Website-ID konfigurieren
const configureCrisp = async () => {
await CapacitorCrisp.configure({
websiteID: 'YOUR_WEBSITE_ID'
});
};
// Den Chat öffnen
const openChat = async () => {
await CapacitorCrisp.openMessenger();
};
// Benutzerinformationen festlegen
const setUserInfo = async () => {
await CapacitorCrisp.setUser({
email: 'user@example.com',
nickname: 'John Doe',
phone: '+1234567890',
avatar: 'https://example.com/avatar.jpg'
});
};
// Benutzersitzung zurücksetzen (Abmelden)
const logout = async () => {
await CapacitorCrisp.resetChatSession();
};

Konfigurieren Sie Crisp mit Ihrer Website-ID und optionalen Einstellungen.

interface ConfigureOptions {
websiteID: string;
locale?: string; // z.B., 'en', 'fr', 'es'
tokenID?: string; // Für authentifizierte Sitzungen
}
await CapacitorCrisp.configure({
websiteID: 'YOUR_WEBSITE_ID',
locale: 'de'
});

Öffnet die Crisp-Chat-Oberfläche.

await CapacitorCrisp.openMessenger();

Setzt Benutzerinformationen für die Chat-Sitzung.

interface UserOptions {
email?: string;
nickname?: string;
phone?: string;
avatar?: string;
}
await CapacitorCrisp.setUser({
email: 'user@example.com',
nickname: 'John Doe'
});

Setzt Firmeninformationen für Geschäftskunden.

interface CompanyOptions {
name: string;
url?: string;
description?: string;
employment?: {
title?: string;
role?: string;
};
geolocation?: {
city?: string;
country?: string;
};
}
await CapacitorCrisp.setUserCompany({
name: 'Acme Corp',
url: 'https://acme.com',
employment: {
title: 'CEO',
role: 'Leadership'
}
});

Senden Sie benutzerdefinierte Ereignisse, um Benutzeraktionen zu verfolgen.

interface EventOptions {
name: string;
color?: 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown' | 'grey' | 'black';
data?: { [key: string]: any };
}
await CapacitorCrisp.pushEvent({
name: 'checkout_completed',
color: 'green',
data: {
price: 99.99,
currency: 'USD'
}
});

Setzen Sie ein Segment, um die Chat-Sitzung zu kategorisieren.

await CapacitorCrisp.setSessionSegment('premium_customer');

Setzen Sie die aktuelle Chat-Sitzung zurück (nützlich für Abmeldung).

await CapacitorCrisp.resetChatSession();
// Mehrere benutzerdefinierte Datenfelder festlegen
await CapacitorCrisp.setSessionData({
key: 'plan',
value: 'premium'
});
await CapacitorCrisp.setSessionData({
key: 'signup_date',
value: '2024-01-15'
});

Setzen Sie eine vorgefüllte Nachricht in das Chat-Eingabefeld:

await CapacitorCrisp.setMessageText(
"Hallo, ich benötige Hilfe bei meiner Bestellung #12345"
);

Steuern Sie, wann das Chat-Widget verfügbar ist:

// Chat vorübergehend ausblenden
await CapacitorCrisp.setTokenID('user_token_12345');
import { CapacitorCrisp } from '@capgo/capacitor-crisp';
export class ChatService {
async initialize() {
// Crisp konfigurieren
await CapacitorCrisp.configure({
websiteID: 'YOUR_WEBSITE_ID',
locale: 'de'
});
}
async loginUser(user: any) {
// Benutzerinformationen festlegen
await CapacitorCrisp.setUser({
email: user.email,
nickname: user.name,
phone: user.phone,
avatar: user.avatarUrl
});
// Benutzerdefinierte Daten festlegen
await CapacitorCrisp.setSessionData({
key: 'user_id',
value: user.id
});
await CapacitorCrisp.setSessionData({
key: 'account_type',
value: user.accountType
});
// Segment festlegen
if (user.isPremium) {
await CapacitorCrisp.setSessionSegment('premium');
}
// Login-Ereignis verfolgen
await CapacitorCrisp.pushEvent({
name: 'user_login',
color: 'blue',
data: {
method: 'email'
}
});
}
async openSupport(context?: string) {
if (context) {
await CapacitorCrisp.setMessageText(
`Ich benötige Hilfe bei: ${context}`
);
}
await CapacitorCrisp.openMessenger();
}
async logout() {
await CapacitorCrisp.resetChatSession();
}
}

Crisp passt sich automatisch dem Theme Ihrer App an, aber Sie können es über das Crisp-Dashboard weiter anpassen:

  1. Gehen Sie zu Ihrem Crisp-Dashboard
  2. Navigieren Sie zu Einstellungen > Website-Einstellungen > Chatbox & E-Mail-Einstellungen
  3. Passen Sie Farben, Position und Verhalten an
  1. Früh initialisieren Konfigurieren Sie Crisp während der App-Initialisierung für sofortige Verfügbarkeit:

    import { App } from '@capacitor/app';
    App.addListener('appStateChange', async ({ isActive }) => {
    if (isActive) {
    await CapacitorCrisp.configure({
    websiteID: 'YOUR_WEBSITE_ID'
    });
    }
    });
  2. Benutzerkontext festlegen Geben Sie immer Benutzerinformationen an, wenn verfügbar, für besseren Support:

    if (user.isAuthenticated) {
    await CapacitorCrisp.setUser({
    email: user.email,
    nickname: user.name
    });
    }
  3. Wichtige Ereignisse verfolgen Verwenden Sie Ereignisse, um Support-Agenten Kontext zu bieten:

    await CapacitorCrisp.pushEvent({
    name: 'error_occurred',
    color: 'red',
    data: {
    error: error.message,
    screen: 'checkout'
    }
    });
  4. Abmeldung ordnungsgemäß behandeln Setzen Sie die Sitzung immer zurück, wenn Benutzer sich abmelden:

    async logout() {
    await CapacitorCrisp.resetChatSession();
    // Ihre andere Abmeldelogik
    }
  • Erfordert iOS 10.0+
  • Verwendet natives Crisp iOS SDK
  • Unterstützt Push-Benachrichtigungen (im Crisp-Dashboard konfigurieren)
  • Erfordert Android 5.0 (API 21)+
  • Verwendet natives Crisp Android SDK
  • Material Design-konform
  • Verwendet als Fallback Crisp JavaScript SDK
  • Vollständige Feature-Parität mit nativen Plattformen