2016-12-19 1 views
0

Я использую Facebook маркетинга API v2.8 (JAVA предпочтительная)Facebook маркетинг API пользовательского веб-сайт целевой аудитории с помощью API

Я пытаюсь создать custom website audiences с использованием Facebook пикселя с помощью ниже правила:

правило Строка = "{\"url\":{\"eq\":\"http://www.example.com/abc.php\"}}"

public static CustomAudience createWebsitePixelCustomAudience(AdAccount adAccount, String pixelId, 
      String audienceName, EnumSubtype subtype, String rule) throws 

    APIException { 
      CustomAudience customAudience = adAccount.createCustomAudience() 
         .setPixelId(pixelId) 
         .setName(audienceName) 
         .setSubtype(CustomAudience.EnumSubtype.VALUE_WEBSITE) 
         .setRetentionDays(15L) 
         .setRule(rule) 
         .setPrefill(true) 
         .execute(); 
      return customAudience; 
     } 

Что я хочу достичь?

Я хочу, чтобы целевой аудитории эти созданные выше с использованием API (Java предпочтительным).

Я попытался сделать это, используя этот код ниже, передав Id из custom audiences, созданный выше.

public static Targeting targetAudience(List<String> countrylist, String customAudienceID) { 

     TargetingGeoLocation geoLocation = new TargetingGeoLocation() 
       .setFieldCountries(countrylist); 

     Targeting targeting = new Targeting() 
       .setFieldGeoLocations(geoLocation) 
       .setFieldCustomAudiences(customAudienceID); 
     return targeting; 
    } 

Я использовал customAudienceID, который я создал в начале и передал его функции выше.

Но я получаю эту ошибку:Expected BEGIN_ARRAY but was NUMBER at line 1 column 14 path

Это правильный способ связиcustom website audience к AdSet? Спасибо?

ответ

1

Наконец я нашел способ сделать это:

public static Targeting targetCustomAudience(List<String> countrylist, String customAudienceID) { 

     TargetingGeoLocation geoLocation = new TargetingGeoLocation() 
       .setFieldCountries(countrylist); 
     /** 
     * add geo-location to targeting 
     * add custom audienceId to targeting 
     */ 
     Targeting targeting = new Targeting() 
       .setFieldGeoLocations(geoLocation) 
       .setFieldCustomAudiences("[{id:" + customAudienceID + "}]"); 
     return targeting; 
    } 

Благодаря this link

В коротком добавить эту строку "[{id:" + customAudienceID + "}]" добавить пользовательскую аудиторию таргетинга.

Смежные вопросы