本文不涉及具体代码实现,仅对开发API的前置内容做简单介绍,想参考代码请绕行!
广告主(广告管理工具)
·需要推广自己的应用、网站、主页,所以有了广告管理工具 。
·一个广告主仅可拥有一个广告账户(可管理别人授权的账户)。广告账户可授权给其他人(BM或其他FB账户)管理。
代理商(商务管理平台 BM)
·当需要管理的账户多了之后,BM就应运而生 BM ,BM平台可以一站式管理名下所有的自有和代理的资产。
·广告主可将自己的主页、账户、应用授权给BM账户管理。
·BM可以邀请其他人管理自己名下(自有+被授权的)的广告账户,其他人将以员工/管理员的身份存在。
·BM可将有权限的资产授权给员工/系统用户管理。
员工
员工在FB上是独立的账号,一个员工可以管理多个BM下的广告。(每个员工在不同的BM下会被分配不同的用户ID)
系统用户
系统用户是BM里的机器用户,方便为没有FB账户的用户进行广告管理,开发者可将系统用户和本地用户系统关联,然后通过系统用户的token进行API请求。
主页(pages)
·Facebook广告发布者的身份(类似微信朋友圈的广告,以**的名义发布广告)
应用 (apps)
·要推广的ios或android应用(开发者的应用在FB上也是可推广的,类型为“小游戏”)
广告账户(ad_accounts)
·FB对广告投放增加的一个层级,用于管理账单、投放广告,更方便管理广告,投放广告相关操作均围绕此节点。
广告系列(campaigns 所属于广告账户)
投放相关的第一级层级,需要设置广告的投放目标,不同的投放目标后续要填写的信息也可能不同
广告组(adsets 所属于广告系列)
主要需要设置:受众(人群)、版位(广告位)、预算和排期。(根据不同的投放目标,可能需要选择要投放的应用等)
广告(ads 所属于广告组)
主要需要设置:广告发布者身份(page)、选择创意、图片/视频、投放链接等
广告创意(adcreatives 应用与广告)
仅API可体现此层级,创意包含:标题、文案、所用素材等
广告素材(adimages/advideos 应用于广告创意)
Facebook marketing API
为了方便程序化管理广告,查看数据报告和满足客户定制化需求,FB开放了 “市场营销API”。用户可以授权后,通过此API管理自己(广告主/BM下用户)名下的广告投放和查看成效等。
当用户通过登录并授权后(类似qq登录),开发者可管理其名下的广告。
FB Business Manager API
为了程序化管理BM账号下的所有账户、应用、主页、员工、系统用户等。BM账户可授权后,通过此API进行管理。
权限类型相对来说比较简单,只有可操作、和仅可读两种,但相互之间授权是交叉式的。
附授权关系图:
广告主可将账户、主页、应用授权给BM账户全权代表,这些资产BM可以再授权给旗下员工和系统用户,同一资产可以授权给多个用户。
也可将资产单独授权给某员工账户(员工作为独立的FB账户,和BM之间只是被授权管理其名下资产),则BM无法操作此资产,这种情况开发者只有拿到员工的FB账户授权才可进行操作。
facebook广告开发流程
1.注册FB账户(FB是一站式通用账户,个人账户亦可作为开发者、BM账户)
2.成为开发者,并添加开发者应用(拿到APP_ID、和秘钥APP_SECRET)
3.申请manage_pages、ads_read、ads_management、Ads Management Standard Access、business_management 权限(申请权限过程比较痛苦)
4.拥有广告主账户或BM账户(以下简称用户账户)
5.需要通过FB的Login接口登录用户账户
6.获取用户授权manage_pages、ads_read、ads_management,若想执行BM API,需让用户授权business_management
7.javascript拿到登录用户的临时TOKEN,并通过后端API转换成永久TOKEN(存在失效情况:如 用户密码发生变更)
7.1(测试期可通过开发者后台、图谱API获取自己的授权后的Token)
FB相关链接:
图谱工具 (可在线测试api)