Я пытаюсь создать рекламную кампанию Facebook, используя ее Marketing API через business SDK для java . Мое приложение находится в стадии разработки. Поскольку Facebook запрещает создавать AdCreative в статусе разработки, я создал его вручную с помощью Менеджера рекламы. Сейчас я пытаюсь создать рекламную кампанию Click To Messenger программно, но Facebook отвечает следующей ошибкой: «Цель кампании в настоящее время не поддерживается настройкой активов». Я не могу понять, о каких настройках идет речь и как мне создать нужную кампанию.
APIContext context = new APIContext(ACCESS_TOKEN, APP_SECRET);
APINodeList<AdAccount> me = new User.APIRequestGetAdAccounts("me", context).execute();
AdAccount account = me.get(0);
BatchRequest batchRequest = new BatchRequest(context);
account.createCampaign()
.setName("My campaign")
.setObjective(Campaign.EnumObjective.VALUE_MESSAGES)
.setSpendCap(10_000L)
.setStatus(Campaign.EnumStatus.VALUE_PAUSED)
.addToBatch(batchRequest, "campaignRequest");
account.createAdSet()
.setName("My adset")
.setCampaignId("{result=campaignRequest:$.id}")
.setStatus(AdSet.EnumStatus.VALUE_PAUSED)
.setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
.setDailyBudget(1000L)
.setBidAmount(100L)
.setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_IMPRESSIONS)
.setTargeting(new Targeting()
.setFieldGeoLocations(new TargetingGeoLocation()
.setFieldCountries(List.of("US"))))
.addToBatch(batchRequest, "adsetRequest");
account.createAd()
.setName("My ad")
.setAdsetId("{result=adsetRequest:$.id}")
.setCreative(new AdCreative("XXXXXXXXXXXXXXXXXX", context))
.setStatus(Ad.EnumStatus.VALUE_PAUSED)
.setBidAmount(100L)
.addToBatch(batchRequest);
List<APIResponse> responses = batchRequest.execute();