2016-04-12 2 views
1

При создании Adset в facebook-ads-sdk я получаю недопустимый параметр. Я старался изо всех сил отслеживать и устранять проблему, но не смог добиться успеха. Пожалуйста помоги. Ниже приведен фрагмент кода:Недопустимый параметр при создании adset

function adddSet($audienceid,$parentId,$accountId2,$campaignid,$productSetId){ 
    try { 
     $adset = new AdSet(null, $accountId2); 

     $adset->setData(array(
       AdSetFields::NAME => 'test', 
       AdSetFields::DAILY_BUDGET =>40000, 
       AdSetFields::BID_AMOUNT =>4000, 
       AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS, 
       AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::APP_INSTALLS, 
       AdSetFields::CAMPAIGN_ID => $campaignid,      
       AdSetFields::START_TIME => '2016-04-11T09:22:03+00:00', 
       AdSetFields::END_TIME =>'2016-04-20T09:22:03+00:00', 
       AdSetFields::TARGETING => (new TargetingSpecs())->setData(array(
         TargetingSpecsFields::GEO_LOCATIONS => array(
          'countries' => array('JP'), 
          'regions' => array(array('key' => '3886')), 
          'cities' => array(
          array(
           'key' => '2420605', 
           'radius' => 10, 
           'distance_unit' => 'mile', 
          ), 
         ), 
         ), 
         TargetingSpecsFields::GENDERS => array(1), 
         TargetingSpecsFields::AGE_MIN => 20, 
         TargetingSpecsFields::AGE_MAX => 24, 
         TargetingSpecsFields::PAGE_TYPES => array(
          PageTypes::MOBILE_FEED, 
          PageTypes::MOBILE_EXTERNAL, 
         ), 
        )), 
       )); 

     $adset->create(array(AdSet::STATUS_PARAM_NAME=>AdSet::STATUS_PAUSED)); 
    } 
    catch(\FacebookAds\Http\Exception\RequestException $e){ 
     echo $e->getMessage(); 

    } 
} 

и получить следующий ответ:

недопустимый параметр

+2

На первый взгляд мне кажется странным, что вы оптимизируете для 'APP_INSTALLS', но ваш продвигаемый объект - это страница. Возможно, попробуйте принять участие в конкурсе «IMPRESSIONS' /' IMPRESSIONS », который является комбинацией, которая разрешена для большинства целей и очень небольшим количеством требований к креативным и продвинутым объектам. – David

+0

Привет, Дэвид. Можете ли вы, пожалуйста, предоставить мне образец кода для ассемблера, поскольку я застрял в нем? Нужна ваша помощь. –

+2

в расширенной информации в исключении, он должен сообщить вам, какой параметр недействителен –

ответ

0

Это может помочь вам лучше понять точную ошибку.

function adddSet($audienceid,$parentId,$accountId2,$campaignid,$productSetId){ 
    try { 
     $adset = new AdSet(null, $accountId2); 

     $adset->setData(array(
       AdSetFields::NAME => 'test', 
       AdSetFields::DAILY_BUDGET =>40000, 
       AdSetFields::BID_AMOUNT =>4000, 
       AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS, 
       AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::APP_INSTALLS, 
       AdSetFields::CAMPAIGN_ID => $campaignid,      
       AdSetFields::START_TIME => '2016-04-11T09:22:03+00:00', 
       AdSetFields::END_TIME =>'2016-04-20T09:22:03+00:00', 
       AdSetFields::TARGETING => (new TargetingSpecs())->setData(array(
         TargetingSpecsFields::GEO_LOCATIONS => array(
          'countries' => array('JP'), 
          'regions' => array(array('key' => '3886')), 
          'cities' => array(
          array(
           'key' => '2420605', 
           'radius' => 10, 
           'distance_unit' => 'mile', 
          ), 
         ), 
         ), 
         TargetingSpecsFields::GENDERS => array(1), 
         TargetingSpecsFields::AGE_MIN => 20, 
         TargetingSpecsFields::AGE_MAX => 24, 
         TargetingSpecsFields::PAGE_TYPES => array(
          PageTypes::MOBILE_FEED, 
          PageTypes::MOBILE_EXTERNAL, 
         ), 
        )), 
       )); 

     $adset->create(array(AdSet::STATUS_PARAM_NAME=>AdSet::STATUS_PAUSED)); 
    } 
    catch(\FacebookAds\Http\Exception\AuthorizationException $e){ 
     print_r($e->getResponse()->getBody()); 

    } 
}