Skip to content

Fehlerbehebung für In-App-Nachrichten

Verwenden Sie diese Seite, um zu diagnostizieren, warum In-App-Nachrichten nicht zugestellt oder auf einem Gerät angezeigt werden. Informationen zur Dashboard-Einrichtung (Priorität, Trigger, Segmente und Wiederberechtigung) finden Sie in den FAQ zu In-App-Nachrichten.

Bevor Sie mit dem Debugging beginnen, fügen Sie sich als Testnutzer:in hinzu und lesen Sie Testnachrichten senden.

Hier starten: Symptom zuordnen

Symptom Gehe zu
In-App-Nachricht wurde für eine:n Nutzer:in nicht angezeigt Eine:r Nutzer:in
In-App-Nachricht wurde auf einer Plattform nicht angezeigt (Android, iOS oder Web) Eine Plattform
In-App-Nachricht aus einem Canvas-Schritt wurde nicht angezeigt Canvas-In-App-Nachrichten
In-App-Nachricht wurde verspätet oder nach einer Verzögerung angezeigt Timing und verzögerte Anzeige
Impressionen oder Klicks sehen falsch aus Impressionen und Analytics
triggers fehlen oder sind leer in den Event-Nutzerprotokollen Fehlerbehebung bei der Zustellung
Trigger wurden zurückgegeben, aber nichts wird auf dem Gerät angezeigt Plattformspezifische Fehlerbehebung bei der Anzeige
In-App-Nachrichten-Assets können nicht geladen werden (iOS, NSURLError -1008) Asset-Laden (Swift-Tab)

Standardisierter Untersuchungspfad

Verwenden Sie diesen Workflow für jeden Vorfall. Beginnen Sie bei Schritt 1.

  1. Bestätigen Sie, dass ein Sitzungsstart für das Testgerät protokolliert wird. In-App-Nachrichten werden beim Sitzungsstart angefordert.
  2. Öffnen Sie die Event-Nutzerprotokolle und suchen Sie die SDK-Anfrage für diesen Sitzungsstart. In den Antwortdaten:
  3. Informationen zur Dashboard-seitigen Berechtigung (Segment, Wiederberechtigung, Frequency Caps, Priorität, Kontrollgruppen) finden Sie unter Fehlerbehebung bei der Zustellung und in den FAQ zu In-App-Nachrichten.
  4. Bei geräteseitigen Anzeigeproblemen (Delegates, Rate-Limits, Ausrichtung, Sitzungs-Timeout) wählen Sie Ihren SDK-Tab unter Plattformspezifische Fehlerbehebung bei der Anzeige.

Canvas-In-App-Nachrichten

Symptom: Ein:e Nutzer:in ist in einen Canvas-In-App-Nachrichten-Schritt eingetreten, hat die Nachricht aber nicht wie erwartet gesehen.

Drei Verhaltensweisen verursachen die meisten Canvas- und In-App-Nachrichten-Tickets:

  1. Anzeige bei nächster Sitzung: Canvas-In-App-Nachrichten sind beim nächsten Sitzungsstart berechtigt, nachdem der Schritt verarbeitet wurde – nicht sofort mitten in der Sitzung. Siehe Wann werden In-App-Nachrichten in Canvas gesendet? in den Canvas-FAQ.
  2. Zustellungsvalidierungen beim Schritteintritt: Wenn Zielgruppe beim Nachrichtenversand validieren im Nachrichten-Schritt aktiviert ist, werden Segmentzugehörigkeit und Frequency Caps ausgewertet, wenn der/die Nutzer:in in den Schritt eintritt, nicht zum Anzeigezeitpunkt. Siehe Zustellungsvalidierungen.
  3. Verzögerung und Sitzungs-Timeout: Wenn ein:e Nutzer:in in einen Verzögerungsschritt eintritt, der länger als Ihr SDK-Sitzungs-Timeout ist, kann eine neue Sitzung beginnen, bevor der In-App-Nachrichten-Schritt erreicht wird. Die Nachricht wird möglicherweise nicht beim Sitzungsstart abgerufen, wenn Sie erwarten, dass sie angezeigt wird.

Informationen zu Verfügbarkeitsfenstern, Ablauf und null Sends in Canvas-Analytics finden Sie unter In-App-Nachrichten und Zustellung in den Canvas-FAQ.

In-App-Nachricht wurde für eine:n Nutzer:in nicht angezeigt

