Información general sobre funciones compatibles

Adobe TargetLos SDK del lado del servidor de ofrecen a los desarrolladores la flexibilidad de elegir entre el rendimiento y la actualización de los datos para tomar decisiones. En otras palabras, si la entrega del contenido personalizado más relevante y atractivo a través del aprendizaje automático es lo más importante para usted, se debe realizar una llamada al servidor en directo. Pero cuando el rendimiento es más crítico, se debe tomar una decisión en el dispositivo. Para toma de decisiones en el dispositivo para trabajar, consulte la siguiente lista de funciones compatibles:

  • Tipos de actividad
  • Segmentación de audiencia
  • Método de asignación

Tipos de actividades.

La siguiente tabla indica qué tipos de actividades creado con la variable Compositor de experiencias basadas en formularios son compatibles o no con toma de decisiones en el dispositivo.

Segmentación de audiencia

La siguiente tabla indica qué reglas de audiencia son compatibles o no con toma de decisiones en el dispositivo.

Regla de audiencia
Toma de decisiones en el dispositivo
Ubicación geográfica
Red
No
Mobile
No
Parámetros personalizados
Sistema operativo
Páginas del sitio
Navegador
Perfil del visitante
No
Fuentes de tráfico
No
Periodo de tiempo
Audiencias de Experience Cloud (Audiencias de Adobe Audience Manager, Adobe Analytics y Adobe Experience Manager
No

Segmentación geográfica para toma de decisiones en el dispositivo

Para mantener una latencia cercana a cero para toma de decisiones en el dispositivo actividades con audiencias basadas en regiones, Adobe recomienda que proporcione los valores geográficos usted mismo en la llamada a getOffers. Para ello, configure las Geo objeto en el Context de la solicitud. Esto significa que el servidor necesitará una forma de determinar la ubicación de cada usuario final. Por ejemplo, el servidor puede realizar una búsqueda de IP a geografía mediante un servicio que configure. Algunos proveedores de alojamiento, como Google Cloud, proporcionan esta funcionalidad a través de encabezados personalizados en cada 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());
    }

}

Sin embargo, si no tiene la capacidad de realizar búsquedas de IP a geografía en el servidor, pero aún desea realizar toma de decisiones en el dispositivo para getOffers solicitudes que contienen audiencias basadas en entornos geográficos, esto también es compatible. La desventaja de este enfoque es que utilizará una búsqueda remota de IP a geografía, que agregará latencia a cada una getOffers llamada. Esta latencia debe ser inferior a la de un remoto getOffers Llamada de, ya que golpea una CDN que se encuentra cerca del servidor. Solo debe proporcionar el ipAddress en el campo Geo objeto en el Context de su solicitud, para que el SDK recupere la geolocalización de la dirección IP del usuario. Si se selecciona cualquier otro campo además de ipAddress se proporciona, la variable Target El SDK no recuperará los metadatos de localización geográfica para su resolución.

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étodo de asignación

La siguiente tabla indica qué métodos de asignación son compatibles o no con toma de decisiones en el dispositivo.

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