Implementierung von Einzelseitenanwendungen

Adobe Experience Platform Web SDK bietet umfassende Funktionen, mit denen Ihr Unternehmen mithilfe von Client-seitigen Technologien der neuesten Generation, wie Single Page Applications (SPA), Personalisierungen ausführen kann.

Herkömmliche Websites arbeiteten auf Basis von Page-to-Page-Navigationsmodellen (auch als Multi-Page-Anwendungen bekannt), bei denen Website-Designs eng an URLs gekoppelt waren und Übergänge von einer Webseite zu einer anderen einen Seitenladevorgang benötigten.

Moderne Webanwendungen wie Einzelseiten-Apps haben stattdessen ein Modell übernommen, das die schnelle Nutzung des Browser-UI-Renderings ermöglicht, das häufig unabhängig von Seitenneuladungen ist. Diese Erlebnisse können durch Kundeninteraktionen wie Bildläufe, Klicks und Cursorbewegungen ausgelöst werden. Da sich die Paradigmen des modernen Webs weiterentwickelt haben, funktioniert die Relevanz herkömmlicher generischer Ereignisse wie Seitenladevorgänge für die Bereitstellung von Personalisierung und Experimenten nicht mehr.

Vorteile des Platform Web SDK für SPA

Hier einige Vorteile der Verwendung des Adobe Experience Platform Web SDK für Einzelseitenanwendungen:

  • Möglichkeit zur Zwischenspeicherung aller Angebote beim Seitenladen, um mehrere Server-Aufrufe auf einen einzelnen Server-Aufruf zu reduzieren
  • Das Benutzererlebnis auf Ihrer Site wird erheblich verbessert, da Angebote sofort über den Cache angezeigt werden, ohne dass durch herkömmliche Server-Aufrufe eine verzögerungsfreie Zeit entsteht.
  • Mit einer einzelnen Codezeile und einer einmaligen Einrichtung für Entwickler können Marketing-Experten A/B- und Erlebnis-Targeting (XT)-Aktivitäten über den Visual Experience Composer (VEC) auf Ihrer SPA erstellen und ausführen.

XDM-Ansichten und Einzelseitenanwendungen

Der Adobe Target VEC für SPA nutzt das Konzept Ansichten: eine logische Gruppe visueller Elemente, aus denen ein SPA Erlebnis besteht. Eine Einzelseitenanwendung kann daher als Übergang durch Ansichten anstelle von URLs betrachtet werden, basierend auf Benutzerinteraktionen. Eine Ansicht umfasst in der Regel eine ganze Site oder eine Gruppe visueller Elemente innerhalb einer Site.

Um genauer zu erklären, was Ansichten sind, verwendet das folgende Beispiel eine hypothetische E-Commerce-Site, die in React implementiert wurde, um Beispielansichten zu untersuchen.

Nachdem Sie zur Homepage navigiert sind, fördert ein Hero-Bild einen Osterverkauf sowie die neuesten Produkte, die auf der Site verfügbar sind. In diesem Fall kann eine Ansicht für den gesamten Startbildschirm definiert werden. Diese Ansicht könnte einfach "home"genannt werden.

Wenn sich der Kunde mehr für die Produkte interessiert, die das Unternehmen verkauft, wird er auf den Link Produkte klicken. Ähnlich wie die Homepage kann die gesamte Produktseite als Ansicht definiert werden. Diese Ansicht könnte "products-all"heißen.

Da eine Ansicht als ganze Site oder eine Gruppe visueller Elemente auf einer Site definiert werden kann, können die vier auf der Produktseite angezeigten Produkte gruppiert und als Ansicht betrachtet werden. Diese Ansicht könnte "Produkte"heißen.

Wenn der Kunde beschließt, auf die Schaltfläche Mehr laden zu klicken, um weitere Produkte auf der Site zu untersuchen, ändert sich die Website-URL in diesem Fall nicht, aber hier kann eine Ansicht erstellt werden, die nur die zweite angezeigte Produktzeile darstellt. Der Name der Ansicht könnte "products-page-2"lauten.

