Facebook Marketing API Placement 资产自定义 asset_feed_spec 错误

问题描述

我一直在尝试根据展示位置(facebook-feed、messenger-story)自动生成具有不同内容的广告。我一直在努力遵循文档。

https://developers.facebook.com/docs/marketing-api/dynamic-creative/placement-asset-customization#asset-feed

但由于某种原因,它返回一个错误,指出整个 object_story_spec 是错误的。但这可能与我的 asset_Feed_spec 有关系,因为这是我唯一一直在改变的东西。

object_story_spec param is invalid
Object story spec is ill formed. Maybe missing Page ID or creative details,or invalid fields exist

以前有人试过这样做吗?或者有什么办法可以让我得到更清晰的错误信息?

这是我在尝试创建广告素材时使用的代码

$creative->setData([
   AdCreativeFields::CALL_TO_ACTION_TYPE => $callToAction,AdCreativeFields::IMAGE_HASH => $image_hash,AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec,AdCreativeFields::ASSET_Feed_SPEC => $this->getAssetFeedSpec($post_message,$link_url,$headline,$image_hash,$description)
]);

为了使其更具可读性,我创建了一个函数来创建不同的资产提要规范。要更好地理解它,请参阅文档中的示例。

https://developers.facebook.com/docs/marketing-api/dynamic-creative/placement-asset-customization#supported-fields

public function getAssetFeedSpec($post_message,$description) {
    return [
      'images' => [
        [
          'hash' => $image_hash
        ]
      ],'bodies' => [
        [
          'adlabels' => [
              [
                'name' => 'labelfirst',]
          ],'text' => $post_message
        ],[
          'adlabels' => [
              [
                'name' => 'labelsecond','text' => $headline
        ]
      ],'titles' => [
        [
          'text' => $headline
        ]
      ],'descriptions' => [
        [
          'text' => $description
        ]
      ],'ad_formats' => [
        'SINGLE_IMAGE'
      ],'call_to_action_types' => [
        'LEARN_MORE'
      ],'link_urls' => [
        [
          'website_url' => $link_url
        ]
      ],'videos' => [],'asset_customization_rules' => $this->getAssetCustomizationRules()
    ];
}

我还分离了 asset_customization_rules 以使其更易于理解。

public function getAssetCustomizationRules() {
    return [
        [
            'customization_spec' => [
                'publisher_platforms' => [
                    'facebook','instagram','audience_network','messenger'
                ],'facebook_positions' => [
                    'Feed',],'instagram_positions' => [
                    'stream'
                ],'audience_network_positions' => [
                    'classic'
                ]
            ],'body_label' => [
                'name' => 'labelfirst'
            ]
        ],[
            'customization_spec' => [
                'publisher_platforms' => [
                    'messenger'
                ],'messenger_positions' => [
                    'stream'
                ]
            ],'body_label' => [
                'name' => 'labelsecond'
            ]
        ]
    ];
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...