支援的功能概述

Adobe Target的伺服器端SDK讓開發人員可靈活地選擇效能與資料新鮮度來做出決策。 換言之,如果透過機器學習提供最相關且最吸引人的個人化內容對您而言至關重要,則應進行即時伺服器呼叫。 但是,當效能較重要時,則應該進行裝置上決策。 的 裝置上決策 若要使用,請參閱以下支援功能清單:

  • 活動類型
  • 對象目標定位
  • 配置方法

活動類型

下表指出其 活動型別 使用建立 表單式體驗撰寫器 支援或不支援 裝置上決策.

對象目標定位

下表指出支援或不支援的對象規則 裝置上決策.

對象規則
裝置上決策
地理
網路
行動
自訂參數
作業系統
網頁
瀏覽器
訪客資料
流量來源
時間範圍
Experience Cloud對象 (Adobe Audience Manager、Adobe Analytics和Adobe Experience Manager的受眾

的地理目標定位 裝置上決策

為了維持幾乎零延遲, 裝置上決策 活動包含以地理為基礎的對象,Adobe建議您在呼叫中提供地理值, getOffers. 若要這麼做,請設定 Geo 中的物件 Context 請求的。 這表示您的伺服器需要一種方式來確定每個一般使用者的位置。 例如,您的伺服器可能會使用您設定的服務,執行IP對地理位置的查詢。 有些託管提供者(例如Google Cloud)會透過每個中的自訂標題提供此功能 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());
    }

}

不過,如果您無法在伺服器上執行IP對地理位置的查詢,但您仍想要執行 裝置上決策 的 getOffers 如果請求包含以地理為基礎的對象,這也受到支援。 此方法的缺點在於它將使用遠端IP對地理的查詢,這會為每個查詢增加延遲 getOffers 呼叫。 此延遲應低於遠端 getOffers 呼叫,因為它點選了位在伺服器附近的CDN。 您必須僅提供 ipAddress 中的欄位 Geo 中的物件 Context ,以便SDK擷取您使用者IP位址的地理位置。 如果除了任何其他欄位 ipAddress 「 」提供的 Target SDK不會擷取地理位置中繼資料以進行解析。

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

}

配置方法

下表指出支援或不支援的配置方法 裝置上決策.

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