Web SDK Chrome Extension API
Initialisierung des SDK
Schnittstellenbeschreibung
Um eine große Anzahl ungültiger Nutzer zu vermeiden, empfiehlt es sich, bei der Initialisierung einen eindeutigen und konsistenten Wert für die Nutzerkennung (user_str) zu verwenden. Sie können user_str zum Beispiel mit dem Browser-Fingerabdruck generieren.
Beispielaufruf
if (window.MTpushInterfaceExtension) {
window.MTpushInterfaceExtension.initSdk({
appkey: '',
user_str: '',
});
}
Parameterbeschreibung
interface InitType {
appkey: string; // Appkey der Anwendung, die von Entwicklern auf der EngageLab-Plattform registriert wurde. Erforderlich.
user_str: string; // Eindeutige Nutzerkennung. Erforderlich.
}
Ergebnis abrufen
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
// SDK-Initialisierung erfolgreich
case 'MTPUSH_INIT_SDK_SUCCESS':
console.log(message.data);
break;
// SDK-Initialisierung fehlgeschlagen
case 'MTPUSH_INIT_SDK_FAIL':
console.log(message.data);
break;
}
});
Die Struktur von message.data sieht wie folgt aus:
interface MessageData {
code: number; // Statuscode. 0 steht für Erfolg, andere Werte für Fehler. Siehe Fehlercodes.
message: string; // Ergebnisbeschreibung.
content: string; // Gibt bei Registrierungsfehler mit Fehlercode 1003 die Fehlerinformation zurück.
}
Wenn die Integration der Erweiterung aufgrund eines abgelaufenen Testzeitraums oder eines kostenpflichtigen Tarifs fehlschlägt, wird der Initialisierungsprozess nach vier Stunden erneut versucht. Dies geschieht, sobald eine neue Seite geöffnet oder eine bestehende Seite aktualisiert wird.
Registrierungs-ID abrufen
Schnittstellenbeschreibung
Es ist nicht erforderlich, eine API manuell aufzurufen, um die Registrierungs-ID (regid) zu erhalten. Nach erfolgreicher SDK-Initialisierung erhalten Sie die regid über das Event MTPUSH_GET_MT_INIT_INFO.
Beispielaufruf
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
case 'MTPUSH_GET_MT_INIT_INFO':
console.log(message.data.regid);
break;
}
});
Rückgabeformat
interface MTInitInfo {
website_push_id: string;
code: number;
master_secret: string;
passwd: string;
pull: number;
regid: string;
sess: string;
tagalias: number;
uid: number;
vapid_pubkey: string;
}
Push-Benachrichtigungen stoppen
Schnittstellenbeschreibung
Mit diesem API-Aufruf wird die dauerhafte Push-Verbindung zum Backend getrennt und der Empfang von Push-Benachrichtigungen gestoppt.
Beispielaufruf
window.MTpushInterfaceExtension.stopPush();
Status des Push-Dienstes abrufen
Schnittstellenbeschreibung
Ruft die Statusinformationen des Push-Dienstes ab.
Beispielaufruf
// Nach erfolgreicher SDK-Initialisierung aufrufen
window.MTpushInterfaceExtension.getPushAuthority();
// Nachrichten abhören, um den Status des Push-Dienstes zu erhalten
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
case 'MTPUSH_GET_PUSH_AUTHORITY':
console.log('Push-Dienst-Status: ', message.data);
break;
}
});
Rückgabeformat
{
"mtPush": {
"code": 1, // 1: Erfolg, -1: Initialisierung läuft, 0: Fehler
"msg": "MTpush-Kanal erfolgreich initialisiert!"
},
"webPush": {
"code": 1, // 0: WebPush nicht verfügbar (nicht unterstützt), 1: Verfügbar, 2: Nicht verfügbar
"msg": "Benachrichtigung verfügbar"
}
}
Tags und Alias setzen
Schnittstellenbeschreibung
Entwickler können mit dieser Schnittstelle Tags unter einem bestimmten Alias setzen oder löschen. Die Schnittstelle arbeitet nach dem Überschreibungsprinzip. Wird für Tags ein leerer String gesetzt, werden bestehende Tags gelöscht.
Beispielaufruf
window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
| tags | string[] | Erforderlich. Maximale Array-Länge: 1.000. Jedes Element darf maximal 40 Zeichen haben. |
| alias | string | Erforderlich. Maximal 40 Zeichen. |
Rückgabeformat
Nachrichten abhören, um das Ergebnis des Setzens zu erhalten:
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
console.log('Erfolgreich gesetzt');
break;
case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
console.log('Setzen fehlgeschlagen', message.data); // Fehlerinformation: string[]
break;
}
});
Individuelle Nachrichtenberichte
Schnittstellenbeschreibung
Wenn Sie individuelle Nachrichten für die Datenstatistik melden möchten, verwenden Sie diese Schnittstelle für benutzerdefinierte Berichte.
Beispielaufruf
window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id ist die ID der benutzerdefinierten Nachricht
Callback für die Anzeige von Push-Benachrichtigungen
Schnittstellenbeschreibung
Nach Abschluss der SDK-Initialisierung können Sie das Event MTPUSH_MSG_CALLBACK_DISPLAY abhören, um Informationen zur Anzeige von Push-Benachrichtigungen zu erhalten.
Beispielaufruf
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
case 'MTPUSH_MSG_CALLBACK_DISPLAY':
console.log(message.data);
break;
}
});
Parameterbeschreibung
Beschreibung des Callback-Parameters message.data:
{
title: string; // Titel
content: string; // Inhalt
msg_id: string; // Nachrichten-ID
ntf_or_msg: number;
engagelab_appkey: string;
engagelab_passwd: string;
engagelab_uid: string;
engagelab_url: string;
type: string; // 0: EngageLab-Kanalnachricht 1: Systemkanalnachricht
}
Callback für Klick auf Push-Benachrichtigungen
Schnittstellenbeschreibung
Nach Abschluss der SDK-Initialisierung können Sie das Event MTPUSH_MSG_CALLBACK_CLICK abhören, um Informationen zum Klick auf Push-Benachrichtigungen zu erhalten.
Beispielaufruf
chrome.runtime.onMessage.addListener((message) => {
switch (message.type) {
case 'MTPUSH_MSG_CALLBACK_CLICK':
console.log(message.data);
break;
}
});
Parameterbeschreibung
{
title: string; // Titel
content: string; // Inhalt
msg_id: string; // Nachrichten-ID
ntf_or_msg: number;
engagelab_appkey: string;
engagelab_passwd: string;
engagelab_uid: string;
engagelab_url: string;
position: string; // Klickposition, 'msgBody' | Button-ID
type: string; // 0: EngageLab-Kanalnachricht 1: Systemkanalnachricht
}
Hinweis: Im EngageLab-Kanal geben die Parameter
titleundcontentim Klick-Callback maximal 30 Zeichen zurück.
Fehlercodes
| Code | Nachricht | Anmerkungen |
|---|---|---|
| 0 | Erfolg | Aufruf erfolgreich |
| 1000 | Unbekannter Fehler | Unbekannter Fehler |
| 1001 | Initialisierung läuft, bitte später erneut versuchen | Initialisierung läuft, bitte später erneut versuchen |
| 1002 | Ungültige Konfiguration | Ungültige Initialisierungskonfiguration |
| 1003 | Initialisierung fehlgeschlagen | Initialisierung fehlgeschlagen. Details siehe Konsole. |
| 1004 | Initialisierung zeitüberschritten | Initialisierung zeitüberschritten |
| 1005 | Netzwerkfehler | Netzwerkfehler. Kein Netzwerk oder keine Verbindung zum WebSocket möglich |
Mit dieser API für das Web SDK der Chrome Extension können Sie effizient Push-Benachrichtigungen verwalten, den Status des Push-Dienstes abrufen, individuelle Nachrichtenberichte erstellen und die Integration optimal an Ihre Anforderungen anpassen.

