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é on-device decisioning funzioni, consulta il seguente elenco di funzioni supportate:

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

Tipi di attività

La tabella seguente indica quali tipi di attività creati utilizzando il Compositore esperienza basato su moduli sono supportati o non supportati per on-device decisioning.

Targeting del pubblico

La tabella seguente indica quali regole di pubblico sono supportate o meno per on-device decisioning.

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 on-device decisioning

Per mantenere una latenza prossima allo zero per le attività on-device decisioning con pubblico basato su geotargeting, l'Adobe consiglia di fornire personalmente 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, se non hai la possibilità di eseguire ricerche IP-to-Geo sul server, ma desideri comunque eseguire on-device decisioning per getOffers richieste che contengono tipi di pubblico basati su geotargeting, anche questo è supportato. 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é l'SDK possa recuperare la geolocalizzazione dell'indirizzo IP dell'utente. Se viene fornito un altro campo oltre a ipAddress, l'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 i metodi di allocazione supportati o non supportati per on-device decisioning.

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