Facebook营销API使用API​​定制网站受众定位

时间:2016-12-19 15:40:56

标签: java facebook facebook-graph-api

我正在使用Facebook 营销API v2.8 JAVA 首选)

我正在尝试使用以下规则使用Facebook像素创建custom website audiences

字符串规则 = "{\"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 首选)。

我尝试通过传递上面创建的custom audiences的ID ,使用以下代码执行此操作。

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 个答案:

答案 0 :(得分: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 + "}]"即可将自定义受众添加到定位。