Live-activiteiten oplossen troubleshoot-mobile-live
Live Activiteiten in Adobe Journey Optimizer maken real-time, dynamische updates mogelijk op iOS-vergrendelingsschermen en Dynamic Islands. Ze kunnen alleen worden geactiveerd en beheerd via door API's geactiveerde campagnes.
gevaltypes van het Gebruik:
- Eenheid: Individueel gericht, transactie (API-teweeggebrachte Transactionele campagnes)
- Uitzending: Publiek-gericht, massalevering (API-teweeggebrachte Marketing campagnes)
Een frequente uitdaging met Levende Activiteiten is wanneer de API vraag om een Levende Activiteit in werking te stellen of bij te werken a succesvolle reactie (200 O.K.) terugkeert, maar de Levende Activiteit ontbreekt om op het apparaat van de gebruiker te verschijnen of bij te werken. Deze verbinding tussen API bevestiging en daadwerkelijke apparatengedrag kan op veelvoudige punten in de leveringspijpleiding voorkomen. Deze gids verstrekt een systematische het oplossen van problemenbenadering om te identificeren waar de levering ontbreekt, die elk stadium van API verzoekbevestiging door apparatenteruggave onderzoekt.
Vereisten
Zorg ervoor dat u beschikt over:
-
accordion Een Assurance-sessie instellen Opstelling een zitting van Assurance om de gebeurtenissen van SDK te vangen en de leveringspijpleiding te inspecteren. Assurance biedt zichtbaarheid in:
- Edge Network-verzoeken en -antwoorden
- Profielkwalificatiegebeurtenissen
- Push token-registratie
- Live Activity LiveCycle-gebeurtenissen
Leer hoe te opstelling Assurance in de documentatie van Adobe Experience Platform Assurance .
Nota: Voor Live Activiteit van iOS, zorg ervoor uw app op een fysiek apparaat van iOS (iOS 16.1 of later) of de Simulator van Xcode (iOS 16.1 of later) loopt.
-
accordion Gegevens over door API gestuurde campagnes verzamelen Navigeer naar de via API geactiveerde campagne in Journey Optimizer en zoek de volgende gegevens op:
- Campagneraam
- Campagne-id gevonden in de URL- of campagne-eigenschappen
- Campagneversie indien van toepassing
- Oppervlakteconfiguratie, iOS-toepassingsoppervlak gebruikt voor Live Activity
-
accordion Informatie over API-aanvragen verzamelen Sla tijdens het aanroepen van de API de Live-activiteit op:
- payload van API-aanvragen, inclusief profiel-id's en Live Activity-gegevens
- API-reactie inclusief statuscode, bericht-id, aanvraag-id
- Tijdstempel van wanneer de API is aangeroepen
- Gebruikte eindpunt, bijvoorbeeld
/campaign/{CAMPAIGN_ID}/execute
-
accordion Het testprofiel identificeren Haal het volgende op uit uw API-verzoek:
- Profielnaamruimte, bijvoorbeeld ECID, e-mail, klant-id
- Profiel-id gebruikt in API-aanroep
Controleer of u dit profiel in Adobe Experience Platform kunt opzoeken. Leer hoe te omhoog een profiel in de documentatie van Experience Platform kijken.
-
accordion Apparaat- en toepassingsgegevens Verzamel het volgende van uw testapparaat:
- Apparaatmodel, bijvoorbeeld iPhone 14 Pro
- iOS-versie
- Id van toepassingspakket
- APNs-pushtoken
- De connectiviteitsstatus van het netwerk op het tijdstip van het testen
Algemene scenario's
Problemen met profiel- of pushtoken profile-issue
[ is op zowel eenheids als uitzendingsgebruiksgevallen ]{class="badge positive"} van toepassing
De API retourneert HTTP 200, maar de Live Activiteit wordt niet weergegeven. Vaak voorkomende oorzaken:
- Profiel bestaat niet in Adobe Experience Platform.
- Pushtoken voor Live-activiteit is niet gesynchroniseerd met profiel.
- De pushgegevens voor Live-activiteit worden gesynchroniseerd maar bevatten een onjuiste configuratie, bijvoorbeeld onjuist
appIdofattributeType.
Nota voor de gevallen van het uitzendingsgebruik: Als sommige profielen in uw publiek tekenen missen, slechts zullen die profielen er niet in slagen om de Levende Activiteit te ontvangen. Neem een monster van verschillende profielen van uw publiek om problemen met token te diagnosticeren. Dit is alleen van toepassing op externe start-gebeurtenissen, niet op update- of end-gebeurtenissen.
Voorcontroles
-
iOS-toepassingsvereisten:
- iOS 16.1+
NSSupportsLiveActivitiesingesteld opYESinInfo.plistActivityAttributescorrect geïmplementeerd.
-
Mobiele SDK-integratie:
- Adobe Experience Platform Mobile SDK (messaging SDK 5.11.0+)
Messaging.registerLiveActivitiesgeïmplementeerd en aangeroepen met pushtoken voor Live-activiteit.
Foutopsporingsstappen
-
accordion Controleren of het profiel bestaat in Adobe Experience Platform - In Journey Optimizer, navigeer aan Klant
>Profielen. - Zoeken met naamruimte en identiteitswaarde van API-verzoek.
- Als het profiel niet wordt gevonden, bestaat het profiel niet of wordt de opname niet voltooid. Maak het profiel of wacht op opname voordat u de Live-activiteit activeert.
- Als er een profiel wordt gevonden, gaat u verder naar stap 2 hieronder om te controleren of de pushtoken is gesynchroniseerd.
- In Journey Optimizer, navigeer aan Klant
-
accordion Controleren of pushtoken voor Live-activiteit is gesynchroniseerd U kunt Assurance gebruiken om de tokenregistratie te verifiëren:
- In Assurance, van de lijst van Gebeurtenissen, filter of onderzoek naar gebeurtenissen
eventType = "liveActivity.pushToStart". - Selecteer de Gebeurtenis en inspecteer de nuttige lading.
- Controleer of de waarden voor token, appId en attributeType aanwezig zijn.
- Bevestig of de gebeurtenis correct is verzonden.
U kunt ook het Adobe Experience Platform-profiel inchecken.
- In Adobe Experience Platform, van uw Profiel, heb toegang tot Gebeurtenissen tabel.
- Zoeken naar
liveActivity.pushToStart-gebeurtenissen. - Controleer de even tijdstempel en lading.
Als er geen gebeurtenissen worden gevonden, roept uw mobiele app
Messaging.registerLiveActivityniet correct aan. U moet de SDK-integratie herstellen. - In Assurance, van de lijst van Gebeurtenissen, filter of onderzoek naar gebeurtenissen
-
accordion Tokendetails in profiel valideren -
Van uw Profiel, heb toegang tot Attributen tabel.
-
Zoek
liveActivityPushNotificationDetails. -
Verifieer de tokenconfiguratie:
code language-json { "liveActivityPushNotificationDetails": [ { "appId": "com.example.myapp", "token": "abc123def456...", "platform": "apns", "denylisted": false, "attributeType": "OrderTrackingAttributes", "identity": {} } ] }
bevestigt elk gebied:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Veld Vereiste Vaak probleem appIdMoet exact overeenkomen met iOS-bundle-id Verkeerde overeenkomst tussen dev/prod bundle IDs attributeTypeMoet exact overeenkomen met SWIFT ActivityAttributesstruct-naam (hoofdlettergevoelig)Typo- of onjuiste structuurnaam platformMoet "apns"of"apnsSandbox"zijnOnjuiste platformwaarde denylistedMoet zijn falseToken gemarkeerd als ongeldig of gebruiker uitgeschakeld tokenGeldige APNs-pushtoken Token verlopen of app opnieuw geïnstalleerd Als een veld onjuist is: Werk de mobiele app bij, registreer u opnieuw met
Messaging.registerLiveActivities, wacht 5-10 minuten en controleer het opnieuw.Als
liveActivityPushNotificationDetailsontbreekt: het token is nog niet gesynchroniseerd. Wacht 5 tot 10 minuten nadat u deliveActivity.pushToStart-gebeurtenis in Assurance hebt gezien. -
Problemen met de configuratie en lading van campagnes payload-issues
[ is op zowel eenheids als uitzendingsgebruiksgevallen ]{class="badge positive"} van toepassing
Profiel bestaat met geldige tokens, maar Live activiteit wordt niet weergegeven. Dit kan worden veroorzaakt door:
- Onjuiste oppervlak- of kanaalconfiguratie.
- Onjuiste API-laadstructuur.
content-stateenattributeskomen niet overeen met iOSActivityAttributes-implementatie.- Stale
timestamp(kritiek voor update/eind).
Nota voor de gevallen van het uitzendingsgebruik: De campagne moet API-getriggerde Marketing (niet Transactioneel) zijn. Bij Payload wordt audience gebruikt in plaats van individuele profile . Verwijs naar deze sectie voor uitzending-specifieke ladingsstructuur en naar documentatie van Adobe Developer voor volledige API specificaties.
Voorcontroles
- De campagne is API-teweeggebrachte Transactionele (unitaire) of API-teweeggebrachte Marketing (uitzending) en Hoge de optie van de Bedrading moet niet worden toegelaten aangezien het met Levende Activiteit onverenigbaar is.
- Zorg ervoor dat het profiel bestaat en de tekenen correct gebruikend het hierboven scenario worden gesynchroniseerd.
Foutopsporingsstappen
-
accordion Configuratie van campagneoppervlak verifiëren - In Journey Optimizer, open uw Campagne en navigeer aan het 3} menu van Acties.
- Controleer uw Levende activiteitenconfiguratie. Het oppervlak moet voor de iOS-toepassing worden geconfigureerd met een bundle-id die overeenkomt met de
appIdin hetliveActivityPushNotificationDetails-profiel. Als uw profiel bijvoorbeeld"appId": "com.example.myapp"heeft, moet het oppervlak zich richten op dezelfde app. - Controleer dat het type van Activiteit in uw campagneconfiguratie precies
attributeTypein uw profielliveActivityPushNotificationDetailsaanpast. Als uw profiel bijvoorbeeld"attributeType": "FoodDeliveryLiveActivityAttributes"heeft, moet de campagne hetzelfde type activiteit opgeven.
-
accordion Betalingsstructuur van API valideren Wanneer u de campagne uitvoert via de API, moet u ervoor zorgen dat de lading de juiste structuur volgt.
Eenheids lading:
code language-json { "campaignId": "your-campaign-id", "recipients": [{ "type": "aep", "userId": "user@example.com", "namespace": "email", "context": { "requestPayload": { "aps": { "content-available": 1, "timestamp": 1756984054, "event": "start", "attributes-type": "FoodDeliveryLiveActivityAttributes", "content-state": { ... }, "attributes": { ... } } } } }] }Gemeenschappelijke payload kwesties:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 Veld Vereiste Vaak probleem attributes-typeMoet overeenkomen met type campagneactiviteit en profiel attributeTypeVerkeerd of typefout campaignIdMoet overeenkomen met de geactiveerde campagne-id Onjuiste of ontbrekende campagne-id content-availableMoet zijn 1Ontbrekende of onjuiste waarde eventMoet "start","update"of"end"zijnOngeldig gebeurtenistype timestampMoet altijd de huidige/laatste Unix-tijdperktijd in seconden zijn Tijdstempel gebruiken in oude cache userId/namespaceMoet overeenkomen met een bestaand profiel in AEP Profiel-id komt niet overeen Kritiek: Gebruik altijd recentste timestamp
- Het
timestampgebied moet altijd de huidige Unix epoche tijd (in seconden) zijn op het ogenblik elke API vraag wordt gemaakt. - Dit is op van toepassing alle gebeurtenistypen:
start,update, en vooralend. - Effect op updates/eindverzoeken: Het gebruiken van een stapel of oude timestamp zal update en eindverzoeken veroorzaken om te ontbreken of door het apparaat worden genegeerd.
- NIET hergebruik timestamps van vorige verzoeken of gebruik caching waarden.
- Genereer een nieuwe tijdstempel voor elke API-aanroep.
Facultatieve gebieden (alle gebeurtenistypen):
requestId: Unieke id voor reeksspatiëring (aanbevolen).alert: Object mettitleenbodyvoor melding (handig om de aandacht op updates te vestigen).
Ongeveer
dismissal-date:- Optioneel veld met Unix epoche-tijd (seconden).
- slechts relevant wanneer
event: "end". - Hiermee geeft u aan wanneer de actieve activiteit automatisch van het apparaat moet worden verwijderd.
- Als deze optie niet wordt opgegeven bij de eindgebeurtenis, blijft Live-activiteit zichtbaar totdat de gebruiker deze uitschakelt.
- Moet een toekomstig tijdstempel zijn (later dan
timestamp).
- Het
-
accordion Betalingsbelasting uitlijnen met iOS-implementatie Zorg ervoor dat de payload van uw API overeenkomt met de implementatie van uw iOS-app.
ActivityAttributesHet Adobe SDKLiveActivityAttributes-protocol breidt iOSActivityAttributesuit en vereist eenliveActivityData-eigenschap.bevestigt de afbeelding:
-
Uw
ActivityAttributesmoet het AdobeLiveActivityAttributes-protocol implementeren. Voorbeeld:code language-swift struct FoodDeliveryLiveActivityAttributes: LiveActivityAttributes { public struct ContentState: Codable, Hashable { var orderStatus: String var estimatedDeliveryTime: String } // Adobe SDK requirement var liveActivityData: LiveActivityData // Your custom attributes var restaurantName: String }Nota dat het
liveActivityDatagebied door Adobe SDK wordt vereist en in alle implementaties moet worden omvat. -
Uw API-lading moet de iOS-structuur weerspiegelen:
code language-json { "aps": { "event": "start", "timestamp": 1756984054, "attributes-type": "FoodDeliveryLiveActivityAttributes", "content-state": { "orderStatus": "Preparing", "estimatedDeliveryTime": "20 mins" }, "attributes": { "liveActivityData": { "liveActivityID": "order-12345" }, "restaurantName": "Pizza Palace" } } }
checklist van de Bevestiging:
-
Neem alle
ContentState-velden op incontent-state(vereist voor alle gebeurtenistypen). -
Neem alle
LiveActivityAttributes-velden op inattributes(alleen startgebeurtenissen), inclusief:liveActivityData(vereist; bevat doorgaansliveActivityIDof een vergelijkbare id)- Alle aangepaste velden uit uw structuur
-
Namen van velden exact overeenkomen (hoofdlettergevoelig).
-
Datatypen afstemmen (String, Int, Bool, geneste objecten).
-
Geneste objectstructuur behouden.
Gemeenschappelijke fouten:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 Probleem Gevolgen Repareren Ontbrekende liveActivityDatakenmerkenLive-activiteiten wordt niet gestart Object liveActivityDataaltijd opnemen in gebeurtenis startVereist veld ontbreekt in startgebeurtenis Live-activiteiten wordt niet gestart Alle velden uit iOS-structuur toevoegen Onjuiste veldnaam (typefout/hoofdletter) Veld genegeerd of parseerfout IOS-veldnamen exact afstemmen Onjuist gegevenstype Parseringsfout Overeenkomstige iOS-gegevenstypen Ontbrekend genest object Onvolledige gegevens Alle geneste structuren opnemen attributesopnemen in update/endOnnodig, maar meestal genegeerd Alleen attributesinstart-gebeurtenis opnemenTijdstempel schalen bij bijwerken/beëindigen Bijwerken/beëindigen genegeerd door apparaat Altijd nieuwe tijdstempel genereren Voor meer voorbeelden, verwijs naar creeer Actieve activiteitenpagina .
-
-
accordion Testen met Assurance Verifieer de uitvoering van de API en de levering van de lading met Assurance:
-
Open je Assurance-sessie.
-
Voer de API-aanroep uit om de Live-activiteit te activeren.
-
In de Lijst van de Gebeurtenis, controleer voor:
- Gebeurtenissen tijdens de uitvoering van de campagne.
- Gebeurtenissen voor de levering van Live Activity.
- Gebeurtenissen van de Payload-validatie.
-
Controleren van de te controleren gebeurtenislading:
- De lading is correct verwerkt.
- Er zijn geen validatiefouten opgetreden.
- Live Activiteit is verzonden naar APNs.
-
Leveringsfouten en foutenanalyse
[ is op zowel eenheids als uitzendingsgebruiksgevallen ]{class="badge positive"} van toepassing
In dit scenario zijn alle vorige controles geslaagd:
- Het profiel bestaat met geldige Levende de duimtekenen van de Activiteit
- De campagne wordt correct gevormd met juiste nuttige lading
- tokens van de Update worden gesynchroniseerd (voor update/eindgebeurtenissen, unitaire gebruikscase slechts)
Maar de Live Activiteit wordt nog steeds niet weergegeven, bijgewerkt of beëindigd zoals u had verwacht. Het probleem kan zich voordoen op het niveau van het Adobe-leveringssysteem of bij de APNs (push notification service provider).
Nota voor de gevallen van het uitzendingsgebruik: De rapporten tonen metriek over alle publieksleden. Sommige profielen kunnen slagen terwijl andere ontbreken.
pre-controles
-
Vorige Gevalideerde Scenario's:
- Profiel bestaat met juist
liveActivityPushNotificationDetails - Het campagneoppervlak en het type activiteit zijn correct
- API-payload is geldig met huidige tijdstempel
- Tkens voor updates worden gesynchroniseerd (voor update-/eindgebeurtenissen)
- Profiel bestaat met juist
-
Bevestigde Vraag van API:
- De API-aanroep retourneerde HTTP 200 (geslaagd)
- Campagne-id en de gegevens van de ontvanger zijn juist
Foutopsporingsstappen
-
accordion Campagnerapporten controleren -
Navigeer aan uw Levende Campagne van de Activiteit.
-
Klik de knoop van Rapporten.
-
Selecteer Mening al tijdrapport.
-
Bekijk de volgende secties:
-
Controleer de Verzendende Statistieken metriek om leveringssucces te begrijpen:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Metrisch Wat het betekent Wat moet u zoeken? Gericht Aantal profielen dat is gekwalificeerd voor het publiek Neem uw testprofiel op Verzenden Totaal aantal geprobeerd pushmeldingen Moet overeenkomen met uw API-aanroepen Afgeleverd Aangeleverd aan apparaten Vergelijk met Verzenden om succespercentage te zien Fouten verzenden Push-berichten die niet zijn verzonden Hoge getallen Uitsluitingen verzenden Profielen die door Adobe Journey Optimizer zijn uitgesloten Controleren of uw profiel is uitgesloten -
Als verzend fouten > 0, controleer de Lijst van de Redenen van de Fout voor specifieke foutencodes en berichten:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 Algemene fout Betekenis Resolutie Ongeldig token Push-token is ongeldig of verlopen Tokens voor Live-activiteit opnieuw registreren vanaf apparaat Token niet gevonden Geen geldig token gekoppeld aan profiel Controleren of liveActivityPushNotificationDetailsbestaatAPN's afgewezen Apple Push Notification service heeft pushmelding afgewezen APNs-certificaat, bundle ID, omgeving controleren Time-out netwerk Kan APNs niet bereiken Voorbijgaande kwestie; probeer de API vraag opnieuw -
Als uitsluitingen > 0 verzendt, controleer de Uitgesloten lijst van Redenen:
table 0-row-3 1-row-3 2-row-3 3-row-3 Algemene uitsluiting Betekenis Resolutie Profiel is uitgeschakeld Gebruiker heeft geen meldingen ontvangen Status van profieltoestemming controleren Token gevoegd op lijst van gewenste personen Token gemarkeerd als ongeldig Token opnieuw registreren of de status van de lijst van gewezen personen controleren Profiel komt niet in aanmerking Profiel voldoet niet aan campagnecriteria De publieksregels van de campagne bekijken
-
Leer meer in de Levende pagina van het activiteitencampagnerapport .
-
-
accordion Feedbackgebeurtenissen voor berichten in profiel controleren -
Navigeer aan Klant > Profielen in Journey Optimizer.
-
Zoek naar en open het profiel.
-
Selecteer de Gebeurtenissen tabel.
-
Filter of zoek naar gebeurtenissen met
eventType = "message.feedback". -
Zoek naar feedbackgebeurtenissen die overeenkomen met het type
liveActivityIDeneventvan uw Live-activiteit. -
Bekijk de volgende belangrijke velden:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 Veld Mogelijke waarden Wat het betekent feedbackStatussent,error,denylistResultaat van levering door serviceprovider serviceProviderapns/apnsSandboxMoet APN's zijn voor iOS Live-activiteiten errorCodeNumerieke code of nullAPNs-specifieke foutcode indien mislukt errorMessageFoutbeschrijving of nullFoutbericht voor leesbare tekst -
als
feedbackStatus: "error":- Controleer
errorCodeenerrorMessageop specifieke APNs fouten - Veelvoorkomende APNs-fouten zijn verlopen token, ongeldig certificaat, onjuiste bundel-id
- Controleer
-
als geen terugkoppel gebeurtenis vond:
- Het pushbericht is mogelijk niet geprobeerd
- Controleer of het profiel is uitgesloten in campagnerapporten, zoals beschreven in stap 1 hierboven.
-
-
accordion Levering van Live-activiteiten aan APN<>s in Assurance controleren -
Open uw Assurance-sessie. Deze moet actief zijn tijdens de API-aanroep.
-
Voer de API-aanroep uit (start, update of end).
-
In de Lijst van de Gebeurtenis, zoek de Actieve gebeurtenissen van de Activiteit.
-
Zoeken naar gebeurtenissen die te maken hebben met APNs-push.
-
Controleren op de volgende indicatoren:
- duw verzoek aan APNs: Bevestigt Adobe verzendt de duw naar de servers van Apple
- APNs reactie: Toont of APNs of de duw goedkeurde verworpen
- Status van de Levering: De aanwijzing van het succes of van de mislukking
-
Als er problemen worden gevonden, raadpleegt u de volgende algemene APNs-leveringsproblemen:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Probleem Symptoom in Assurance Resolutie APNs-certificaat verlopen Verificatiefout Nieuw APN-certificaat vernieuwen en uploaden Verkeerde omgeving (dev vs prod) Fout door token Zorg ervoor dat het certificaat overeenkomt met het type App-build Bundel-id komt niet overeen Ongeldige bundle-id Identieke overeenkomende certificaatbundel-id verifiëren Token is verlopen InvalidToken-fout van APNs Tokens voor live activiteiten opnieuw registreren Snelheidbeperking Te veel verzoeken API-aanroepfrequentie verminderen
-
-
accordion Ga door met aanvullende diagnostische controles -
Metrische gegevens over de levenscyclus van actieve activiteiten controleren in het campagnerapport.
In het campagnerapport, herzie de Levende sectie van de activiteitenlevenscyclus:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Metrisch Te controleren wat Extern starten Het aantal API-gestuurde start moet worden weergegeven Updates Aantal updategebeurtenissen weergeven Eindigt Aantal eindgebeurtenissen weergeven Aantal totalen Totaal gebeurtenisvolume van Live Activity Als deze cijfers nul zijn of niet overeenkomen met uw API-aanroepen, is er een leveringsprobleem tussen Adobe en APNs.
-
Als Adobe een succesvolle levering weergeeft, maar het apparaat de Live-activiteit niet weergeeft:
- Controleer iOS-apparaatlogboeken op fouten met Live Activity.
- Controleer of de app op de voor- of achtergrond staat (niet is afgesloten).
- Bevestig apparaat heeft netwerkconnectiviteit.
- Test op meerdere apparaten om apparaatspecifieke problemen uit te sluiten.
- Controleer of iOS-versie 16.1 of hoger is.
-
-
accordion Doorverwijzing naar Adobe-ondersteuning Als u alle stappen hebt uitgevoerd en het probleem niet is opgelost, neemt u contact op met de klantenservice van Adobe via:
Vereiste informatie:
-
Campagne-id en naam
-
Profielnaamruimte en -id
liveActivityIDvan API-payload
-
Tijdstempels van API-aanroepen
-
Screenshots van:
- Campagnerapporten (verzenden van statistieken, oorzaken van fouten, uitgesloten redenen)
- Profielgebeurtenissen (
liveActivity.updateToken,message.feedback) - Assurance-sessie met leveringsgebeurtenissen
-
Volledige lading voor API-verzoek
-
APNs-certificaatdetails (vervaldatum, omgeving, bundel-id)
-
Uniespecifieke scenario's
Token voor update van actieve activiteit is niet gesynchroniseerd token-not-synced
De liveactiviteit wordt op het apparaat gestart, maar volgende update - of end API-aanroepen (die HTTP 200 retourneren) kunnen de live activiteit niet bijwerken of sluiten. Dit komt voor wanneer het Levende het updatetoken van de Activiteit niet behoorlijk aan het systeem van Adobe wordt gesynchroniseerd.
Begrijpend updatetokens
Wanneer een Live-activiteit op een apparaat wordt gestart, genereert iOS een uniek updatetoken voor die specifieke Live-activiteit-instantie. Dit token is vereist voor:
- Updates verzenden voor de live activiteit
- Live activiteiten extern beëindigen
Elke instantie van Live-activiteit heeft een eigen unieke update-token. Adobe heeft dit token nodig om update- en end-gebeurtenissen te leveren.
Verwacht gedrag
Update- en end-gebeurtenissen werken alleen als het volgende plaatsvindt:
- Live-activiteit wordt op het apparaat gestart.
- Apparaat genereert een updatetoken voor die Live Activity-instantie.
- Mobile SDK legt de updatetoken vast en stuurt deze naar Adobe.
- Het updatetoken wordt gesynchroniseerd en opgeslagen in het Adobe-systeem.
- Volgende API-aanroepen voor bijwerken/beëindigen gebruiken dit token voor levering.
pre-controles:
- Toestemming van de Gebruiker: De eerste keer een Levende Activiteit begint op een apparaat, toont iOS een systeemherinnering: "Toestaan [ Naam van de App ] om Actieve updates van de Activiteit te verstrekken?" De gebruiker moet "toestaan"tikken voor updatetokens om worden geproduceerd en worden gesynchroniseerd. Als de gebruiker op "Niet toestaan" tikt, worden geen updatetokens gemaakt en mislukken de update-/eindaanvragen. Dit is een eenmalige machtiging per app.
- Bevestiging van het Profiel en van de Campagne: Volledige Scenario 1 en Scenario 2 controles om profiel, tekenen, en campagneconfiguratie te verzekeren zijn correct.
Foutopsporingsstappen
-
accordion Synchronisatie van updatetoken verifiëren in Assurance -
Open je Assurance-sessie.
-
Zorg ervoor dat de sessie actief was toen de Live-activiteit op het apparaat werd gestart.
-
Filter of zoek naar gebeurtenissen met
eventType = "liveActivity.updateToken". -
Selecteer de gebeurtenis en controleer de lading:
- Controleer of het veld
tokeneen geldige token-tekenreeks voor updates bevat. - Controleer of
liveActivityIDovereenkomt met uw Live Activity-instantie. - Bevestig dat de
activityTypeovereenkomen met uwattributes-type.
- Controleer of het veld
-
Als de gebeurtenis niet wordt gevonden:
- Het updatetoken is niet gegenereerd of vastgelegd door de SDK.
- Controleer of de gebruiker Live-activiteit-machtigingen heeft verleend.
- Controleer of Live-activiteit daadwerkelijk op het apparaat is gestart.
- Controleer of de mobiele SDK correct is geïntegreerd om updatetokens vast te leggen.
-
Ga door met Stap 2 als een gebeurtenis wordt gevonden.
-
-
accordion Update-token verifiëren bij profielgebeurtenissen -
Navigeer aan Klant > Profielen in Journey Optimizer.
-
Zoek naar en open het profiel.
-
Selecteer de Gebeurtenissen tabel.
-
Zoek naar
liveActivity.updateToken-gebeurtenissen. -
Controleer de gebeurtenisdetails:
- Controleer of de tijdstempel recent is (komt overeen met het moment dat Live-activiteit is gestart).
- Bevestig dat
tokenenliveActivityIDaanwezig zijn. - Controleer of
activityTypejuist is.
-
Als de gebeurtenis niet wordt gevonden in profiel:
- Het is mogelijk dat de update-token-gebeurtenis nog niet aan het profiel is toegevoegd.
- Wacht 5-10 minuten en controleer het opnieuw.
- Als er na 15 minuten nog steeds een fout optreedt bij het opnemen van de gebeurtenis.
-
Als er een gebeurtenis wordt gevonden, is het updatetoken gesynchroniseerd. U kunt doorgaan naar stap 3.
-
-
accordion Live Activity-leveringsgebeurtenissen controleren in Assurance -
Voer in uw Assurance-sessie een update uit of sluit een API-aanroep af.
-
In de Lijst van de Gebeurtenis, zoek de Levende gebeurtenissen van de Activiteit van de Activiteit (APNs duw gebeurtenissen).
-
Controleren op gebeurtenissen die aangeven:
- Pushmelding verzonden naar APNs.
- Reactie van APNs (succes of fout).
- Bevestiging van levering.
-
Als APNs leveringsgebeurtenis aanwezig is: De pushmelding is verzonden. Als het apparaat nog steeds niet wordt bijgewerkt, bevindt het probleem zich mogelijk aan de apparaatzijde (toepassing die de push niet afhandelt, netwerkproblemen enzovoort).
-
Als APNs-gebeurtenis voor levering ontbreekt: Het updatetoken wordt mogelijk niet correct opgeslagen of gekoppeld aan het profiel in het Adobe-systeem.
-
Als er foutgebeurtenissen aanwezig zijn: controleer de foutdetails om specifieke mislukkingsredenen (ongeldige token, APNs afgewezen, enz.).
-
Uitzendspecifieke scenario's
Configuratie van de campagne voor uitzending en problemen met de lading broadcast-config
Deze sectie behandelt het oplossen van problemenscenario's specifiek om Levende Activiteiten uit te zenden, die verschillende het zuiveren benaderingen dan eenheidscampagnes vereisen.
Wanneer profielen geldige tokens hebben maar de Actieve Activiteit niet verschijnt, bijwerkt, of zich zoals verwacht voor publieksleden gedraagt, komt de kwestie typisch uit één van het volgende voort:
- De campagne is niet geconfigureerd als API-getriggerde marketing.
- De API-payload gebruikt een onjuiste uitzendstructuur (ontbreekt
audienceofinput-push-channel). - De velden
content-stateenattributeskomen niet overeen met de iOSActivityAttributes-implementatie. input-push-channelis niet correct gemaakt op de Apple Developer Portal.
Dit scenario voor probleemoplossing is van toepassing op alle gebeurtenissen Live Activity in uitzendcampagnes: start, update en end .
pre-controles:
-
Type van Campagne:
- Verifieer dat de campagne als API-teweeggebrachte Marketing (die voor uitzending/op publiek-gebaseerde campagnes wordt vereist) wordt gecreeerd.
- Bevestig dat een publiek in de campagneconfiguratie wordt bepaald.
-
Profiel en Symbolische Bevestiging: Steek veelvoudige profielen van het publiek om te verifiëren zij geldig
liveActivityPushNotificationDetailshebben. Voor gedetailleerde bevestigingsstappen, volg Scenario 1 .
Foutopsporingsstappen
-
accordion Configuratie voor publiek campagne controleren -
Open uw API teweeggebrachte de Marketing Campagne van de Marketing in Journey Optimizer.
-
Navigeer aan de sectie van het publiek en verifieer:
- Er is een publiek geselecteerd voor de campagne.
- De gebruikers-id komt overeen met de id die wordt gebruikt in uw API-payload.
- Het publiek bevat de verwachte profielen.
-
Navigeer aan de sectie van Acties.
-
Controleer de Levende activiteitenconfiguratie:
- De configuratie moet worden ingesteld voor de iOS-toepassing met de juiste bundle-id.
- Het type Activiteit moet overeenkomen met
attributes-typein uw API-payload. Als uw lading bijvoorbeeld"attributes-type": "AirplaneTrackingAttributes"bevat, moet de campagne dit zelfde type van Activiteit specificeren.
-
-
accordion Payloadstructuur van uitzendings-API valideren De structuur van de uitzendingslading verschilt van eenheidscampagnes. Verifieer dat uw lading het correcte uitzendingsformaat volgt.
Vereiste gebieden voor uitzending:
code language-json { "campaignId": "878a11d4-b519-47bd-8313-fecfee19857b", "audience": { "id": "8c3dbdea-2957-401f-acf0-3966fba1601e" }, "context": { "requestPayload": { "aps": { "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==", "content-available": 1, "timestamp": 1771829292, "event": "update", "attributes-type": "AirplaneTrackingAttributes", "content-state": { ... }, "attributes": { ... } } } } }Gemeenschappelijke payload kwesties:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 Veld Vereiste Vaak probleem campaignIdMoet overeenkomen met de geactiveerde marketingcampagne-id Onjuiste campagne-id of Transactionele campagne gebruiken audience.idMoet overeenkomen met een bestaand publiek in AEP Onjuiste publiek-id of publiek bestaat niet input-push-channelVereist voor uitzending - Unieke id voor deze uitgezonden instantie Ontbreekt of komt niet overeen met channelIDinliveActivityDatatimestampMoet altijd de huidige/laatste Unix-tijdperktijd in seconden zijn Tijdstempel gebruiken in oude cache eventMoet "start","update"of"end"zijnOngeldig gebeurtenistype attributes-typeMoet overeenkomen met het type campagneactiviteit Verkeerd of typefout content-availableMoet zijn 1Ontbrekende of onjuiste waarde Kritieke uitzending-specifieke gebieden:
-
input-push-channel:- Vereist voor alle uitzending Live Activiteiten.
- Fungeert als een unieke id voor deze specifieke uitzendingsinstantie.
- Alle profielen in het publiek ontvangen Live Activiteiten die aan dit kanaal zijn gekoppeld.
- Moet overeenkomen met
channelIDinliveActivityData.channelID(zie Stap 3). - Moet door de client worden gemaakt voor de
appIDop de Apple Developer Portal. - Alleen kanalen die voor de specifieke
appIDzijn gemaakt, kunnen worden gebruikt voor het uitzenden van Live-activiteit op die app.
-
audience.id:- Moet verwijzen naar een geldig publiekssegment dat in Adobe Experience Platform is gemaakt.
- Alle profielen in dit publiek zijn gericht op Live-activiteit.
- Het publiek moet worden geactiveerd en profielen met geldige waarden bevatten
liveActivityPushNotificationDetails.
altijd gebruik recentste timestamp:
- Het veld
timestampmoet voor elke API-aanroep altijd de huidige Unix-epoche-tijd (in seconden) zijn. - Deze vereiste geldt voor alle gebeurtenistypen:
start,updateenend. - Kritiek voor updates/eind: Het gebruiken van stapeltimestamps veroorzaakt update en eindverzoeken om te ontbreken.
- Genereer een nieuwe tijdstempel voor elke API-oproep voor uitzending.
Facultatieve gebieden:
dismissal-date: Unix tijdperk voor automatisch ontslag (alleen relevant voorend-gebeurtenissen)alert: Object mettitleenbodyvoor melding
Verwijs naar de documentatie van API van het Overseinen van Adobe Journey Optimizer voor volledige API specificaties.
-
-
accordion Inhoudsstatus, kenmerken en invoerpushkanaal uitlijnen met iOS-implementatie Zorg ervoor dat de payload-velden overeenkomen met de
ActivityAttributes-implementatie van uw iOS-app en dat deinput-push-channelovereenkomt met dechannelIDinliveActivityData.- Bekijk de definitie van iOS ActivityAttributes.
Uw aangepaste
ActivityAttributesstruct moet het AdobeLiveActivityAttributes-protocol implementeren:code language-swift struct AirplaneTrackingAttributes: LiveActivityAttributes { public struct ContentState: Codable, Hashable { var journeyProgress: Int } // Adobe SDK requirement var liveActivityData: LiveActivityData // Your custom attributes var arrivalAirport: String var departureAirport: String var arrivalTerminal: String }- Wijs iOS-velden toe aan de uitzending van de API.
Neem voor alle gebeurtenissen zowel
attributesalscontent-stateop:code language-json { "aps": { "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==", "event": "start", "timestamp": 1771829292, "attributes-type": "AirplaneTrackingAttributes", "content-state": { "journeyProgress": 0 }, "attributes": { "arrivalAirport": "DEL", "departureAirport": "MUM", "arrivalTerminal": "T1", "liveActivityData": { "channelID": "FEt0NgvLEfEAAOqA6AXdIQ==" } } } }Kritiek:
input-push-channelmoetchannelIDaanpassen- De
input-push-channel-waarde in de hoofdmap vanapsmoet exact overeenkomen met dechannelIDinliveActivityData. - In het bovenstaande voorbeeld zijn beide waarden
"FEt0NgvLEfEAAOqA6AXdIQ==". - Deze overeenkomst koppelt de uitzendingsinstantie aan de Levende gegevens van de Activiteit.
- Bij een onjuiste overeenkomst treden leveringsfouten op.
Zeer belangrijke bevestigingspunten:
- Neem alle
ContentState-velden op incontent-statevoor alle gebeurtenistypen. - Neem alleen voor startgebeurtenissen alle aangepaste
LiveActivityAttributesvelden inattributesop. - Voor start-gebeurtenissen moet
liveActivityData.channelIDovereenkomen metinput-push-channel. - Veldnamen zijn hoofdlettergevoelig en moeten exact overeenkomen.
- De gegevenstypen moeten overeenkomen (String, Int, Bool, geneste objecten, enz.).
- Voor update-/end-gebeurtenissen gebruikt u dezelfde
input-push-channelals de oorspronkelijke start-gebeurtenis.
Gemeenschappelijke fouten:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 Probleem Gevolgen Repareren Ontbrekend input-push-channelUitzenden werkt niet Unieke kanaal-id toevoegen voor elke uitzending input-push-channelkomt niet overeen metchannelIDLive-activiteiten wordt niet gestart Zorg ervoor dat beide waarden identiek zijn Verschil input-push-channelvoor bijwerken/beëindigenDe update/end zal niet de Levende Activiteiten bereiken Dezelfde kanaal-id gebruiken gedurende de hele levenscyclus Ontbrekend liveActivityData.channelIDLive activiteit is niet gekoppeld aan uitzenden channelIDopnemen in kenmerken voor startgebeurtenisVereist veld ontbreekt in startgebeurtenis Live-activiteiten wordt niet gestart Alle velden uit iOS-structuur toevoegen Onjuiste veldnaam (typefout/hoofdletter) Veld genegeerd of parseerfout IOS-veldnamen exact afstemmen Tijdstempel schalen bij bijwerken/beëindigen Bijwerken/beëindigen genegeerd door apparaten Altijd nieuwe tijdstempel genereren -
accordion Testen met Assurance Verifieer de uitvoering van de API en de levering van de lading met Assurance:
-
Open uw Assurance-sessie op een testapparaat dat deel uitmaakt van het publiek.
-
Voer de uitzending API vraag uit.
-
In de Lijst van de Gebeurtenis, zoek:
- Gebeurtenissen tijdens de uitvoering van de campagne.
- Gebeurtenissen voor de levering van Live Activity.
- Foutgebeurtenissen die mislukte payload-validatie aangeven.
-
Inspecteer gebeurtenisladingen om te bevestigen:
- De lading is correct verwerkt.
- De lus
input-push-channelis aanwezig. - Er zijn geen validatiefouten opgetreden.
- Live-activiteiten zijn naar APN's verzonden voor publieksleden.
-
Profiel niet in publieksopname of opname van een vergelijkbaar publiek
In dit scenario worden de campagne en de lading correct gevormd, maar de specifieke profielen ontvangen niet de Levende Activiteit. Dit gebeurt gewoonlijk wanneer:
- Het profiel is geen lid van het publiek dat aan de campagne is gekoppeld.
- Het publiek is een batchpubliek en bevat een verouderde momentopname van profielgegevens.
- De tokens voor Live-activiteit van het profiel zijn onlangs toegevoegd, maar zijn nog niet in de momentopname van het publiek weerspiegeld.
Dit het oplossen van problemenscenario is specifiek op uitzendingscampagnes gebruikend op publiek-gebaseerd richten van toepassing.
Begrijpend publieksevaluatie
Adobe Experience Platform gebruikt verschillende methoden voor publieksevaluatie die bepalen wanneer profielupdates in het publiek worden weerspiegeld:
pre-controles:
-
Campagne en Bevestiging van de Lading:
- Voltooi de controles in dit scenario om de campagne en de lading te verzekeren correct zijn.
- Controleer of de
audience.idin de API-payload overeenkomt met de configuratie van de campagne.
-
Profiel bestaat: Bevestig dat het profiel in AEP met geldig
liveActivityPushNotificationDetailsbestaat.
Foutopsporingsstappen
-
accordion Controleren of het profiel in het publiek aanwezig is Bevestig eerst of het profiel dat de live activiteit moet ontvangen, daadwerkelijk deel uitmaakt van het publiek.
-
Navigeer aan Soorten publiek in Adobe Experience Platform.
-
Zoek naar en open het publiek gebruikend
audience.idvan uw campagne. -
Klik doorbladeren of profielen van de Steekproef om publieksleden te bekijken.
-
Zoek naar uw testprofiel gebruikend namespace en identiteitswaarde.
-
als het profiel niet in het publiek wordt gevonden:
- Het profiel voldoet niet aan de publiekscriteria of segmentregels.
- Bekijk de publieksdefinitie om inzicht te krijgen in de lidmaatschapsvereisten.
- Werk de profielgegevens of publieksdefinitie bij om het profiel op te nemen.
- Wacht op publieksevaluatie om te voltooien (zie Stap 2).
-
als het profiel in het publiek wordt gevonden: ga aan Stap 2 te werk om gegevensversheid te controleren.
-
-
accordion Type en planning van publieksevaluatie controleren Identificeer of het publiek batch- of streaming evaluatie gebruikt, aangezien dit gegevensversheid bepaalt.
-
Op de pagina van de Details van het publiek, controleer de methode van de Evaluatie:
- Partij: Evalueerde eens per dag op een programma.
- Streaming: die in real time wordt geëvalueerd wanneer de profielupdates voorkomen.
- Edge: Evaluated bij randplaatsen in real time.
Volg de aangewezen die het oplossen van problemenstappen op de evaluatiemethode worden gebaseerd:
als het publiek de evaluatie van de Partij gebruikt:
-
begrijp de beperkingen van het partijpubliek:
- Het batchpubliek wordt eenmaal per dag geëvalueerd (doorgaans 's nachts).
- De momentopname van het publiek kan tot 24 uur oud zijn.
- Als een profiel onlangs de Actieve tokens van de Activiteit registreerde, kunnen die tokens niet in de huidige momentopname zijn.
- Updates voor profielen worden pas in de volgende batchevaluatie weergegeven.
-
Controle toen laatste evaluatie voorkwam:
- In de publieksdetails, zoek Laatste evaluatie timestamp.
- Als het profiel
liveActivityPushNotificationDetailsna deze tijdstempel is bijgewerkt, heeft het publiek vaste gegevens.
-
los stale gegevens op:
-
Optie 1: Wacht op geplande partijevaluatie
- De volgende batchevaluatie bevat de bijgewerkte profielgegevens.
- Dit gebeurt automatisch eenmaal per dag.
- Het beste voor niet-dringende scenario's.
-
Optie 2: Trigger op bestelling publieksevaluatie
- Navigeer aan Soorten publiek in AEP.
- Selecteer uw publiek.
- Klik evalueer nu of activeer op bestelling.
- Wacht tot de evaluatie is voltooid (dit kan enkele minuten tot uren duren, afhankelijk van de grootte van het publiek).
- Controleer of het profiel nu bijgewerkte gegevens bevat in de momentopname van het publiek.
- Probeer de API-aanroep van de uitzending opnieuw.
-
als het publiek het Streamen evaluatie gebruikt:
-
Begrijp het stromen publieksgedrag:
- Streaming publiek wordt in realtime geëvalueerd wanneer profielupdates plaatsvinden.
- Nieuwe profielen: Kwalificeer kort na verwezenlijking als zij segmentcriteria voldoen.
- Bijgewerkte profielen: Kwalificeer of diskwalificeer kort na wordt bijgewerkt.
- Bestaande ongewijzigde profielen: Zijn niet hergeëvalueerd tenzij een update voorkomt.
-
identificeer de kwestie:
- Als een profiel al bestaat en aan de segmentcriteria voldoet, maar er vindt geen update voor dat profiel plaats, wordt het mogelijk niet toegevoegd aan een nieuw gemaakt streaming publiek.
- Het profiel moet een update (elke wijziging in kenmerken) ontvangen om herevaluatie te starten.
-
los de kwestie op:
-
voor nieuwe profielen: Zij kwalificeren automatisch als de criteria worden voldaan aan. Geen actie nodig.
-
voor bestaande profielen zonder recente updates:
- Een kleine update van het profiel uitvoeren (bijvoorbeeld een tijdstempelveld bijwerken).
- Dit activeert het stromen evaluatie en voegt het profiel aan het publiek toe.
- Alternatief: gebruik een batchpubliek of een randpubliek voor bestaande profielen.
-
-