今日頭條移動 APP 廣告啟用資料API對接實踐
作為最火的新聞app,今日頭條有這很大的活躍使用者群和日訪問量。大流量決定了今日頭條會位商品做廣告。
1.如下為今日頭條的廣告收費方案(來自官方開發文件):
啟用數是 APP 廣告主衡量轉化效果的重要指標之一,為滿 今日頭條(以下簡稱頭條)廣告主 對廣告效果的監測需求,本文件介紹如何把從頭條廣告渠道分發的 APP 啟用數回傳給頭條廣告平臺, 幫助廣告主跟蹤轉化效果。 對於回調了啟用資料的廣告計劃,頭條支援 oCPC(目標啟用成本出價)競價方式,幫助優化轉化。回撥方案適用於 Android 和 iOS。
2.其資料流示意圖:
3.需要了解的一些操作介面示意圖:
4.今日頭條廣告啟用聯調的流程:以頭條使用者為例:
1) 頭條使用者點選廣告,下載app此時會通知伺服器;伺服器會將其啟用記錄儲存到資料庫中;
2)使用者安裝app這是app會呼叫伺服器介面,將該手機的相關唯一資訊傳遞到後臺,後臺通過匹配該手機的app是否為今日頭條廣告下載;如果匹配成功,呼叫今日頭條回撥函式,通知記為一次啟用狀態進行扣費。
5.接下來不多說我們進行程式碼開發分析演示:
首先我們需要明確,本次開發需要提供兩個介面:(1)伺服器接收頭條點選廣告資訊時的請求介面一;(2)廣告app安裝應用時需要呼叫介面通知伺服器相關資訊,用該資訊進行匹配是否為頭條介面被點選是下載的應用;匹配成功後伺服器呼叫介面二通知頭條廣告伺服器進行扣費(如果有需要可以設定伺服器的扣費級別,在某種級別以上才呼叫介面二進行扣費)。
1) __引數__形式:
a) iOS 示例
http://xxxx.xxx.com?adid=__AID__&cid=__CID__&idfa=__IDFA__&mac=__MAC__&os=__OS__×tamp=__TS__&convert_id=__CONVERT_ID__&callback=__CALLBACK_PARAM__
b) 安卓示例
http://xxxx.xxx.com?adid=__AID__&cid=__CID__&imei=__IMEI__&mac=__MAC__&androidid=__ANDROIDID1__&os=__OS__×tamp=__TS__&convert_id=__CONVERT_ID__&callback=__CALLBACK_PARAM__
2)不多說按以上邏輯進行程式碼展示(安卓為例):
// 安卓獲取頭條推送資料
@RequestMapping(value = "/ttpushAndorid", method = RequestMethod.GET)
@ResponseBody
public String ttpushAndroid(String adid, String cid, String imei, String mac, String androidid,
String os, String timestamp, String convert_id, String callback) {
TouTiao touTiao = new TouTiao(adid, cid, "", mac, os, timestamp, convert_id, callback, imei,
"0", androidid);
logger.info("今日頭條回饋安卓資料" + touTiao.toString());
touTiaoService.insertSelective(touTiao);
return "success";
}
3)匹配資訊,進行今日頭條啟用回撥
/**
* 客戶端返回裝置資訊
*
* @param code
* @param responseCommand
* @return
*/
@RequestMapping(value = "/deviceInfo", method = RequestMethod.POST)
@ResponseBody
public ResponseCommand deviceInfo(@RequestBody String code, ResponseCommand responseCommand,
HttpServletRequest request) {
logger.info("呼叫裝置資訊介面"+code);
JSONObject JsonData = JSON.parseObject(code);
Deviceinfo deviceinfo = JSON.parseObject(JsonData + "", Deviceinfo.class);
logger.info("手機端推送資訊:"+deviceinfo.toString());
Date date = new Date();
deviceinfo.setCreatetime(date);
deviceinfo.setUpdatetime(date);
deviceinfoService.saveDeviceInfo(deviceinfo);
// 判斷本次註冊的使用者是否為頭條推廣路徑,吸收的使用者
String imei = new MD5Util().string2MD5(deviceinfo.getImei());
// 匹配os,idfa,imei來確定是否為頭條推廣的
logger.info("匹配os,idfa,imei來確定是否為頭條推廣的:"+deviceinfo.getOs()+","+deviceinfo.getIdfa()+","+imei+","+deviceinfo.getAndroidid());
List<TouTiao> touTiaos = touTiaoService.findTouTiaoByOsIdfaImei(deviceinfo.getOs(),
deviceinfo.getIdfa(), imei, deviceinfo.getAndroidid());
logger.info("配到的頭條推送資訊:"+touTiaos.get(0).toString());
if (touTiaos != null && touTiaos.size() > 0) {
String toutiaoWay = PropertiesUtil.getValue("WebConfig.properties", "toutiaoWay");
if ("1".equals(toutiaoWay)) {
//廣告系統用於區別點選的唯一標識 ,來源於介面一的CALLBACK_PARAM
String callback_param = touTiaos.get(0).getCallbackUrl();
String muid = "";
//0–Android;1–iOS
String os = touTiaos.get(0).getOs();
//預設為安卓key
String key = "383e7775-1b52-425c-8066-7478a5abcaf1";
//安卓:IMEI 號取md5sum 摘要; IOS:IDFA 號原值
if (os != null && "0".equals(os)) {
muid = new MD5Util().string2MD5(touTiaos.get(0).getImei());
} else {
muid = touTiaos.get(0).getIdfa();
//IOS的key
key = "8da355c8-c7ac-4faf-935f-d7b5b0d258e8";
}
//啟用效果統計時間
long conv_time = touTiaos.get(0).getCreatetime().getTime();
//比如來自 talkingdata的啟用回撥, 可以填 寫 TD
String url = "http://ad.toutiao.com/track/activate/?callback=" + callback_param
+ "&muid=" + muid + "&os=" + os + "&source=td&conv_time=" + conv_time;
//使用 HMAC-SHA1 簽名方法對對url進行簽名
String sig = "";
try {
sig = new HmacSHA1Util().HmacSHA1Encrypt(url, key);
} catch (Exception e) {
logger.info("HMAC-SHA1 簽名方法對對url進行簽名失敗");
e.printStackTrace();
}
//對其進行base64加密
sig = new Base64Util().getBase64(sig);
url =url+"&signature=" + sig;
logger.info("地址展示:"+url);
try {
String rel=HttpUtils.get(url);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return returnResult(ErrorCode.ERR_CODE_STATUS_TRUE, ErrorCode.ERR_CODE_SUCCESS,
responseCommand);
}
注:具體今日頭條回撥url的生成演算法:
signature 生成方法:
1) 引數定義:
key:每個廣告主都特有的金鑰,只有廣告主自己知道。key 的獲取方式:廣告主在頭條廣告後臺(ad.toutiao.com)轉化跟蹤工具箱裡建立轉化之後,系統會自動生成金鑰
url:每個呼叫介面二的 url
例: key = "945948789875"
url="http://ad.toutiao.com/track/activate/?callback=12334_334_434_2323_4334_2343_www.gdt.com&muid=KHK-SD-DFK&os=1&source=td&conv_time=1463414400"
2) 組合引數
sig = hmac.new(str(key), str(url), sha1).digest()
3) 引數加密
sig = base64.urlsafe_b64encode(sig)
url = url +‘&signature=’+ sig
4) 組裝回調請求:
加密前 ULR 格式:
http://ad.toutiao.com/track/activate/?callback={callback_param}&muid={muid}&os={os}&source={source}&conv_time={conv_time}
加密之後 URL 格式:
http://ad.toutiao.com/track/activate/?callback={callback_param}&muid={muid}&os={os}&source={source}&conv_time={conv_time}&signature={signature}
例:
http://ad.toutiao.com/track/activate/?callback=12334_334_434_2323_4334_2343_www.gdt.com&muid=KHK-SDDFK&os=1&source=td&conv_time=1463414400”&signature=3ZWd3tXFXIN8rmySDgbYBIn5BAc=
相關推薦
今日頭條移動 APP 廣告啟用資料API對接實踐
作為最火的新聞app,今日頭條有這很大的活躍使用者群和日訪問量。大流量決定了今日頭條會位商品做廣告。 1.如下為今日頭條的廣告收費方案(來自官方開發文件): 啟用數是 APP 廣告主衡量轉化效果的重要指標之一,為滿 今日頭條(以下簡稱頭條)廣告主 對廣告效果的監測需求,本文
今日頭條移動app廣告激活數據API對接完整Java代碼實現供大家參考》》》項目隨記
blank title gpo 今日頭條 引流 推廣 方式 好習慣 代碼實現 這是自畢業後的第一篇博客,希望自己今後能養成寫博客的一個好習慣。最近公司為了加速APP推廣,采取在外部平臺(如:今日頭條)進行廣告投放的方式,進行用戶引流。因此我們需要對廣告的激活數據進行一個檢測
Python3網路爬蟲:今日頭條新聞App的廣告資料抓取
咱們就不說廢話了,直接上完整的原始碼def startGetData(self): ret = random.randint(2, 10) index = 0 url = "" while index < ret: if index ==
力壓今日頭條成 App Store 榜第一,個稅 App 驚爆 62 例木馬病毒!
嗅著錢串子的味道,「造馬者」們趕著新舊年之交又騷動起來了…… 近日,國務院正式釋出《個人所得稅專項附加扣除暫行辦法》,自 2019 年 1 月 1 日起,個人所得稅增加 6 項專項附加扣除費用。與此同時,“個人所得稅”APP 也已悄然上線,12 月 31 日就可
抓包|獲取移動app裡的資料,什麼是抓包?
什麼是抓包? 抓包(packet capture) 就是將網路傳輸傳送與接收的資料包進行 截獲 重發 編輯 轉存 也用來檢查網路安全 也經常進行資料擷取等 移動app抓包,獲取圖片,視訊等資料 很多app是沒有網
關於移動app測試的一些思考和實踐
5月底去杭州參加了一次阿里技術沙龍的活動,應會議組織者耿電兄的邀請去做了一個移動app測試的分享(詳見http://club.alibabatech.org)。有點被抓壯丁的感覺,主要是因為覺得我們團隊在無線測試方面的積累還很不夠,無論是相對於業界還是相對於公司內部的很多移動測試團隊。不過倒是很高興有這樣的
python爬蟲爬取今日頭條APP資料(無需破解as ,cp,_cp_signature引數)
#!coding=utf-8 import requests import re import json import math import random import time from requests.packages.urllib3.exceptions import Insecure
今日頭條app資料包分析
資料包分析 wireshark+Connectify Hotspot(也可以是其他wifi共享工具), 使用Fiddler 實際使用Fiddler連續進行監聽,觀察引數有何不一樣 首次進入一個頻道 GET /api/news
想在今日頭條做廣告投放滅蚊燈效果OK嗎
今日頭條今日頭條是一款基於挖掘的推薦引擎產品(手機APP),它為用戶推薦有價值的、個性化的信息,提供連接人與資訊的新型服務,是國內移動互聯網領域成長快的產品服務之一。 它於2012年3月創建,於2012年8月發布第一個版本。截至2016年1月,今日頭條”已經在為3.8億的忠誠用戶服務,每天有超過3500萬
位元組跳動大資料中心17萬伺服器硬實力支撐今日頭條等產品線(公號回覆“位元組跳動”下載PDF典型資料,歡迎轉發、讚賞支援科普)
位元組跳動大資料中心17萬伺服器硬實力支撐今日頭條等產品線(公號回覆“位元組跳動”下載PDF典型資料,歡迎轉發、讚賞支援科普) 原創: 秦隴紀 科學Sciences 昨天 科學Sciences導讀:北京位元組跳動有限公司大資料中心以17萬臺伺服器的硬實力,支撐起今日頭條、抖音、西瓜視
騰訊又推出一款短視訊App哈皮 類似今日頭條的皮皮蝦
@央廣軍事11月10日訊息,2018中國航展上首次公開展出的“瞭望者Ⅱ”察打一體導彈無人艇,是剛剛成功進行首發導彈飛行試驗命中靶心的實艇,試驗成功後隨即吊裝到展位與公眾見面。據媒體此前報道,該艇是中國第一艘導彈無人艇,也是繼以色列拉斐爾海上騎士後全球第二個成功發射導彈的無人艇,填補了國內導彈無人艇這一技術空白
[h5+api]移動app開發用到的微信好友,朋友圈,qq好友,新浪微博分享合集
適用H5+環境,能夠使用plus方法的移動app中 /** * Created by HBuilder. * User: tyx * Date: 2018-11-21 * Time: 17:28:51 */ /** * 初始化分享服務 */ //---------------H5 pl
今日頭條Marketing API小工具(.Net Core版本)
前言 由於工作原因,需要用到今日頭條的Marketing API做一些廣告投放的定製化開發。然後看現在網上也沒多少關於頭條Marketing API的文章,於是便就有了該篇文章。 頭條Marketing API主頁地址:https://ad.toutiao.com/openapi/index.ht
今日頭條極速版邀請碼以及其它APP邀請碼大全
現在大多手機新聞APP都需要輸入碼,在網上找了很久,最終找到一個比較全的文章,本人試過,都是可以使用的! 第6個比較好,可邊看新聞,邊收益!嘻嘻!平時寫程式碼累了,休息刷一下!或者在睡覺前重新整理一下,每天積累,夠買早餐! 1.天天快報(邀請碼) QAXTRN 2.趣頭條(邀請碼) A186964988
關與今日頭條app的爬蟲介紹
這段時間忙於工作,主要針對新聞資訊內容的爬取 主要爬的有今日頭條,鳳凰,網易,騰訊,大型網站的爬取,的總結, 1,必須熟悉手機抓包軟體的配置,才可以有效的抓取到介面 2,從介面處尋找規律, 3,明確自己需要哪些內容, 4.寫爬蟲 我通過介面找到了所有的類目: classi
百度外賣正式更名為“餓了麼星選”;今日頭條推出電商App“值點”;京東入局個人快遞業務
< 觸控快訊,不一樣的聲音 > 本週行業快訊 百度外賣正式更名為“餓了麼星選” 10月15日訊息,百度外賣正式更名為“餓了麼星選”,App也採用了新的標識。百度外賣的官方微信和微博也均完成更名。餓了麼副總裁王景峰將擔任餓了麼星選CEO。據官方
使用HBuilder開發移動APP:ajax呼叫介面資料
既然要做APP,與介面互動式少不了的,除非只是想做一個純靜態的APP。所以html5+的環境準備好後,我最先開始研究的就是如何與介面互動。 使用HBuilder新建示例教程後,裡面會有一個ajax(網路請求)的列子,檔案目錄是examples/ajax.html。看了下這個檔
利用正則表示式處理爬取的今日頭條內容資料(Python爬蟲資料清洗)
本次要處理的是抓取的頭條內容,內容如下: content = '''content: '<div><blockquote><p><strong>想要更多科技類資訊,歡迎關注公眾號“
android仿今日頭條App、多種漂亮載入效果、選擇器彙總、記事本App、Kotlin開發等原始碼
Android精選原始碼 android漂亮的載入效果 android各種 選擇器 彙總原始碼 Android仿bilibili搜尋框效果 Android記事本app、分類,塗鴉、新增圖片或者其他附件 仿今日頭條app 一個很酷的Vi
從無到有、從小到大,今日頭條大資料平臺實踐經歷的那些坑
今日頭條(以下簡稱頭條)成立於 2012 年,本文作者王燁在 2014 年加入,那時公司人員僅三百人。2014 年,對頭條來說是很關鍵的階段,當時 DAU 只有幾百萬的級別;到 2016 年,DAU 達到 7800 萬,目前更多。 隨著公司規模的發展,資料量呈遞增式爆棚,他也見證了基礎資料平臺從無到