Symptom: Ein:e Nutzer:in hat eine erwartete In-App-Nachricht nicht erhalten; andere Nutzer:innen sind möglicherweise nicht betroffen.

Überprüfen Sie Folgendes:

Folgen Sie dann dem standardisierten Untersuchungspfad.

In-App-Nachricht wurde auf einer Plattform nicht angezeigt

Symptom: In-App-Nachrichten werden auf Android, iOS oder Web nicht angezeigt, funktionieren aber möglicherweise auf anderen Plattformen.

Wahrscheinliche Ursache Was zu prüfen ist
Falsches Senden an-Ziel Bestätigen Sie, dass die Campaign oder der Canvas-Schritt entsprechend auf Mobile Apps oder Web Browsers ausgerichtet ist. Eine reine Web-Campaign wird nicht an Android-Geräte gesendet.
Angepasste UI oder Handler unterdrückt die Anzeige Überprüfen Sie Delegates (Mobilgerät) oder braze.subscribeToInAppMessage (Web). Siehe Anpassung und Ihren SDK-Tab unten.
Integration hat auf dieser Plattform nie funktioniert Bestätigen Sie, dass diese Plattform und App-Version zuvor In-App-Nachrichten angezeigt haben.
Trigger wurde auf dem Gerät nicht ausgelöst Der Trigger muss lokal über das SDK erfolgen. Ein REST-API-Aufruf kann keine In-App-Nachricht im SDK triggern. Siehe Nachrichten triggern.
Leere triggers in den Event-Nutzerprotokollen Segment, Wiederberechtigung, Frequency Cap oder Kontrollgruppe. Siehe Fehlerbehebung: Nachrichten werden nicht zurückgegeben.

In-App-Nachricht wurde für alle Nutzer:innen nicht angezeigt

Symptom: Keine oder weniger Nutzer:innen als erwartet haben die In-App-Nachricht erhalten.

Überprüfen Sie Folgendes:

  • Ist die Trigger-Aktion im Dashboard und in der App-Integration korrekt konfiguriert?
  • Hat eine In-App-Nachricht mit höherer Priorität die Campaign abgefangen? Siehe die FAQ zu In-App-Nachrichten.
  • Verwenden Sie eine aktuelle SDK-Version? Einige In-App-Nachrichtentypen haben Mindestanforderungen an die SDK-Version.
  • Sind Sitzungen korrekt integriert? Bestätigen Sie, dass die Sitzungs-Analytics für diese App funktionieren.
  • Stört eine angepasste UI-Bibliothek die Anzeige? Siehe Anpassung.

Folgen Sie dann dem standardisierten Untersuchungspfad.

Timing und verzögerte Anzeige

Symptom: Die In-App-Nachricht erschien später als erwartet oder erst bei einer neuen Sitzung.

Häufige Ursachen:

  • Sitzungsstart-Prefetch der Campaign: In-App-Nachrichten werden beim Sitzungsstart zwischengespeichert und angezeigt, wenn der Trigger ausgelöst wird. Ein Trigger, der vor dem nächsten Sitzungsstart auftritt, wird erst in dieser Sitzung angezeigt. Siehe Nachrichten triggern.
  • Canvas-Verhalten bei nächster Sitzung: Siehe Canvas-In-App-Nachrichten.
  • Geplante Dashboard-Verzögerung: Prüfen Sie, ob eine Verzögerung für die Campaign oder den Schritt konfiguriert ist.
  • Trigger-Synchronisierungs-Race-Condition: Wenn Nutzer:innen ein Event unmittelbar nach dem Sitzungsstart protokollieren, sind die Trigger möglicherweise noch nicht synchronisiert. Erwägen Sie, den Trigger auf den Sitzungsstart zu setzen und nach dem beabsichtigten Event zu segmentieren, damit die Zustellung in der nächsten Sitzung nach dem Event erfolgt.
  • Sequenzielle In-App-Nachrichten: Wenn Sie Nachrichten in einer Tour zurückstellen oder wiederherstellen, siehe Getriggerte In-App-Nachrichten zurückstellen.
  • Große Assets oder langsames CDN: Optimieren Sie Bilder und Videos für HTML-In-App-Nachrichten. Auf Mobilgeräten können Bilder bei langsamen Netzwerken vor der Anzeige heruntergeladen werden – wählen Sie unten Ihren SDK-Tab für plattformspezifische Hinweise.

Fehlerbehebung bei der Zustellung

