【问题标题】:using Adsense API, How can I find which application an admob ad unit id belongs to?使用 Adsense API,如何找到 admob 广告单元 ID 属于哪个应用程序?
【发布时间】:2019-02-14 11:46:57
【问题描述】:

Adsense api 返回与广告单元 ID 关联的广告单元名称。但是名称并不像“在主页上”那样唯一。这些 adunit 是使用 admob 创建的应用程序的一部分。某些应用程序有超过 1 个广告单元。我似乎找不到可以告诉我广告单元 ID 所属的应用程序名称的 api 调用。如何使用他们的 API 获取 adunit id 的应用程序名称?

【问题讨论】:

  • 你到底在调用什么方法,它的签名是什么。如果您可以访问它们,您可以随意命名您的 AdUnit,这大概是您这样做的。
  • 我正在使用这个 api 调用:adsense.accounts.reports.generate 与维度 AD_UNIT_ID 和名称。我在文档中没有看到“应用程序”维度。我不想更改 adunits 的名称,因为它们有很多(超过 100 个)。我做了一个 hack,将所有广告单元获取一周,然后在 admob 网络界面上做同样的事情。导出它并尝试根据类似的统计数据匹配它们。效果相当好,但并不完美。

标签: google-api admob adsense adsense-api


【解决方案1】:

据我所知,您自己的广告单元“名称约定”(如 app001_abc、app002_def、app003_ghi)和“包含子字符串”过滤器如 AD_UNIT_NAME=@app001_AD_UNIT_NAME=@app002_AD_UNIT_NAME=@app003_ 可能是唯一的选择。 (在 v1.4 中。)

GET https://www.googleapis.com/adsense/v1.4/accounts/pub-0123456789012345/reports?startDate=today&endDate=today&dimension=AD_UNIT_ID&dimension=AD_UNIT_NAME&filter=AD_UNIT_NAME%3D%40app001_&metric=EARNINGS&key={YOUR_API_KEY}

https://developers.google.com/adsense/management/reporting/filtering https://developers.google.com/adsense/management/v1.4/reference/accounts/adunits#resource

【讨论】:

  • 这是迄今为止最好的答案,虽然并不完美,也许 adsense api 没有我需要的功能。我将此标记为答案,直到出现更好的结果。
【解决方案2】:

更新:Admob 现在有一个应用名称维度

在高级报告中使用此维度:APP_NAME

来源:https://developers.google.com/admob/ios/reporting

以下是获取应用名称的示例:

https://www.googleapis.com/adsense/v1.4/accounts/{{You account Id}}/reports?startDate=today&endDate=today&metric=EARNINGS&key={{YOUR API KEY}}&dimension=AD_UNIT_ID&dimension=AD_UNIT_NAME&dimension=APP_NAME

现在复制您的应用名称,并将其添加到过滤器中,例如filter=APP_NAME%3D={{Your App Name}} 排除其他应用程序。这是一个完整的例子:

https://www.googleapis.com/adsense/v1.4/accounts/{{You account Id}}/reports?startDate=today&endDate=today&metric=EARNINGS&key={{YOUR API KEY}}&filter=APP_NAME%3D={{Your App Name}}&dimension=AD_UNIT_ID&dimension=AD_UNIT_NAME&dimension=APP_NAME

【讨论】:

    【解决方案3】:

    目前没有应用维度

    写于 2017 年。现在您可以在报告中使用 APP_ID / APP_NAME / APP_PLATFORM 作为过滤器或维度。将 APP_ID 与 AD_UNIT_ID 结合使用,您可以通过相应的应用在报告中分隔广告单元。

    例子:

    'dimension' => ['DATE','AD_UNIT_ID'],
    'filter' => 'APP_ID==2:com.my.app'
    

    前缀 1 适用于 iOS,2 - 适用于 Android。您还可以使用数字 APP_ID - 来自 App management 页面

    更多示例在docs

    【讨论】:

      【解决方案4】:

      目前没有适用于应用的维度。如果您将 AD_CLIENT_ID 添加到报告的维度列表或过滤它们,您可以对 AdMob 请求进行分组。

      使用 AdSense(针对内容)创建的广告单元具有类似于 "ca-pub-1234567890" 的广告客户 ID,而使用 AdMob 创建的则不同,例如 "ca-app-pub-1234567890"

      【讨论】:

      • 您指的是 AD_UNIT_ID 而不是 AD_CLIENT_ID。 Adsense 的 api 允许专门过滤 admob id。
      • 广告客户不是帐户。它是产品(AFC、AFS、AdMob...)和帐户之间的关联。所以首先做accounts.adclients.list 然后按AD_CLIENT_ID 过滤。你可以在这里试试:developers.google.com/adsense/management/v1.4/reference/…
      • 对不起,我以为你只是想把它们区分开来,我会编辑我的答案。
      • 你是对的 AD_CLIENT_ID 是针对特定产品的。奇怪的是,我有很多产品要处理,而且它们都有相同的 AD_CLIENT_ID。我必须使用 PRODUCT_CODE 维度为特定产品过滤它们。 Galeksic 在我想做的事情上更加步入正轨。我的目标是获取 AD_UNIT_ID 所属的应用程序名称。检查一个 AD_UNIT_ID 是否属于 admob 产品非常简单,这不是我的最终目标。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      相关资源
      最近更新 更多