Übersicht über die unterstützten Funktionen

Die Server-seitigen SDKs von Adobe Target bieten Entwicklern die Flexibilität, bei Entscheidungen zwischen Leistung und Aktualität der Daten zu wählen. Mit anderen Worten: Wenn die Bereitstellung der relevantesten und ansprechendsten personalisierten Inhalte über maschinelles Lernen für Sie am wichtigsten ist, sollte ein Live-Server-Aufruf erfolgen. Wenn die Leistung jedoch kritischer ist, sollte eine geräteinterne Entscheidung getroffen werden. Informationen zum on-device decisioning finden Sie in der folgenden Liste unterstützter Funktionen:

  • Aktivitätstypen
  • Zielgruppen-Targeting
  • Zuordnungsmethode

Aktivitätstypen

Die folgende Tabelle gibt an, 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 gibt an, welche Zielgruppenregeln für on-device decisioning unterstützt oder nicht unterstützt werden.

Zielgruppenregel
On-device Decisioning
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 die Latenz von nahezu null für on-device decisioning Aktivitäten mit geobasierten Zielgruppen aufrechtzuerhalten, empfiehlt Adobe, die Geowerte selbst in dem Aufruf an getOffers anzugeben. Legen Sie dazu das Geo-Objekt im Context der Anfrage fest. Das bedeutet, dass Ihr Server eine Möglichkeit benötigt, den Standort jedes Endbenutzers zu bestimmen. Ihr Server kann beispielsweise mithilfe eines von Ihnen konfigurierten Services eine IP-zu-Geo-Suche durchführen. Einige Hosting-Anbieter wie Google Cloud bieten diese Funktion über benutzerdefinierte Header in jedem HttpServletRequest.

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 nicht über die Möglichkeit verfügen, auf Ihrem Server IP-zu-Geo-Suchen durchzuführen, aber dennoch on-device decisioning für getOffers-Anfragen durchfü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 zu jedem getOffers-Aufruf eine Latenz hinzukommt. Diese Latenz sollte niedriger sein als eine Remote-getOffers, da sie ein CDN berührt, das sich in der Nähe Ihres Servers befindet. Sie müssen das Feld ipAddress im Geo nur im Context Ihrer Anfrage angeben, damit die SDK den geografischen Standort der IP-Adresse Ihres Benutzers abrufen kann. Wenn zusätzlich zum ipAddress ein anderes Feld bereitgestellt wird, ruft der Target SDK die Geolokalisierungsmetadaten 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 gibt an, welche Zuordnungsmethoden für on-device decisioning unterstützt oder nicht unterstützt werden.

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