admob 廣告開發(fā)者報(bào)表api

來源:hatlonely的小站
作者:hatlonely
時(shí)間:2020-06-30
3182
廣告是移動(dòng)應(yīng)用非常好的變現(xiàn)模式,作為開發(fā)者經(jīng)常會(huì)接很多家的廣告平臺(tái),每個(gè)廣告平臺(tái)都有自己的報(bào)表系統(tǒng),就會(huì)有一個(gè)各個(gè)平臺(tái)數(shù)據(jù)匯總分析的需求。

廣告是移動(dòng)應(yīng)用非常好的變現(xiàn)模式,作為開發(fā)者經(jīng)常會(huì)接很多家的廣告平臺(tái),每個(gè)廣告平臺(tái)都有自己的報(bào)表系統(tǒng),就會(huì)有一個(gè)各個(gè)平臺(tái)數(shù)據(jù)匯總分析的需求,首先第一步就需要從各個(gè)廣告平臺(tái)獲取數(shù)據(jù),除了在web頁面提供基本的數(shù)據(jù)導(dǎo)出功能,基本上各個(gè)平臺(tái)都會(huì)提供 api 來方便數(shù)據(jù)拉取的自動(dòng)化。

admob 是 google 的移動(dòng)開發(fā)者廣告平臺(tái),同樣也提供了完備的 api 來獲取報(bào)表數(shù)據(jù)

創(chuàng)建 API 憑證

報(bào)表 api 使用 oauth 2.0 授權(quán),需要先開通云平臺(tái)賬號(hào),需要填一下賬單信息。開通賬號(hào)后,在平臺(tái)上創(chuàng)建一個(gè) oauth 2.0 的憑證

10266526-7143ca01d9416366.jpg

google oauth 授權(quán)

創(chuàng)建完成后,下載JSON 秘鑰文件,保存為 client_secrets.json

使用 google api 的 python 庫

sudo pip3 install google-api-python-client

sudo pip3 install oauth2client

初始化服務(wù)

from apiclient import sample_tools


scope = ['https://www.googleapis.com/auth/adsense.readonly']

client_secrets_file = 'client_secrets.json'


service, _ = sample_tools.init(

    '', 'adsense', 'v1.4', __doc__,

    client_secrets_file,

    parents=[], scope=scope

)

調(diào)用服務(wù) api

results = service.accounts().reports().generate(

    accountId='pub-131xxxxxxxxxxxxx',

    startDate=start.strftime('%Y-%m-%d'),

    endDate=end.strftime('%Y-%m-%d'),

    metric=metric,

    dimension=dimension,

    useTimezoneReporting=True,

).execute()

accountId: 在 admob 平臺(tái)的首頁上https://apps.admob.com/v2/home點(diǎn)擊自己的頭像,發(fā)布商ID就是accountId

metric: 指標(biāo)項(xiàng),點(diǎn)擊、展示、收入等

dimension: 維度,日期、app、廣告位、國(guó)家等

startDate: 開始日期,yyyy-mm-dd 格式

endDate: 結(jié)束時(shí)間,yyyy-mm-dd 格式

useTimezoneReporting: 使用賬戶所在的時(shí)區(qū)

參考代碼

代碼依賴了一個(gè)client_secrets.json的授權(quán)文件

import json

import datetime

import argparse

from apiclient import sample_tools



def collect(start=None, end=None):

    if not start:

        start = datetime.datetime.now() - datetime.timedelta(days=1)

    if not end:

        end = start


    scope = ['https://www.googleapis.com/auth/adsense.readonly']

    client_secrets_file = 'client_secrets.json'


    service, _ = sample_tools.init(

        '', 'adsense', 'v1.4', __doc__,

        client_secrets_file,

        parents=[], scope=scope

    )


    dimension = [

        "DATE", "APP_NAME", "APP_PLATFORM", "AD_UNIT_NAME", "AD_UNIT_ID", "COUNTRY_CODE"

    ]

    metric = [

        "AD_REQUESTS", "CLICKS", "INDIVIDUAL_AD_IMPRESSIONS", "EARNINGS", "REACHED_AD_REQUESTS_SHOW_RATE"

    ]


    results = service.accounts().reports().generate(

        accountId='pub-131xxxxxxxxxxxxx',

        startDate=start.strftime('%Y-%m-%d'),

        endDate=end.strftime('%Y-%m-%d'),

        metric=metric,

        dimension=dimension,

        useTimezoneReporting=True,

    ).execute()


    headers = [i.lower() for i in dimension + metric]

    datas = []

    for row in results.get('rows'):

        data = {}

        for i in range(len(row)):

            data[headers[i]] = row[i]

        datas.append(data)

    return datas



