Implementera Target med AEP Mobile SDK i ett program med webbvyer

Senaste uppdatering: 2023-08-28
  • Skapat för:
  • Developer

I den här artikeln beskrivs de bästa sätten att implementera Adobe Target i en mobilapp som använder inbyggd kod med webbvyer med Adobe Experience Platform Mobile SDK.

I den här artikeln används ett exempel på en iOS-app med Adobe Experience Platform Mobile SDK and a Target integration written in Swift from the GitHub repository.

I verkligheten använder företagsappen troligen webbvyer i din mobilapp. En webbvy är en behållare som läser in en webbsida med en URL-adress. Behållaren liknar ett webbläsarfönster utan kontroller. I iOS fungerar webbvybehållaren som en Safari-webbläsare när webbsidor bearbetas.

Förutsättningar

Så här kommer du igång med Adobe Experience Platform Mobile SDKmåste du utföra några nödvändiga uppgifter.

Mer information finns i Adobe Target in the Adobe Experience Platform Mobile SDK dokumentation.

Synkronisera inbyggd kod med webbvyer

Utmaningen vid implementering Target i ett program med webbvyer är Adobe Experience Platform Mobile SDK har redan genererat alla nödvändiga identifierare som krävs för Adobe lösningar som fungerar smidigt. Identifierarna är dock inte synliga för webbvyerna än eftersom dessa identifierare inte finns i den ursprungliga plattformsmiljön. Därför måste du skapa en brygga för att skicka vissa SDK-identifierare till webbvyerna så att besöksidentiteten kvarstår i webbmiljön. Om du inte gör detta på rätt sätt kommer dubblettbesök att utföras, vilket påverkar din rapportering.

Som tur är Adobe Experience Platform Mobile SDK är ett praktiskt sätt att generera Adobe parametrar som krävs för att webbvyer ska kunna användas och finnas kvar för samma besökare, vilket visas i följande exempelkod:

Identity.appendTo(url: URL(string: url), completion: {appendedURL, error in
  print("appendedURL \(String(describing: appendedURL))")
  // load the url with ECID on the main thread
  DispatchQueue.main.async {
    let request = NSMutableURLRequest(url: appendedURL!)
    self.webView.load(request as URLRequest)
  }
});

Mer information om Identity.appendTo och om du vill se ett exempel på hur du använder metoden läser du Swift > Exempel i Mobil SDK-dokumentation.

Använda Identity.appendTo, den här URL:en:

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2

omformar till:

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2&adobe_mc=TS%3D1660667205%7CMCMID%3D69624092487065093697422606480535692677%7CMCORGID%3DEB9CAE8B56E003697F000101%40AdobeOrg

Som du ser finns det adobe_mc parametern har lagts till i URL:en. Den här parametern innehåller kodade värden för:

  • TS=1660667205: Den aktuella tidsstämpeln. Den här tidsstämpeln ser till att webbvyn inte får förfallna värden.
  • MCMID=69624092487065093697422606480535692677: Experience Cloud ID (ECID) Kallas även MID eller Marketing Cloud ID krävs för Adobe identifiering av besökare i flera lösningar.
  • MCORGID=EB9CAE8B56E003697F000101@AdobeOrg Adobe Organization ID.

The Identity.getUrlVariables är ett alternativ Adobe Experience Platform Mobile SDK metod som returnerar en sträng med rätt format som innehåller Experience Cloud Identity Service URL-variabler. Mer information finns i getUrlVariables i API-referens för identitet.

Skicka Target Sessions-ID för samma sessionsupplevelse

Ett steg till krävs för att Target användarresan fungerar smidigt i de inbyggda vyerna och webbvyerna. Det här steget inkluderar extrahering och godkännande av Target Sessions-ID från Adobe Experience Platform Mobile SDK till webbvyerna för mobilappen.

The Target.getSessionId extraherar det sessions-ID som kan skickas till webbvyns URL som en mboxSession parameter:

Target.getSessionId { (id, err) in
    // read Target sessionId
}

Testa i webbvyerna

Länkar för webbförhandsvisning genereras på Activity detail genom att klicka på Adobe QA link om du vill visa ett popup-fönster där du kan kopiera varje länk för förhandsvisning av upplevelsen, som följande:

?at_preview_token=mhFIzJSF7JWb-RsnakpBqi_s83Sl64hZp928VWpkwvI&at_preview_index=1_1&at_preview_listed_activities_only=true

Webbförhandsgranskningslänkar innehåller ytterligare at_preview_index och at_preview_listed_activities_only parametrar. Kopiera de här parametrarna för att skapa mobilvänliga förhandsgranskningslänkar med webblänksparametrar.

Exempel:

com.adobe.targetmobile://?at_preview_token=mhFIzJSF7JWb-RsnakpBqhBwj-TiIlZsRTx_1QQuiXLIJFdpSLeEZwKGPUyy57O_&at_preview_index=1_1&at_preview_listed_activities_only=true

När du har öppnat länken i en iOS Safari-webbläsare hämtar din app URL:en i din AppDelegate klass som liknar följande exempel:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
  print("url= \(String(describing: url.absoluteString))")
  //...

Nu när du har hämtat alla nödvändiga parametrar i programmet kan du skicka dem till webben när det behövs:

Identity.appendTo(url: URL(string: url), completion: {appendedURL, error in
  let urlWithWebPreviewLink = appendedURL + "&" + myPreviewLinkFromAppDelegate

Det slutliga resultatet för webbvylänken kan se ut så här:

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2&adobe_mc=TS%3D1660667205%7CMCMID%3D69624092487065093697422606480535692677%7CMCORGID%3DEB9CAE8B56E003697F000101%40AdobeOrg&at_preview_token=mhFIzJSF7JWb-RsnakpBqi_s83Sl64hZp928VWpkwvI&at_preview_index=1_1&at_preview_listed_activities_only=true

På denna sida