本文不涉及具體代碼實現,僅對開發API的前置內容作簡單介紹,想參考代碼請繞行!
廣告主(廣告管理工具)javascript
·須要推廣本身的應用、網站、主頁,因此有了廣告管理工具 。java
·一個廣告主僅可擁有一個廣告帳戶(可管理別人受權的帳戶)。廣告帳戶可受權給其餘人(BM或其餘FB帳戶)管理。android
代理商(商務管理平臺 BM)ios
·當須要管理的帳戶多了以後,BM就應運而生 BM ,BM平臺能夠一站式管理名下全部的自有和代理的資產。後端
·廣告主可將本身的主頁、帳戶、應用受權給BM帳戶管理。api
·BM能夠邀請其餘人管理本身名下(自有+被受權的)的廣告帳戶,其餘人將以員工/管理員的身份存在。微信
·BM可將有權限的資產受權給員工/系統用戶管理。app
員工ide
員工在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 應用於廣告創意)
爲了方便程序化管理廣告,查看數據報告和知足客戶定製化需求,FB開放了 「市場營銷API」。用戶能夠受權後,經過此API管理本身(廣告主/BM下用戶)名下的廣告投放和查當作效等。
當用戶經過登陸並受權後(相似qq登陸),開發者可管理其名下的廣告。
爲了程序化管理BM帳號下的全部帳戶、應用、主頁、員工、系統用戶等。BM帳戶可受權後,經過此API進行管理。
權限類型相對來講比較簡單,只有可操做、和僅可讀兩種,但相互之間受權是交叉式的。
附受權關係圖:
廣告主可將帳戶、主頁、應用受權給BM帳戶全權表明,這些資產BM能夠再受權給旗下員工和系統用戶,同一資產能夠受權給多個用戶。
也可將資產單獨受權給某員工帳戶(員工做爲獨立的FB帳戶,和BM之間只是被受權管理其名下資產),則BM沒法操做此資產,這種狀況開發者只有拿到員工的FB帳戶受權纔可進行操做。
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)