Overzicht van ondersteunde functies

Adobe TargetDe server-kant SDKs van ontwikkelaars geeft ontwikkelaars de flexibiliteit om tussen prestaties en versheid van gegevens voor besluiten te kiezen. Met andere woorden, als het voor u van het grootste belang is om de meest relevante en engaging van gepersonaliseerde inhoud via computerleren te leveren, moet er een live serveroproep worden gedaan. Maar als de prestaties kritischer zijn, zou een op-apparatenbesluit moeten worden genomen. Voor on-device decisioning voor uw werk kunt u terecht op de volgende lijst met ondersteunde functies :

  • Activiteitstypen
  • Doelgerichtheid publiek
  • Toewijzingsmethode

Typen activiteiten

De volgende tabel geeft aan welke activiteitstypen gemaakt met de Form-based Experience Composer worden ondersteund of niet ondersteund voor on-device decisioning.

Doelgerichtheid publiek

In de volgende tabel wordt aangegeven voor welke publieksregels deze worden ondersteund on-device decisioning.

Auditieregel
Apparaatbeslissingen
Geo
Ja
Netwerk
Nee
Mobiel
Nee
Aangepaste parameters
Ja
Besturingssysteem
Ja
Sitepagina's
Ja
Browser
Ja
Bezoekerprofiel
Nee
verkeersbronnen
Nee
Tijdschema
Ja
Experience Cloud publiek (Soorten publiek uit Adobe Audience Manager, Adobe Analytics en Adobe Experience Manager)
Nee

Geo targeting voor on-device decisioning

Om een latentie van bijna nul te handhaven voor on-device decisioning Adobe raadt u aan om de geo-waarden zelf op te geven in de oproep aan getOffers. Doe dit door de Geo object in het Context van het verzoek. Dit betekent dat uw server een manier nodig heeft om de locatie van elke eindgebruiker te bepalen. Bijvoorbeeld, kan uw server een IP-aan-Geo raadpleging uitvoeren, gebruikend de dienst u vormt. Sommige hostingproviders, zoals Google Cloud, bieden deze functionaliteit via aangepaste headers in elk 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());
    }

}

Nochtans, als u niet de capaciteit hebt om IP-aan-Geo raadplegingen op uw server uit te voeren, maar u wilt nog uitvoeren on-device decisioning for getOffers aanvragen die op geo gebaseerde doelgroepen bevatten, wordt dit ook ondersteund. Het nadeel van deze benadering is dat het een verre IP-aan-Geo raadpleging zal gebruiken, die latentie aan elk zal toevoegen getOffers vraag. Deze latentie moet lager zijn dan een externe vertraging getOffers aanroep, aangezien deze een CDN raakt die zich dicht bij uw server bevindt. U moet alleen de ipAddress in het veld Geo object in het Context van uw verzoek, zodat de SDK de geolocatie van het IP-adres van uw gebruiker kan ophalen. Indien een ander veld naast de ipAddress wordt verstrekt, Target SDK haalt de metagegevens voor de geolocatie niet op voor oplossing.

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

}

Toewijzingsmethode

In de volgende tabel wordt aangegeven voor welke toewijzingsmethoden wel of niet steun wordt verleend on-device decisioning.

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