SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33
◼ 阿砮 Cheng-Ju Wu
◼ C#, ASP.NET MVC, WebAPI
{廣告}服務開發前,需要的前置技能點…有點多
2
Facebook
App
App
權限
Access
Tokens
Graph
API
Marketing
API
Pages
API
App
角色權限
粉絲專頁
廣告結構
APIs
SDKs
廣告帳號
BM 企業
管理平台
BM 權限
Facebook
Pixel
http://mvc.tw
◼ 如何入門
◼ 存取權杖
◼ 何謂 Facebook 廣告
◼ 雷
綱要
3
4
如何入門
http://mvc.tw
◼ 文件
◼ 開發者帳號
◼ 開發流程
◼ 建立 App
◼ 小技巧
如何入門
5
http://mvc.tw
開始
6前往 https://developers.facebook.com 查看
http://mvc.tw
文件
7前往 https://developers.facebook.com/docs 查看
http://mvc.tw
開發流程
8
建立 App
建立測試使
用者與粉專
在測試 App
進行開發
錄影送審 上線
http://mvc.tw
建立應用程式
9
http://mvc.tw
應用程式添加 Facebook 產品
10
http://mvc.tw
應用程式添加 Facebook 產品
11
http://mvc.tw
應用程式開發模式 & 上線模式
Development Mode
◼ 自動獲准取得所有登入權限、功能與產品。
◼ 只讓對 App 具有角色的 User 使用。
◼ 只讓對 App 具有角色的 User 授予權限。
◼ 只讓對 App 具有角色的 User,存取 User、
粉專或社團資料,或只能存取測試 User 和測
試粉專。
◼ 在應用程式中心隱藏
Live Mode
◼ 可讓任何具有存取權限的 User 安裝和使用。
◼ 可針對安裝 App 並授予必要權限的任何 User,
存取其資料。
◼ 無法獲得未經核准的任何登入權限,也無法存
取任何未經核准的功能或產品。
12
http://mvc.tw
應用程式加入角色與區分權限
13
http://mvc.tw
應用程式加入角色與區分權限
14
小技巧#1 如何切開發環境?
15
http://mvc.tw
應用程式網域只能用相同 Root Domain
16
開發流程中若有區分
本機、QA、Staging、Production 環境
無法在此設定不同網域
需要填寫有效的 Url
http://mvc.tw
作法:建立測試應用程式
17
http://mvc.tw
測試應用程式
18
◼ 擁有不同的 App ID (設定在專案的 Config)
◼ 正式 App 最多可建立 50 個
◼ 繼承正式 App 角色與權限 (可再自行調整)
◼ 可設定另外一個域名
◼ 一直保持為開發模式
小技巧#2 如何使用測試使用者?
19
http://mvc.tw
測試使用者
20
小技巧#3 如何建立測試粉絲專頁?
21
http://mvc.tw
建立測試粉絲專頁
22
http://mvc.tw
測試粉絲專頁
23
◼ 編輯測試使用者
◼ 變更測試使用者賦予 App 權限
◼ 加入 manage_pages 權限
◼ 取得此測試使用者的 Access token (記得保存)
◼ 複製測試使用者的 User ID
http://mvc.tw
喘口氣…
24
蜂蜜檸檬水
25
存取權杖 Access Tokens
http://mvc.tw
◼ 類型
◼ 用戶存取權杖
◼ 應用程式存取權杖
◼ 粉絲專頁存取權杖
◼ 小技巧
存取權杖
26
http://mvc.tw
存取權杖類型
27前往 https://developers.facebook.com/docs/facebook-login/access-tokens 查看
http://mvc.tw
用戶存取權杖 User Access Tokens
28前往 https://developers.facebook.com/docs/facebook-login/access-tokens 查看
http://mvc.tw
如何產生長期用戶存取權杖
29前往 https://developers.facebook.com/docs/facebook-login/access-tokens/refreshing 查看
效期:2 小時 → 60 天
1. Short User Token
2. App ID + App Secret
3. Server to Facebook
http://mvc.tw
應用程式存取權杖 App Access Tokens
30前往 https://developers.facebook.com/docs/facebook-login/access-tokens 查看
http://mvc.tw
粉專權杖 Pages Access Tokens
31前往 https://developers.facebook.com/docs/facebook-login/access-tokens 查看
小技巧#4 如何快速測試與除錯?
32
http://mvc.tw
推薦工具 Graph API Explorer
33前往 https://developers.facebook.com/tools/explorer 查看
34
Facebook APIs & SDKs
http://mvc.tw
Facebook APIs & SDKs
35前往 https://developers.facebook.com/docs/apis-and-sdks 查看
http://mvc.tw
Facebook C# SDK
36前往 https://github.com/facebook-csharp-sdk/facebook-csharp-sdk 查看
http://mvc.tw
結果
37
只好純手工 Call API 了…
http://mvc.tw
API 限速
須留意之處:
◼ 開發模式中的 App,限速每小
時、每頁面與應用程式配對為
200 次呼叫。
38前往 https://developers.facebook.com/docs/graph-api/changelog/version3.0 查看
前往 https://developers.facebook.com/docs/graph-api/advanced/rate-limiting 查看
http://mvc.tw
再休息一下…
39
40
何謂 Facebook 廣告
http://mvc.tw
◼ 廣告結構
◼ Marketing API
◼ 實作
◼ 小技巧
Facebook 廣告
41
http://mvc.tw
何謂 Facebook 廣告
42
Facebook 廣告產品
經由不同的版位、樣式以及投放邏輯,
結合受眾選擇工具,所呈現出的廣告。
http://mvc.tw
Facebook 廣告的三層結構
43
流量
25 ~ 35 歲,女性
美妝、保養、服飾
35 ~ 45 歲,女性
美食、烹飪
單圖格式
文案 1 / 素材 1
單圖格式
文案 2 / 素材 2
輪播格式
文案 3 / 素材 3
輪播格式
文案 4 / 素材 4
第一層
行銷活動
第二層
廣告組合
第三層
廣告
http://mvc.tw
Facebook 廣告的三層結構
44
第三層:廣告第二層:廣告組合第一層:行銷活動
Campaign Ad Set Ad
以 ID 相連 以 ID 相連
http://mvc.tw
Facebook 廣告
45
http://mvc.tw
Facebook 廣告管理員
46
http://mvc.tw
1. Facebook 的政策 API First
2. API 能完成 UI 能做到甚至還做不到的事情
3. 規模化、自動化、程式化取得報表
Marketing API 的使用原因與誘因
47
http://mvc.tw
如何開始用 Marketing API
48
開發人員帳號Facebook App廣告帳號
個人或企業
擁有的帳號皆可
App 介面設定
新增產品:行銷 App
留意規範
請使用實名制帳號
前往 https://developers.facebook.com/docs/marketing-apis 查看
http://mvc.tw
◼ 廣告帳號管理員: 管理員可以建立、編輯和查看廣告,也
可檢視報告、編輯付款方式及控制管理員權限。
◼ 廣告帳號廣告主: 廣告主可以建立、編輯和查看廣告,也
可以檢視報告。
◼ 廣告帳號分析師: 分析師可以查看廣告和檢視報告。
廣告帳號
49
http://mvc.tw
如何開始用 Marketing API
50前往 https://developers.facebook.com/docs/marketing-api/reference 查看
http://mvc.tw
建立行銷活動 Ad Campaign
51前往 https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group#Creating 查看
http://mvc.tw
建立廣告組合 Ad Set
52
http://mvc.tw
建立廣告素材 Ad Creative
53
http://mvc.tw
整合 API 後的使用場景
54
http://mvc.tw
整合 API 後的使用場景
55
http://mvc.tw
整合 API 後的使用場景 – 行銷活動
56
http://mvc.tw
整合 API 後的使用場景 – 廣告組合
57
http://mvc.tw
整合 API 後的使用場景 – 廣告素材
58
http://mvc.tw
再休息一下…
59
60
雷
http://mvc.tw
想像不到的
61
http://mvc.tw
想像不到的文件
62
http://mvc.tw
想像不到的版本更新
63前往 https://developers.facebook.com/docs/graph-api/changelog 查看
http://mvc.tw
想像不到的時好時壞 API (自癒能力?)
64
追查後是 Content-Type 忽然不支援 JSON
http://mvc.tw
想不到的每日異常!?
65前往 https://developers.facebook.com/support/bugs 查看
http://mvc.tw
異常回報
66前往 https://developers.facebook.com/support/bugs 查看
http://mvc.tw
異常回報
67前往 https://www.facebook.com/platformbugupdates 查看
68
總結
http://mvc.tw
總結
69
Facebook
App
Access
Tokens
Facebook
廣告
{ }
http://mvc.tw
謝謝
70
http://mvc.tw
Blog 是記錄知識的最佳平台
71
http://mvc.tw
感謝 Jetbrains 贊助贈品
72
https://www.jetbrains.com/resharper/
http://mvc.tw
業界師資、實戰教學
73
http://skilltree.my
謝謝各位
• 本投影片所包含的商標與文字皆屬原著作者所有。
• 本投影片使用的圖片皆從網路搜尋。
• 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到
http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro
Street, Suite 900, Mountain View, California, 94041, USA.
h t t p : / / m v c . t w

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvc
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
 
twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie Recommendation
 
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual Studio
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS Lambda
 
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
 
twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
 
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
 
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MR
 
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
 

Ähnlich wie twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API

Google雲端 第一章準備篇
Google雲端 第一章準備篇Google雲端 第一章準備篇
Google雲端 第一章準備篇
gracebrainyu
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
Wei Sun
 
在Sae上开发高性能微博应用
在Sae上开发高性能微博应用在Sae上开发高性能微博应用
在Sae上开发高性能微博应用
easychen
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
Wei Sun
 
天鹅绒围脖
天鹅绒围脖天鹅绒围脖
天鹅绒围脖
Liu Chao
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
锐 张
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
Wei Sun
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
Chui-Wen Chiu
 

Ähnlich wie twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API (20)

ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站ASP.NET MVC 善用網路資源快速完打造網站
ASP.NET MVC 善用網路資源快速完打造網站
 
DevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA MakerDevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA Maker
 
面對移動化App挑戰的架構設計
面對移動化App挑戰的架構設計面對移動化App挑戰的架構設計
面對移動化App挑戰的架構設計
 
前端开发演进之路 | The development of the front end - By TaoBeier
前端开发演进之路 | The development of the front end - By TaoBeier前端开发演进之路 | The development of the front end - By TaoBeier
前端开发演进之路 | The development of the front end - By TaoBeier
 
Google雲端 第一章準備篇
Google雲端 第一章準備篇Google雲端 第一章準備篇
Google雲端 第一章準備篇
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
在Sae上开发高性能微博应用
在Sae上开发高性能微博应用在Sae上开发高性能微博应用
在Sae上开发高性能微博应用
 
在Sae上开发高性能微博应用key2
在Sae上开发高性能微博应用key2在Sae上开发高性能微博应用key2
在Sae上开发高性能微博应用key2
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15
 
twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
 
天鹅绒围脖
天鹅绒围脖天鹅绒围脖
天鹅绒围脖
 
常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍
 
Mojito 開發 mobile web 實戰經驗談
Mojito 開發 mobile web 實戰經驗談Mojito 開發 mobile web 實戰經驗談
Mojito 開發 mobile web 實戰經驗談
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
 
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
 
twMVC#03 | ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰
twMVC#03 | ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰twMVC#03 | ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰
twMVC#03 | ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
 
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 

Mehr von twMVC

Mehr von twMVC (11)

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁
 
twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩
 
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
 
twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習
 
twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹
 

twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API