Übersicht über unterstützte Funktionen

Die serverseitigen SDKs von Adobe Target geben Entwicklern die Flexibilität, zwischen Leistung und Aktualisierung von Daten für Entscheidungen zu wählen. Sollte Ihnen also die Bereitstellung der relevantesten und ansprechendsten personalisierten Inhalte über maschinelles Lernen am wichtigsten sein, sollte ein Live-Server-Aufruf durchgeführt werden. Wenn die Leistung jedoch kritischer ist, sollte eine Entscheidung auf dem Gerät getroffen werden. Damit on-device decisioning funktioniert, lesen Sie die folgende Liste unterstützter Funktionen:

  • Aktivitätstypen
  • Zielgruppen-Targeting
  • Zuordnungsmethode

Aktivitätstypen

Die folgende Tabelle zeigt, welche Aktivitätstypen, die mit dem formularbasierten Experience Composer erstellt wurden, für on-device decisioning unterstützt oder nicht unterstützt werden.

Zielgruppen-Targeting

Die folgende Tabelle zeigt, welche Zielgruppenregeln für on-device decisioning unterstützt werden oder nicht.

Zielgruppenregel
Gerätebezogene Entscheidungsfindung
Geo
Ja
Netzwerk
Nein
Mobile
Nein
Benutzerdefinierte Parameter
Ja
Betriebssystem
Ja
Seiten der Site
Ja
Browser
Ja
Besucherprofil
Nein
Traffic-Quellen
Nein
Zeitrahmen
Ja
Experience Cloud-Zielgruppen (Zielgruppen aus Adobe Audience Manager, Adobe Analytics und Adobe Experience Manager)
Nein

Geotargeting für on-device decisioning

Um eine nahezu Nulllatenz für on-device decisioning -Aktivitäten mit geo-basierten Zielgruppen zu gewährleisten, empfiehlt Adobe, die Geowerte selbst im Aufruf von getOffers anzugeben. Setzen Sie dazu das Objekt Geo in das Objekt Context der Anfrage. Dies bedeutet, dass Ihr Server eine Möglichkeit benötigt, den Standort der einzelnen Endbenutzer zu ermitteln. Beispielsweise kann Ihr Server mithilfe eines von Ihnen konfigurierten Dienstes eine IP-zu-Geo-Suche durchführen. Einige Hosting-Provider, wie z. B. Google Cloud, stellen diese Funktionalität über benutzerdefinierte Header in jedem HttpServletRequest bereit.

node.js
code language-csharp line-numbers
const CONFIG = {
    client: "acmeclient",
    organizationId: "1234567890@AdobeOrg",
    decisioningMethod: "on-device"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
    request: {
        context: {
            geo: {
                city: "SAN FRANCISCO",
                countryCode: "US",
                stateCode: "CA",
                latitude: 37.75,
                longitude: -122.4
            }
        },
        execute: {
            pageLoad: {}
        }
    }
})
Java
code language-javascript line-numbers
public class TargetRequestUtils {

    public static Context getContext(HttpServletRequest request) {
        Context context = new Context()
            .geo(ipToGeoLookup(request.getRemoteAddr()))
            .channel(ChannelType.WEB)
            .timeOffsetInMinutes(330.0)
            .address(getAddress(request));
        return context;
    }

    public static Geo ipToGeoLookup(String ip) {
        GeoResult geoResult = geoLookupService.lookup(ip);
        return new Geo()
            .city(geoResult.getCity())
            .stateCode(geoResult.getStateCode())
            .countryCode(geoResult.getCountryCode());
    }

}

Wenn Sie jedoch keine IP-zu-Geo-Suchen auf Ihrem Server durchführen können, aber dennoch on-device decisioning für getOffers -Anforderungen ausführen möchten, die geobasierte Zielgruppen enthalten, wird dies ebenfalls unterstützt. Der Nachteil dieses Ansatzes besteht darin, dass eine Remote-IP-zu-Geo-Suche verwendet wird, wodurch jedem getOffers -Aufruf Latenzzeiten hinzugefügt werden. Diese Latenz sollte kleiner als ein Remote-Aufruf von getOffers sein, da er ein CDN trifft, das sich in der Nähe Ihres Servers befindet. Sie dürfen das Feld ipAddress nur im Objekt Geo in der Context Ihrer Anfrage angeben, damit das SDK den geografischen Standort der IP-Adresse Ihres Benutzers abruft. Wenn ein anderes Feld zusätzlich zum ipAddress angegeben wird, ruft das Target-SDK die Metadaten für den geografischen Standort nicht zur Auflösung ab.

node.js
code language-csharp line-numbers
const CONFIG = {
    client: "acmeclient",
    organizationId: "1234567890@AdobeOrg",
    decisioningMethod: "on-device"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
    request: {
        context: {
            geo: {
                ipAddress: "127.0.0.1"
            }
        },
        execute: {
            pageLoad: {}
        }
    }
})
Java
code language-javascript line-numbers
public class TargetRequestUtils {

    public static Context getContext(HttpServletRequest request) {
        Context context = new Context()
            .geo(new Geo().ipAddress(request.getRemoteAddr()))
            .channel(ChannelType.WEB)
            .timeOffsetInMinutes(330.0)
            .address(getAddress(request));
        return context;
    }

}

Zuordnungsmethode

Die folgende Tabelle zeigt, welche Zuordnungsmethoden für on-device decisioning unterstützt werden oder nicht.

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3