Panoramica delle funzioni supportate

Gli SDK lato server di Adobe Target offrono agli sviluppatori la flessibilità di scegliere tra prestazioni e aggiornamento dei dati per le decisioni. In altre parole, se la distribuzione dei contenuti personalizzati più rilevanti e coinvolgenti tramite l’apprendimento automatico è la cosa più importante per te, è necessario effettuare una chiamata al server live. Tuttavia, quando le prestazioni sono più importanti, è necessario prendere una decisione sul dispositivo. Affinché le decisioni sul dispositivo funzionino, consulta il seguente elenco di funzionalità supportate:

  • Tipi di attività
  • Targeting del pubblico
  • Metodo di allocazione

Tipi di attività

La tabella seguente indica quali tipi di attività creati con Compositore esperienza basato su moduli sono supportati o meno per decisioni su dispositivo.

Targeting del pubblico

La tabella seguente indica quali regole di pubblico sono supportate o meno per le decisioni su dispositivo.

Regola pubblico
Decisioning sul dispositivo
Geo
Rete
No
Mobile
No
Parametri personalizzati
Sistema operativo
Pagine del sito
Browser
Profilo visitatore
No
Origini del traffico
No
Arco temporale
Tipi di pubblico di Experience Cloud (tipi di pubblico da Adobe Audience Manager, Adobe Analytics e Adobe Experience Manager)
No

Geotargeting per decisioning sul dispositivo

Per mantenere una latenza prossima allo zero per le attività decisioning sul dispositivo con pubblico basato su geotargeting, Adobe consiglia di fornire autonomamente i valori geografici nella chiamata a getOffers. A tale scopo, impostare l’oggetto Geo in Context della richiesta. Ciò significa che il server dovrà essere in grado di determinare la posizione di ciascun utente finale. Ad esempio, il server potrebbe eseguire una ricerca IP-to-Geo utilizzando un servizio configurato. Alcuni provider di hosting, come Google Cloud, forniscono questa funzionalità tramite intestazioni personalizzate in ogni 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());
    }

}

Tuttavia, anche questa funzionalità è supportata se non si dispone della capacità di eseguire ricerche IP-to-Geo sul server, ma si desidera comunque eseguire decisioning sul dispositivo per getOffers richieste che contengono tipi di pubblico basati su geotargeting. Il lato negativo di questo approccio è che utilizzerà una ricerca remota IP-Geo, che aggiungerà latenza a ogni chiamata getOffers. Questa latenza deve essere inferiore a una chiamata getOffers remota, poiché raggiunge una rete CDN vicina al server. È necessario fornire solo il campo ipAddress nell’oggetto Geo nella Context della richiesta, affinché SDK possa recuperare la geolocalizzazione dell’indirizzo IP dell’utente. Se viene fornito un altro campo oltre a ipAddress, il SDK Target non recupererà i metadati di geolocalizzazione per la risoluzione.

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

}

Metodo di allocazione

La tabella seguente indica quali metodi di allocazione sono supportati o meno per decisioning sul dispositivo.

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