Présentation des fonctionnalités prises en charge

Les SDK côté serveur de Adobe Target offrent aux développeurs la possibilité de choisir entre les performances et l’actualisation des données pour les décisions. En d’autres termes, si la diffusion de contenu personnalisé le plus pertinent et attrayant par le biais de l’apprentissage automatique est la plus importante pour vous, un appel au serveur en direct doit être effectué. Mais lorsque les performances sont plus critiques, une décision doit être prise sur l’appareil. Pour que on-device decisioning fonctionne, reportez-vous à la liste suivante des fonctionnalités prises en charge :

  • Types d’activité
  • Ciblage d’audience
  • Méthode d’affectation

Types d’activités

Le tableau suivant indique les types d’activité créés à l’aide du compositeur d’expérience d’après les formulaires qui sont pris en charge ou non pour on-device decisioning.

Ciblage de l’audience

Le tableau suivant indique les règles d’audience prises en charge ou non pour on-device decisioning.

Règle d’audience
Prise de décision sur appareil
Géo
Oui
Réseau
Non
Mobile
Non
Paramètres personnalisés
Oui
Système d’exploitation
Oui
Pages du site
Oui
Navigateur
Oui
Profil du visiteur
Non
Sources de trafic
Non
Période
Oui
Audiences Experience Cloud (audiences de Adobe Audience Manager, Adobe Analytics et Adobe Experience Manager)
Non

Ciblage géographique pour on-device decisioning

Pour maintenir une latence proche de zéro pour les activités on-device decisioning avec des audiences basées sur la géographie, Adobe vous recommande de fournir les valeurs géographiques vous-même dans l’appel à getOffers. Pour ce faire, définissez l’objet Geo dans le Context de la requête. Cela signifie que votre serveur aura besoin d’un moyen de déterminer l’emplacement de chaque utilisateur final. Par exemple, votre serveur peut effectuer une recherche IP/géo à l’aide d’un service que vous configurez. Certains fournisseurs d’hébergement, tels que Google Cloud, fournissent cette fonctionnalité par le biais d’en-têtes personnalisés dans chaque 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());
    }

}

Cependant, si vous ne pouvez pas effectuer de recherches IP vers géo sur votre serveur, mais que vous souhaitez toujours effectuer on-device decisioning pour les demandes getOffers qui contiennent des audiences basées sur la géographie, cela est également pris en charge. L’inconvénient de cette approche est qu’elle utilise une recherche IP/géo distante, ce qui ajoute une latence à chaque appel getOffers. Cette latence doit être inférieure à un appel getOffers distant, puisqu’elle atteint un réseau de diffusion de contenu situé près de votre serveur. Vous ne devez fournir que le champ ipAddress dans l’objet Geo dans l’objet Context de votre requête, afin que le SDK récupère la géolocalisation de l’adresse IP de votre utilisateur. Si un autre champ en plus de ipAddress est fourni, le SDK Target ne récupérera pas les métadonnées de géolocalisation pour la résolution.

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;
    }

}

Méthode d’affectation

Le tableau suivant indique les méthodes d’attribution prises en charge ou non pour on-device decisioning.

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