Skip to content

admob 广告开发者报表api

admob 广告开发者报表api

广告是移动应用非常好的变现模式,作为开发者经常会接很多家的广告平台,每个广告平台都有自己的报表系统,就会有一个各个平台数据汇总分析的需求,首先第一步就需要从各个广告平台获取数据,除了在web页面提供基本的数据导出功能,基本上各个平台都会提供 api 来方便数据拉取的自动化。

admob 是 google 的移动开发者广告平台,同样也提供了完备的 api 来获取报表数据

创建 API 凭证

报表 api 使用 oauth 2.0 授权,需要先开通云平台账号,需要填一下账单信息。开通账号后,在平台上创建一个 oauth 2.0 的凭证

google oauth 授权

创建完成后,下载JSON 秘钥文件,保存为 client_secrets.json

使用 google api 的 python 库

sudo pip3 install google-api-python-client

sudo pip3 install oauth2client

初始化服务

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

)

调用服务 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 平台的首页上https://apps.admob.com/v2/home点击自己的头像,发布商ID就是accountId

metric: 指标项,点击、展示、收入等

dimension: 维度,日期、app、广告位、国家等

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

endDate: 结束时间,yyyy-mm-dd 格式

useTimezoneReporting: 使用账户所在的时区

参考代码

代码依赖了一个client_secrets.json的授权文件

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:

        # 数据转化

        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 广告平台报表 api: https://developers.google.com/adsense/management/v1.4/reference/accounts/reports/generate

·google 广告平台指标和维度:

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

·google oauth 授权: 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 平台: https://apps.admob.com/v2/home

·google 云平台: https://console.cloud.google.com/home/dashboard

·adsense 平台凭据: https://console.cloud.google.com/apis/credentials

相关推荐: 兼具人才和纺织优势,葡萄牙时装行业或将比拼米兰巴黎

在葡萄牙,一年中都会有几个星期,人们能看到这样的景象:时髦的人们在极简陋或高档的地方占了位置,模特们穿着最新设计的服装从过道走过。 3月下旬是葡萄牙时装周,是这个国家自己办的活动,展出欧洲最流行的时装。时装表演同时在两个都市进行,一是在首都里斯本,二是在第二大…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处