Der Kunde beschließt, einige Produkte von der Site zu kaufen, und fährt mit dem Checkout-Bildschirm fort. Auf der Checkout-Site erhält der Kunde die Möglichkeit, einen normalen Versand oder einen Expressversand auszuwählen. Eine Ansicht kann aus einer beliebigen Gruppe visueller Elemente auf einer Site bestehen. Daher kann eine Ansicht für Versandvoreinstellungen erstellt und als "Versandvoreinstellungen"bezeichnet werden.

Das Konzept der Ansichten kann noch viel weiter erweitert werden. Dies sind nur einige Beispiele für Ansichten, die auf einer Site definiert werden können.

Implementieren von XDM-Ansichten

XDM-Ansichten können in Adobe Target genutzt werden, um Marketern zu ermöglichen, A/B- und XT-Tests über SPA über den Visual Experience Composer durchzuführen. Dazu müssen Sie die folgenden Schritte ausführen, um eine einmalige Entwicklereinrichtung abzuschließen:

  1. Installieren Sie Adobe Experience Platform Web SDK

  2. Bestimmen Sie alle XDM-Ansichten in Ihrer Einzelseitenanwendung, die Sie personalisieren möchten.

  3. Nachdem Sie die XDM-Ansichten definiert haben, implementieren Sie zur Bereitstellung von AB- oder XT VEC-Aktivitäten die Funktion sendEvent() , wobei renderDecisions auf true gesetzt ist, und die entsprechende XDM-Ansicht in Ihrer Einzelseiten-App. Die XDM-Ansicht muss in xdm.web.webPageDetails.viewName übergeben werden. Dieser Schritt ermöglicht es Marketing-Experten, den Visual Experience Composer zu nutzen, um A/B- und XT-Tests für diese XDM zu starten.

    alloy("sendEvent", { 
      "renderDecisions": true, 
      "xdm": { 
        "web": { 
          "webPageDetails": { 
          "viewName":"home" 
          }
        } 
      } 
    });
    
HINWEIS

Beim ersten sendEvent()-Aufruf werden alle XDM-Ansichten abgerufen und zwischengespeichert, die an den Endbenutzer gerendert werden sollen. Nachfolgende sendEvent()-Aufrufe mit übergebenen XDM-Ansichten werden aus dem Cache gelesen und ohne Serveraufruf gerendert.

sendEvent() Funktionsbeispiele

In diesem Abschnitt werden drei Beispiele erläutert, wie die sendEvent()-Funktion in React für eine hypothetische E-Commerce-SPA aufgerufen wird.

Beispiel 1: Startseite von A/B-Tests

Das Marketing-Team möchte A/B-Tests auf der gesamten Startseite durchführen.

Um A/B-Tests auf der gesamten Homepage durchzuführen, muss sendEvent() aufgerufen werden, wobei das XDM viewName auf home gesetzt ist:

function onViewChange() { 
  
  var viewName = window.location.hash; // or use window.location.pathName if router works on path and not hash 

  viewName = viewName || 'home'; // view name cannot be empty 

  // Sanitize viewName to get rid of any trailing symbols derived from URL 

  if (viewName.startsWith('#') || viewName.startsWith('/')) { 
    viewName = viewName.substr(1); 
  }
   
  alloy("sendEvent", { 
    "renderDecisions": true, 
    "xdm": { 
      "web": { 
        "webPageDetails": { 
          "viewName":"home" 
        } 
      } 
    }
  }); 
} 

// react router v4 

const history = syncHistoryWithStore(createBrowserHistory(), store); 

history.listen(onViewChange); 

// react router v3 

<Router history={hashHistory} onUpdate={onViewChange} > 

Beispiel 2: Personalisierte Produkte

Das Marketing-Team möchte die zweite Produktzeile personalisieren, indem es die Farbe der Preisbeschriftung in Rot ändert, nachdem ein Benutzer auf Mehr laden geklickt hat.

function onViewChange(viewName) { 

  alloy("sendEvent", { 
    "renderDecisions": true, 
    "xdm": { 
      "web": { 
        "webPageDetails": { 
          "viewName": viewName
        }
      } 
    } 
  }); 
} 

class Products extends Component { 
  
