2017-12-08 2 views
0

저는 API를 통해 Facebook 광고를 생성하기위한 스크립트 작업을하고 있습니다. 어떤 이유로 광고에 대한 변수가 광고에 추가되지 않고 있습니다. 주요 문제는 제목과 본문이 추가되지 않는 것입니다.Facebook 마케팅 API - 광고 소재가 제대로 생성되지 않음

try{ 
    $creative = new AdCreative(null, $accountId); 
    $creative->setData(array(
     AdCreativeFields::NAME => $ad_info['Ad Name'], 
     AdCreativeFields::TITLE => $ad_info['Title'], 
     AdCreativeFields::BODY => $ad_info['Body'], 
     AdCreativeFields::IMAGE_HASH => $image->hash, 
     //AdCreativeFields::OBJECT_URL => $ad_info['Preview Link'], 
     AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec, 
     AdCreativeFields::URL_TAGS => $ad_info['URL Tags'], 
    )); 

    $creative->create(); 
    echo 'Creative ID: '.$creative->id . "\n"; 
} 
catch (Exception $e) { 
    echo '<pre>creative';print_r($e);exit; 
    if($e->getMessage()){ 
     echo 'Error message: ' .$e->getMessage() ."\n" . "<br/>"; 
    } 
    //echo 'Error Code: ' .$e->getCode() ."<br/>"; 
} 

그리고 광고 소재를 추가하는 코드 : 여기에 창조적 인 광고 생성 내가 가지고있는 코드입니다 그것은 오류를 던지고 아니에요

 $ad = new Ad(null, $accountId); 
    $ad->setData(array(
     AdFields::CREATIVE => 
      array('creative_id' => $creative->id), 
     AdFields::NAME => $ad_info['Ad Name'], 
     AdFields::ADSET_ID => $adsetId, 
     AdFields::STATUS => 'ACTIVE', 
     AdFields::TRACKING_SPECS => array('action.type' => $ad_info['action type'], 'fb_pixel' => $fb_pixel), 
    )); 

    $ad->create(); 

는 이러한 광고 이름과 다른 변수, , 상태 등이 모두 광고에 올바르게 추가 된 것처럼 보입니다. 페이스 북의 API 문서에 따르면 위의 모든 내용이 정확하다고 할 수 있습니다. 나는 생성 된 광고 소재 사이에 수면 기능을 던져서 광고에 추가하려고했습니다. 문제는 무엇이 될 수 있습니까?

답변

0

문제가 무엇인지 알아 냈습니다. 이 광고가 생성하는 광고가 링크 광고 인 광고 소재 개체는 광고에 적용되지 않습니다. 나는이 객체에 이름과 메시지 변수의 제목과 본문을 추가하면

 $link_data->setData(array(
      AdCreativeLinkDataFields::DESCRIPTION => $ad_info['Link Description'], 
      AdCreativeLinkDataFields::LINK => $ad_info['Link'], 
      AdCreativeLinkDataFields::NAME => $ad_info['Title'], 
      AdCreativeLinkDataFields::MESSAGE => $ad_info['Body'], 
      AdCreativeLinkDataFields::IMAGE_HASH => $image->hash, 
      AdCreativeLinkDataFields::CALL_TO_ACTION => array(
      'type' => AdCreativeCallToActionTypeValues::SIGN_UP, 
      'value' => array(
       'link' => $ad_info['Link'], 
       'link_caption' => $ad_info['Link'], 
      ), 
     ), 
     )); 

: 제목과 본문 텍스트를 표시하는 등의 일을 취득하기 위하여는, 당신은 지금처럼 AdCreativeLinkData에 추가해야 광고가 완벽하게 나타났습니다.

관련 문제