Die meisten Probleme mit In-App-Nachrichten betreffen die Zustellung (das Gerät hat keine Trigger erhalten) oder die Anzeige (Trigger sind angekommen, wurden aber nicht angezeigt). Bestätigen Sie zuerst die Zustellung und prüfen Sie dann die Anzeige.

Fehlerbehebung bei der Zustellung

Das SDK fordert In-App-Nachrichten beim Sitzungsstart von den Braze-Servern an. Bestätigen Sie, dass das SDK Trigger anfordert und Braze diese zurückgibt.

Prüfen, ob Nachrichten angefordert und zurückgegeben werden

  1. Fügen Sie sich als Testnutzer:in hinzu.
  2. Richten Sie eine In-App-Nachrichten-Campaign ein, die auf Ihre:n Nutzer:in ausgerichtet ist.
  3. Starten Sie eine neue Sitzung in Ihrer Anwendung.
  4. Suchen Sie in den Event-Nutzerprotokollen die SDK-Anfrage für das Sitzungsstart-Event. In den Antwortdaten:
    • Bestätigen Sie im Roh-JSON, dass respond_with "triggers": true enthält.
    • Die Zeile Requested Responses listet die Top-Level-Schlüssel in der Antwort auf. Für In-App-Nachrichten erwarten Sie triggers.
    • Trigger In-App Message-Zeilen listen jede In-App-Nachricht auf, die für diese Anfrage zurückgegeben wurde.

    Dann triagieren:

  5. Bestätigen Sie, dass die richtigen In-App-Nachrichten in den Antwortdaten erscheinen.

Event-Nutzerprotokoll mit SDK-Anfragen und Antwortdaten.

Fehlerbehebung: Nachrichten werden nicht angefordert

Wenn In-App-Nachrichten nicht angefordert werden, verfolgt Ihre App möglicherweise Sitzungen nicht korrekt – In-App-Nachrichten werden beim Sitzungsstart aktualisiert. Bestätigen Sie, dass die App eine Sitzung basierend auf Ihrer Sitzungs-Timeout-Semantik startet:

Die SDK-Anfrage in den Event-Nutzerprotokollen, die ein erfolgreiches Sitzungsstart-Event anzeigt.

Fehlerbehebung: Nachrichten werden nicht zurückgegeben

Wenn In-App-Nachrichten nicht zurückgegeben werden, liegt wahrscheinlich ein Targeting- oder Berechtigungsproblem vor:

  1. Ihr Segment enthält Ihre:n Nutzer:in nicht.
    • Überprüfen Sie den Tab Engagement des/der Nutzer:in auf das erwartete Segment.
  2. Ihr:e Nutzer:in hat die Nachricht bereits erhalten und war nicht wiederberechtigt.
  3. Ihr:e Nutzer:in hat das Frequency Cap erreicht.
  4. Ihr:e Nutzer:in ist in eine Kontrollgruppe gefallen.
    • Erstellen Sie ein Segment mit einem Filter Received campaign variant, der auf Control gesetzt ist, oder deaktivieren Sie Kontrollgruppen während der Integrationstests.
  5. Eine In-App-Nachricht mit höherer Priorität hatte Vorrang. Siehe die FAQ zu In-App-Nachrichten.

Informationen zu archivierten Campaigns, Trigger-Konfiguration und Ruhezeiten finden Sie in den FAQ zu In-App-Nachrichten.

Impressionen und Analytics

Symptom: Impressionen- oder Klickzahlen entsprechen nicht den Erwartungen.

  • Impressionen größer als Eindeutige Impressionen: Erwartet, wenn Nutzer:innen mehrere Geräte haben oder wenn eine geplante Verzögerung dazu führt, dass derselbe/dieselbe Nutzer:in sich mehr als einmal qualifiziert. Siehe Wiederberechtigung für Campaigns und Canvas.
  • Impressionen niedriger als erwartet: Nutzer:innen haben die Nachricht möglicherweise nicht gesehen (Impressionen werden bei der Anzeige protokolliert), mehrere Nachrichten mit hoher Priorität können sich gegenseitig abfangen, oder Trigger-Synchronisierungs-Race-Conditions können auftreten. Für Canvas-In-App-Nachrichten siehe Canvas-In-App-Nachrichten. Vollständige Metrikdefinitionen finden Sie unter Reporting für In-App-Nachrichten und in den FAQ zu In-App-Nachrichten.
  • Impressionen niedriger als zuvor: Überprüfen Sie die Segment- und Campaign-Changelogs. Bestätigen Sie, dass Sie nicht dasselbe Trigger-Event in einer Campaign mit höherer Priorität wiederverwendet haben.