  render() { 
    return ( 
      <button type="button" onClick={this.handleLoadMoreClicked}>Load more</button> 
    ); 
  } 

  handleLoadMoreClicked() { 
    var page = this.state.page + 1; // assuming page number is derived from component’s state 
    this.setState({page: page}); 
    onViewChange('PRODUCTS-PAGE-' + page); 
  } 

} 

Beispiel 3: Versandvoreinstellungen für A/B-Tests

Das Marketing-Team möchte einen A/B-Test durchführen, um zu sehen, ob die Änderung der Farbe der Schaltfläche von blau in rot bei Auswahl von Expresszustellung die Konversionen steigert (im Gegensatz zur blauen Button-Farbe für beide Bereitstellungsoptionen).

Um den Inhalt auf der Site je nach ausgewählter Versandpräferenz zu personalisieren, kann für jede Versandpräferenz eine Ansicht erstellt werden. Wenn Normale Bereitstellung ausgewählt ist, kann die Ansicht "checkout-normal"heißen. Wenn Expresszustellung ausgewählt ist, kann die Ansicht "Checkout-Express"heißen.

function onViewChange(viewName) { 
  alloy("sendEvent", { 
    "renderDecisions": true, 
    "xdm": { 
      "web": { 
        "webPageDetails": { 
          "viewName": viewName 
        }
      }
    }
  }); 
} 

class Checkout extends Component { 

  render() { 
    return ( 
      <div onChange={this.onDeliveryPreferenceChanged}> 
        <label> 
          <input type="radio" id="normal" name="deliveryPreference" value={"Normal Delivery"} defaultChecked={true}/> 
          <span> Normal Delivery (7-10 business days)</span> 
        </label> 
        <label> 
          <input type="radio" id="express" name="deliveryPreference" value={"Express Delivery"}/> 
          <span> Express Delivery* (2-3 business days)</span> 
        </label> 
      </div> 
    ); 
  } 

  onDeliveryPreferenceChanged(evt) { 
    var selectedPreferenceValue = evt.target.value; 
    onViewChange(selectedPreferenceValue); 
  } 

} 

Verwenden von Visual Experience Composer für eine SPA

Wenn Sie mit der Definition Ihrer XDM-Ansichten fertig sind und sendEvent() mit diesen XDM-Ansichten implementiert haben, kann der VEC diese Ansichten erkennen und Benutzern ermöglichen, Aktionen und Änderungen für A/B- oder XT-Aktivitäten zu erstellen.

HINWEIS

Um VEC für Ihre SPA zu verwenden, müssen Sie entweder die VEC Helper-Erweiterung Firefox oder Chrome installieren und aktivieren.

Bedienfeld „Änderungen“

Im Bedienfeld Änderungen werden die für eine bestimmte Ansicht erstellten Aktionen erfasst. Alle Aktionen für eine Ansicht sind unter dieser Ansicht gruppiert.

Aktionen

Durch Klicken auf eine Aktion wird das Element auf der Sites hervorgehoben, in dem diese Aktion angewendet wird. Jede VEC-Aktion, die unter einer Ansicht erstellt wird, verfügt über die folgenden Symbole: Information, Bearbeiten, Klonen, Verschieben und Löschen. Diese Symbole werden in der folgenden Tabelle ausführlicher erläutert.

Icon Beschreibung
Information Zeigt die Details der Aktion an.
Bearbeiten Ermöglicht die direkte Bearbeitung der Eigenschaften dieser Aktion.
Klonen Sie können die Aktion auf eine oder mehrere Ansichten klonen, die im Bedienfeld Änderungen vorhanden sind, oder auf eine oder mehrere Ansichten, die Sie im VEC durchsucht haben oder zu denen Sie navigiert sind. Die Aktion muss nicht unbedingt im Bedienfeld „Änderungen“ vorhanden sein.

Hinweis: Nachdem ein Klonvorgang ausgeführt wurde, müssen Sie über "Durchsuchen"zur Ansicht im VEC navigieren, um zu sehen, ob die geklonte Aktion ein gültiger Vorgang war. Wenn die Aktion nicht auf die Ansicht angewendet werden kann, wird ein Fehler angezeigt.
Verschieben Hiermit wird die Aktion in ein Seitenladereignis oder eine andere Ansicht verschoben, die im Änderungs-Bedienfeld bereits vorhanden ist.

