Panoramica delle funzioni supportate

Adobe TargetGli SDK lato server di consentono agli sviluppatori 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. Per decisioning sul dispositivo per lavorare, 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à creato utilizzando Compositore esperienza basato su moduli sono supportati o non supportati per decisioning sul dispositivo.

Targeting del pubblico

La tabella seguente indica per quali regole di pubblico sono supportate o meno decisioning sul 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 decisioning sul dispositivo con tipi di pubblico basati sulla geotargeting, l’Adobe consiglia di fornire tu stesso i valori geografici nella chiamata a getOffers. A tale scopo, impostare Geo oggetto 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 decisioning sul dispositivo per getOffers sono supportate anche le richieste che contengono tipi di pubblico basati su geotargeting. Il lato negativo di questo approccio è che utilizzerà una ricerca remota IP-to-Geo, che aggiungerà latenza a ogni getOffers chiamare. Questa latenza deve essere inferiore a un getOffers , poiché raggiunge una rete CDN situata vicino al server. È necessario fornire solo ipAddress campo in Geo oggetto in Context della richiesta, affinché l’SDK possa recuperare la geolocalizzazione dell’indirizzo IP dell’utente. Se sono presenti altri campi oltre a ipAddress viene fornito, il Target L’SDK 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

Nella tabella seguente vengono indicati i metodi di allocazione supportati o non supportati per decisioning sul dispositivo.

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