Link zum Anzeigen des Changelogs auf der Campaign-Detailseite mit sieben Änderungen seit der letzten Ansicht der Campaign durch den/die Nutzer:in.

Wenn Sie einen Delegate oder angepassten Handler verwenden, um In-App-Nachrichten manuell anzuzeigen, müssen Sie Impressionen und Klicks selbst protokollieren. Siehe Ihren SDK-Tab unter Plattformspezifische Fehlerbehebung bei der Anzeige für Swift- und Android-Details oder In-App-Nachrichtendaten protokollieren für Web.

Plattformspezifische Fehlerbehebung bei der Anzeige

Wenn Trigger In-App Message-Zeilen in den Event-Nutzerprotokollen erscheinen, aber nichts auf dem Gerät angezeigt wird, wählen Sie Ihren SDK-Tab für Anzeige-Prüfungen (Delegates, Rate-Limits, Ausrichtung und angepasste Handler).

Fehlerbehebung bei der Anzeige

Wenn Ihre App In-App-Nachrichten anfordert und empfängt, diese aber nicht angezeigt werden, kann die geräteseitige Logik die Anzeige verhindern:

  1. Wird das Trigger-Event wie erwartet ausgelöst? Um dies zu testen, konfigurieren Sie die Nachricht so, dass sie durch eine andere Aktion (z. B. Sitzungsstart) getriggert wird, und überprüfen Sie, ob sie angezeigt wird.

  2. Getriggerte In-App-Nachrichten unterliegen einem Rate-Limit basierend auf dem minimalen Zeitintervall zwischen Triggern, das standardmäßig 30 Sekunden beträgt.

  3. Fehlgeschlagene Bild-Downloads verhindern die Anzeige von In-App-Nachrichten mit Bildern. Überprüfen Sie die Geräteprotokolle auf Download-Fehler. Versuchen Sie, das Bild vorübergehend zu entfernen, um zu sehen, ob die Nachricht dann angezeigt wird.

  4. Wenn Sie eine angepasste Handhabung von In-App-Nachrichten über braze.subscribeToInAppMessage verwenden, stellen Sie sicher, dass der Callback die Anzeige nicht unterdrückt. Siehe Anpassung.

Fehlerbehebung bei der Anzeige

Wenn Ihre App In-App-Nachrichten anfordert und empfängt, diese aber nicht angezeigt werden, kann die geräteseitige Logik die Anzeige verhindern:

  1. Wird das Trigger-Event wie erwartet ausgelöst? Um dies zu testen, konfigurieren Sie die Nachricht so, dass sie durch eine andere Aktion (z. B. Sitzungsstart) getriggert wird, und überprüfen Sie, ob sie angezeigt wird.

  2. Getriggerte In-App-Nachrichten unterliegen einem Rate-Limit basierend auf dem minimalen Zeitintervall zwischen Triggern, das standardmäßig 30 Sekunden beträgt.

  3. Fehlgeschlagene Bild-Downloads verhindern die Anzeige von In-App-Nachrichten mit Bildern. Überprüfen Sie die Geräteprotokolle auf Download-Fehler. Versuchen Sie, das Bild vorübergehend zu entfernen, um zu sehen, ob die Nachricht dann angezeigt wird.

  4. Wenn Sie einen Delegaten zum Anpassen der Handhabung von In-App-Nachrichten festgelegt haben, stellen Sie sicher, dass er die Anzeige nicht unterdrückt. Siehe Anpassung.

  5. Wenn die Ausrichtung des Geräts nicht mit der von der In-App-Nachricht vorgegebenen Ausrichtung übereinstimmt, wird die Nachricht nicht angezeigt.

  6. Je nach Netzwerkbedingungen werden Bilder möglicherweise vor der Anzeige heruntergeladen. Bei langsamen Verbindungen oder leistungsschwachen Geräten sollten Sie zusätzliche Zeit einplanen oder die Asset-Größe optimieren.

Impressionen und Klicks werden nicht protokolliert

Wenn Sie einen Delegaten für In-App-Nachrichten so eingestellt haben, dass er die Anzeige von Nachrichten oder Klickaktionen manuell steuert, müssen Sie Klicks und Impressionen für die In-App-Nachricht manuell protokollieren.

