广告服务(Ads Kit)提供流量变现服务,通过该服务开发者可以在自己的App中向用户展示Banner、原生、激励广告等多种形式的广告内容。而对于应用中已上线的广告位来说,因为涉及到收入,所以日常的数据监控显得尤为重要。
为此广告服务也提供了流量变现服务报表API(Publisher Service Reporting API),通过接入该API,开发者可以获取应用内广告变现相关数据,包括广告请求量、返回量、展示率、点击率等,让开发者可以依据数据对广告效果进行分析,从而及时调整投放策略。

开发者可根据返回的数据实现自己的报表展示效果
那么如何获取流量变现数据呢?以下是具体的集成步骤。
一.获取客户端ID和密钥
在获取变现数据前,我们要先有OAuth 2.0 客户端ID和密钥,用于生成调用报表API时传入的access_token,需要注意的是此处的客户端ID和密钥并不是指APPGallery Connect中应用的ClientID,而是通过在华为开发者联盟->凭证中创建的服务器应用的客户端ID。

1.注册成为开发者,完成实名认证。登录华为开发者联盟,点击右上角“管理中心”进入主页面。

2.进入“凭证”页面,创建项目,如果已有项目请跳过【步骤a】。
a.选择“凭证”,根据下图标记顺序填入“项目名称”和“项目别名”新建项目。

b. 选中创建的项目,点击“确定”。

3.选择“OAuth 2.0 客户端 ID”创建客户端ID。

说明:
如果项目下已经存在“OAuth 2.0 客户端 ID”凭证,需要检查产品类型是否为服务器应用,如果是服务器应用可以跳过【步骤4】。
检查方式:点击操作一栏下的“编辑”按钮,查看“产品类型”。


如果不是“服务器应用”类型,需要重新创建“OAuth 2.0 客户端 ID”:

4.选择“服务器应用”,输入“产品名称”,选择“应用类型”和“默认语言”,点击“创建”;提示“客户端ID”和“密钥”,点击“确定”。

5.进入“我的API”页面,确认选中的项目,点击“申请新的HMS API服务”。

6.下拉找到“App Services”,点击“流量变现服务报表API”。

7.点击“启用”,开启流量变现服务报表API,之后就可以调用流量变现报表API了

在“停用”后,再次“启用”时,由于页面缓存等原因,生效时间是非实时生效的,需要等待大概6~10分钟。如果10分钟后没有生效,请重新进行尝试。
二.调用流量变现报表API
1.在调用流量变现报表API前需要先获取access_token鉴权信息。
调用接口:
POST6a4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6G2j5i4g2@1K9q4)9J5k6r3I4G2k6$3W2F1i4K6u0W2j5$3I4G2N6h3c8Q4x3X3g2Z5N6h3q4%4k6h3W2Q4x3X3g2U0L8$3#2Q4x3V1k6G2j5i4g2@1K9o6u0Q4x3V1k6$3x3#2)9J5c8Y4c8G2K9$3g2F1
请求示例:
1 2 3 4 5 6 7 | POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&
client_id=<客户端ID >&
client_secret=<客户端密钥>
|
请求示例截图:

需要注意的是,客户端ID和密钥,是在开发者联盟界面获取的服务器应用的客户端ID和密钥,而不是在APPGallery Connect中创建的移动应用的客户端ID和密钥。
2.拿到access_token鉴权信息后,调用报表API。
调用接口:
POST fd5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2k6s2y4Q4x3X3g2U0L8r3!0#2k6q4)9J5k6h3S2#2j5i4N6W2K9g2)9J5k6h3y4G2L8g2)9J5c8X3!0H3k6h3&6S2M7r3W2Q4x3V1k6E0L8$3&6W2N6r3W2*7j5i4c8A6L8$3&6Q4x3V1k6J5k6i4m8G2M7Y4c8K6i4K6u0r3N6U0q4Q4x3V1k6H3N6h3u0D9K9i4y4Z5k6i4t1`.
俄罗斯站点需要调用以下接口:
POST cc1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2k6s2y4Q4x3X3c8V1M7Y4u0#2i4K6u0W2j5$3I4G2N6h3c8Q4x3X3g2Z5N6h3q4%4k6h3W2Q4x3X3g2J5N6g2)9J5c8X3!0H3k6h3&6S2M7r3W2Q4x3V1k6E0L8$3&6W2N6r3W2*7j5i4c8A6L8$3&6Q4x3V1k6J5k6i4m8G2M7Y4c8K6i4K6u0r3N6U0q4Q4x3V1k6H3N6h3u0D9K9i4y4Z5k6i4t1`.
请求示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | POST /openapi/monetization/reports/v1/publisher HTTP/1.1
Content-Type: application/json
Authorization: Bearer ***
Accept: application/json
Content-Length: 233
{
"start_date": "2022-06-01",
"end_date": "2022-06-28",
"filtering": {
"currency": "CNY"
},
"time_granularity": "STAT_TIME_GRANULARITY_DAILY",
"page": 1,
"page_size": 10
}
|
请求示例截图:

从截图中可以看到,数据已成功返回。具体请求参数,和响应参数可以参考文档链接
调用API获取变现报表数据后,开发者可以根据自己的需求去实现数据的展现形式。
三.接入流量变现报表时的常见问题
调用流量变现服务报表API时返回access forbidden?

原因分析:
1.在开发者联盟界面“API”栏目中没有开启对应项目的流量变现报表API开关。
2.流量报表API开关“启用”后,还没有等到权限生效,就调用报表API接口。
3.获取access_token鉴权信息时,传入的客户端ID和密钥,不是开发者联盟界面“凭证”中服务器应用的ID和密钥。
解决方法:
1.开启流量报表API开关,在开发者联盟界面->我的API->选择对应的项目->点击“申请新的HMS API服务”,找到“流量变现服务报表API” 权限,点击“启用”。
1 2 3 4 5 | 


|
2.流量报表API开关“停用”后,再次“启用”时,并非实时生效,需要等待大概6~10分钟。
3.检查获取access_token鉴权信息时,传入的客户端ID是否是服务器应用的。在开发者联盟界面->凭证->找到对应的项目->点击项目下应用的编辑按钮,即可在产品类型一行看到应用类型。如果不是服务器应用,请更换服务器应用的客户端ID和密钥后重试。


了解更多详情>>
访问广告服务官网
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~