logoDokumentation
Suchen

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: '', }); }
              
              if (window.MTpushInterfaceExtension) {
  window.MTpushInterfaceExtension.initSdk({
    appkey: '',
    user_str: '',
  });
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

interface InitType { appkey: string; // Appkey der Anwendung, die von Entwicklern auf der EngageLab-Plattform registriert wurde. Erforderlich. user_str: string; // Eindeutige Nutzerkennung. Erforderlich. }
              
              interface InitType {
  appkey: string; // Appkey der Anwendung, die von Entwicklern auf der EngageLab-Plattform registriert wurde. Erforderlich.
  user_str: string; // Eindeutige Nutzerkennung. Erforderlich.
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              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;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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. }
              
              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.
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_MT_INIT_INFO':
      console.log(message.data.regid);
      break;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; }
              
              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;
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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();
              
              window.MTpushInterfaceExtension.stopPush();

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              // 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;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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" } }
              
              {
  "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"
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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" });
              
              window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              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;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id ist die ID der benutzerdefinierten Nachricht

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_DISPLAY': 
      console.log(message.data);
      break;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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 }
              
              {
  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
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_CLICK': 
      console.log(message.data);
      break;
  }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

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 }
              
              {
  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
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Hinweis: Im EngageLab-Kanal geben die Parameter title und content im 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.

icon
Vertrieb kontaktieren