Información general sobre funciones compatibles

Los SDK del lado del servidor de Adobe Target proporcionan 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 que on-device decisioning funcione, 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 actividad creados con el Compositor de experiencias basadas en formularios son compatibles o no con on-device decisioning.

Segmentación de audiencia

La siguiente tabla indica qué reglas de audiencia son compatibles o no con on-device decisioning.

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
Explorador
Perfil del visitante
No
Fuentes de tráfico
No
Lapso de tiempo
Audiencias de Experience Cloud (Audiencias de Adobe Audience Manager, Adobe Analytics y Adobe Experience Manager
No

Segmentación geográfica para on-device decisioning

Para mantener una latencia cercana a cero en las actividades on-device decisioning con audiencias basadas en regiones, Adobe recomienda que proporcione los valores geográficos usted mismo en la llamada a getOffers. Para ello, configure el objeto Geo en 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 mediante encabezados personalizados en cada HttpServletRequest.

Nodo.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 su servidor, pero aún desea realizar on-device decisioning para getOffers solicitudes que contienen audiencias basadas en regiones geográficas, esto también se admite. La desventaja de este enfoque es que usará una búsqueda remota de IP a geografía, que agregará latencia a cada llamada de getOffers. Esta latencia debe ser menor que una llamada a getOffers remota, ya que entra en una red de distribución de contenido (CDN) ubicada cerca del servidor. Solo debe proporcionar el campo ipAddress en el objeto Geo de la Context de su solicitud para que el SDK pueda recuperar la geolocalización de la dirección IP del usuario. Si se proporciona cualquier otro campo además de ipAddress, el SDK de Target no recuperará los metadatos de ubicación geográfica para la resolución.

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

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