Fehlerbehebung bei der Anzeige

Wenn Ihre App In-App-Nachrichten anfordert und empfängt, diese aber nicht angezeigt werden, kann die geräteseitige Logik die Anzeige verhindern:

  1. Wird das Trigger-Event wie erwartet ausgelöst? Um dies zu testen, konfigurieren Sie die Nachricht so, dass sie durch eine andere Aktion (z. B. Sitzungsstart) getriggert wird, und überprüfen Sie, ob sie angezeigt wird.

  2. Getriggerte In-App-Nachrichten unterliegen einem Rate-Limit basierend auf dem minimalen Zeitintervall zwischen Triggern, das standardmäßig 30 Sekunden beträgt.

  3. Fehlgeschlagene Bild-Downloads verhindern die Anzeige von In-App-Nachrichten mit Bildern. Überprüfen Sie die Geräteprotokolle auf Download-Fehler. Versuchen Sie, das Bild vorübergehend zu entfernen, um zu sehen, ob die Nachricht dann angezeigt wird.

  4. Wenn Sie einen Delegaten zum Anpassen der Handhabung von In-App-Nachrichten festgelegt haben, stellen Sie sicher, dass er die Anzeige nicht unterdrückt. Siehe Anpassung.

  5. Wenn die Ausrichtung des Geräts nicht mit der von der In-App-Nachricht vorgegebenen Ausrichtung übereinstimmt, wird die Nachricht nicht angezeigt.

  6. Je nach Netzwerkbedingungen werden Bilder möglicherweise vor der Anzeige heruntergeladen. Bei langsamen Verbindungen oder leistungsschwachen Geräten sollten Sie zusätzliche Zeit einplanen oder die Asset-Größe optimieren.

Impressionen und Klicks werden nicht protokolliert

Wenn Sie einen Delegaten für In-App-Nachrichten so eingestellt haben, dass er die Anzeige von Nachrichten oder Klickaktionen manuell steuert, müssen Sie Klicks und Impressionen für die In-App-Nachricht manuell protokollieren.

Fehlerbehebung beim Laden von Assets (NSURLError-Code -1008)

Bei der Integration von Braze zusammen mit Netzwerkprotokollierungsbibliotheken von Drittanbietern stoßen Entwickler:innen häufig auf einen NSURLError mit dem Domain-Code -1008. Dieser Fehler zeigt an, dass Assets wie Bilder und Schriftarten nicht abgerufen werden konnten oder nicht in den Cache aufgenommen wurden. Um solche Fälle zu umgehen, müssen Sie die CDN-URLs von Braze in die Liste der Domains eintragen, die von diesen Bibliotheken ignoriert werden sollen.

Domains

Die vollständige Liste der CDN-Domains finden Sie im Folgenden:

  • "appboy-images.com"
  • "braze-images.com"
  • "cdn.braze.eu"
  • "cdn.braze.com"

Beispiele

Nachfolgend finden Sie Bibliotheken, von denen bekannt ist, dass sie mit dem Asset-Caching von Braze in Konflikt stehen, sowie Beispiel-Code, um das Problem zu umgehen. Wenn Ihr Projekt eine Bibliothek verwendet, die einen Fehler wegen nicht verfügbarer Ressourcen verursacht und unten nicht aufgeführt ist, konsultieren Sie die Dokumentation dieser Bibliothek für ähnliche APIs.

Netfox
1
NFX.sharedInstance().ignoreURLs(["https://cdn.braze.com"])
1
[NFX.sharedInstance ignoreURLs:@[@"https://cdn.braze.com"]];
NetGuard
1
NetGuard.blackListHosts.append(contentsOf: ["cdn.braze.com"])
1
2
3
NSMutableArray<NSString *> *blackListHosts = [NetGuard.blackListHosts mutableCopy];
[blackListHosts addObject:@"cdn.braze.com"];
NetGuard.blackListHosts = blackListHosts;
XNLogger
1
2
let brazeAssetsHostFilter = XNHostFilter(host: "https://cdn.braze.com")
XNLogger.shared.addFilters([brazeAssetsHostFilter])
1
2
XNHostFilter *brazeAssetsHostFilter = [[XNHostFilter alloc] initWithHost: @"https://cdn.braze.com"];
[XNLogger.shared addFilters:@[brazeAssetsHostFilter]];
New Stuff!