def transform(datas):

    for data in datas:

        # 數(shù)據(jù)轉(zhuǎn)化

        pass

    return datas



def serialize(datas):

    for data in datas:

        print(json.dumps(data))



def main():

    parser = argparse.ArgumentParser(

        formatter_class=argparse.RawDescriptionHelpFormatter,

        description="""Example:

            python3 admob.py -s 20181025 -e 20181028

        """

    )

    parser.add_argument(

        '-s', '--start',

        type=lambda d: datetime.datetime.strptime(d, '%Y%m%d'),

        help='start time',

        default=None

    )

    parser.add_argument(

        '-e', '--end',

        type=lambda d: datetime.datetime.strptime(d, '%Y%m%d'),

        help='end time',

        default=None

    )

    args = parser.parse_args()

    serialize(transform(collect(args.start, args.end)))



if __name__ == '__main__':

    main()

參考鏈接

·google 廣告平臺(tái)報(bào)表 api: https://developers.google.com/adsense/management/v1.4/reference/accounts/reports/generate

·google 廣告平臺(tái)指標(biāo)和維度:

https://developers.google.com/adsense/management/metrics-dimensions

·google oauth 授權(quán): https://developers.google.com/adwords/api/docs/guides/authentication

·How to use Google Adsense API to download Adsense data: https://009co.com/?p=389

·google admob 平臺(tái): https://apps.admob.com/v2/home

·google 云平臺(tái): https://console.cloud.google.com/home/dashboard

·adsense 平臺(tái)憑據(jù): https://console.cloud.google.com/apis/credentials

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:hatlonely的小站
版權(quán)說明:本文內(nèi)容來自于hatlonely的小站,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Admob平臺(tái)注冊(cè)及收款
Admob平臺(tái)注冊(cè)及收款
Admob最大的優(yōu)勢(shì)是全球范圍內(nèi)填充率相對(duì)較高;且有流量即可變現(xiàn),線下APP也可支持變現(xiàn)。但2021年政策逐步收緊,5月份起,新APP需要過審,且只有上架Google play、Appstore、Amazon、OPPO、VIVO、XIAOMI、Galaxy Store應(yīng)用商店,才可審核過進(jìn)行變現(xiàn),但不妨礙Admob依然是全球最大的廣告聯(lián)盟平臺(tái)。
Admob
廣告變現(xiàn)
2023-01-12
Google Admob碰到無效流量問題的解決思路
Google Admob碰到無效流量問題的解決思路
做Google Admob的廣告變現(xiàn),新賬號(hào)很容易遇到無效流量問題,這里提供一下解決思路。
Google Admob
流量
2022-03-15
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
近期所有AdMob用戶的報(bào)告后臺(tái)將看到全新的“廣告活動(dòng)”報(bào)告。此報(bào)告集中顯示您的廣告效果,將AdMob廣告聯(lián)盟報(bào)告、中介報(bào)告和出價(jià)報(bào)告中的數(shù)據(jù)、指標(biāo)和維度整合到一個(gè)報(bào)告中。
Admob
Google Admob
2021-12-28
解讀AdMob廣告單元技術(shù)接入指南
解讀AdMob廣告單元技術(shù)接入指南
本期文章內(nèi)容來源于AdMob技術(shù)專員的信息分享,向您介紹關(guān)于AdMob技術(shù)接入時(shí)需要注意的以下3條黃金準(zhǔn)則。
Google Admob
2021-12-28
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家