Seitenladereignis: Alle Aktionen, die dem Seitenladeereignis entsprechen, werden beim ersten Laden der Seite Ihrer Webanwendung angewendet.

Hinweis: Nach einem Verschiebevorgang müssen Sie über "Durchsuchen"zur Ansicht im VEC navigieren, um zu sehen, ob das Verschieben ein gültiger Vorgang war. Wenn die Aktion nicht auf die Ansicht angewendet werden kann, wird ein Fehler angezeigt.
Löschen Löscht die Aktion.

VEC für SPA Beispiele verwenden

In diesem Abschnitt werden drei Beispiele für die Verwendung von Visual Experience Composer zum Erstellen von Aktionen und Änderungen für A/B- oder XT-Aktivitäten beschrieben.

Beispiel 1: Aktualisieren der Startansicht

Zuvor wurde in diesem Dokument eine Ansicht mit dem Namen "home"für die gesamte Homepage definiert. Das Marketing-Team möchte nun die Startansicht wie folgt aktualisieren:

  • Ändern Sie die Schaltflächen Zum Warenkorb hinzufügen und Gefällt mir in einen helleren Anteil von Blau. Dies sollte während des Seitenladevorgangs geschehen, da die Komponenten der Kopfzeile geändert werden müssen.
  • Ändern Sie die Bezeichnung Neueste Produkte für 2019 in Schärfste Produkte für 2019 und ändern Sie die Textfarbe in violett.

Um diese Aktualisierungen im VEC vorzunehmen, wählen Sie Erstellen und wenden Sie diese Änderungen auf die "Home"-Ansicht an.

Beispiel 2: Produktbeschriftungen ändern

Für die Ansicht "products-page-2"möchte das Marketing-Team die Bezeichnung Price in Sale Price ändern und die Beschriftungsfarbe in Rot ändern.

Um diese Aktualisierungen im VEC vorzunehmen, sind die folgenden Schritte erforderlich:

  1. Wählen Sie Browse im VEC aus.
  2. Wählen Sie Products in der oberen Navigation der Site aus.
  3. Wählen Sie einmal Mehr laden aus, um die zweite Produktzeile anzuzeigen.
  4. Wählen Sie Erstellen im VEC aus.
  5. Wenden Sie Aktionen an, um die Textbeschriftung in Verkaufspreis und die Farbe in Rot zu ändern.

Beispiel 3: Präferenzstil eines Versands personalisieren

Ansichten können auf granularer Ebene definiert werden, z. B. ein Status oder eine Option über ein Optionsfeld. Zuvor in diesem Dokument wurden Ansichten für Versandvoreinstellungen, "Checkout-normal"und "Checkout-Express"definiert. Das Marketing-Team möchte die Schaltflächenfarbe für die "Checkout-Express"-Ansicht in Rot ändern.

Um diese Aktualisierungen im VEC vorzunehmen, sind die folgenden Schritte erforderlich:

  1. Wählen Sie Browse im VEC aus.
  2. Fügen Sie Produkte zum Warenkorb auf der Site hinzu.
  3. Wählen Sie oben rechts auf der Site das Warenkorbsymbol aus.
  4. Wählen Sie Checkout Ihre Bestellung aus.
  5. Wählen Sie das Optionsfeld Expresszustellung unter Versandeinstellungen aus.
  6. Wählen Sie Erstellen im VEC aus.
  7. Ändern Sie die Schaltflächenfarbe Pay in Rot.
HINWEIS

Die Ansicht "Checkout-Express"wird erst dann im Bedienfeld Änderungen angezeigt, wenn das Optionsfeld Expresszustellung ausgewählt wurde. Dies liegt daran, dass die Funktion sendEvent() ausgeführt wird, wenn das Optionsfeld Expresszustellung ausgewählt ist. Daher ist dem VEC die Ansicht "Checkout-Express"bis zur Auswahl des Optionsfeldes nicht bekannt.

Auf dieser Seite