Présentation des fonctionnalités prises en charge

Les SDK côté serveur d’Adobe Target offrent aux développeurs et aux développeuses la possibilité de choisir entre les performances et la fraîcheur des données pour prendre des décisions. En d’autres termes, si la diffusion du contenu personnalisé le plus pertinent et le plus attrayant via le machine learning 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 la prise de décision sur l’appareil fonctionne, reportez-vous à la liste suivante des fonctionnalités prises en charge :

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

Types d’activités

Le tableau suivant indique quels types d’activité créés à l’aide du [compositeur d’expérience d’après les formulaires](https://experienceleague.adobe.com/docs/target/using/experiences/form-experience-composer.html?lang=fr ?) sont pris en charge ou non pour la prise de décision sur ’appareil.

Ciblage des audiences

Le tableau suivant indique les règles d’audience prises ou non en charge pour la prise de décision sur l’appareil.

Règle d’audience
Prise de décision sur l’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 la prise de décision ​ sur l’appareil

Afin de maintenir une latence proche de zéro pour les activités de prise de décision sur l’appareil avec des audiences basées sur la zone géographique, Adobe vous recommande de fournir vous-même les valeurs géographiques dans l’appel à l’getOffers. Pour ce faire, définissez l’objet Geo dans le Context de la requête. Cela signifie que votre serveur doit pouvoir déterminer l’emplacement de chaque utilisateur final. Par exemple, votre serveur peut effectuer une recherche IP/zone géographique à l’aide d’un service que vous configurez. Certains fournisseurs d’hébergement, tels que Google Cloud, proposent cette fonctionnalité via des 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 à géolocalisation sur votre serveur, mais que vous souhaitez toujours effectuer une prise de décision sur l’appareil pour les requêtes getOffers qui contiennent des audiences géolocalisées, cela est également pris en charge. L’inconvénient de cette approche est qu’elle utilisera une recherche IP/géolocalisation à distance, ce qui ajoutera de la latence à chaque appel getOffers. Cette latence doit être inférieure à un appel de getOffers à distance, car elle atteint un réseau CDN situé près de votre serveur. Vous ne devez fournir le champ ipAddress que dans l’objet Geo dans la 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 du ipAddress est fourni, le SDK Target ne récupère 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’allocation

Le tableau suivant indique les méthodes d’attribution prises en charge ou non pour la prise de décision sur l’appareil.

recommendation-more-help
target-dev-help-dev