发布商注册流程

本文介绍在AdSense Host API v4.x中创建AdSense发布商帐户或将其与托管帐户进行关联所需的步骤。要设置收益分成、生成报告以及使用AdSense Host API中的所有其他功能,则必须执行帐户关联;因此每位托管商都必须实施此流程。

概述

帐户创建和关联是由AdSense网站处理,不过托管商必须将用户重定向至该网站,并在相关流程完成后存储标识符。

注册流程分为4个步骤:

  1. 托管商通过调用associationsessions.start来请求新的关联会话。
  2. 托管商将用户重定向到在返回的关联会话中提供的网址,用户在AdSense网站中完成相关步骤。
  3. 用户被重定向回托管商网站,一起返回的还有一个令牌。
  4. 托管商通过调用associationsessions.verify来验证令牌。如果关联成功,响应中会包括发布商的帐户ID,托管商应在本地存储此帐户ID,以便在涉及该发布商的API调用中使用。

第1步:启动关联会话

要将发布商重定向到注册页面,您(托管商)必须先通过调用associationsessions.start来请求新的关联会话。响应内容如下所示:

{
  'id': '00000000-0000-0000-0000-000000000000',
  'redirectUrl': '<redirect URL>',
  'websiteUrl': 'www.example.com',
  'productCodes': ['AFC'],
  'kind': 'adsensehost#associationSession'
}

在此响应中,需要特别注意的字段是redirectUrlid(会话的唯一标识符)。您需要在本地存储 id,以便稍后在回调过程中可以识别相应的用户。

redirectUrl是下一步中您需要将用户重定向到的目标位置。

第2步:重定向到AdSense网站

帐户的创建或现有帐户的关联都发生在AdSense网站中专用的API注册页面上。

帐户的创建或关联都在AdSense网站上进行。
图1:AdSense网站上的注册页面

在此步骤中,您只需将用户重定向到您在上一步中收到的redirectUrl,Google会负责处理其余工作!

第3步:获取回调

当用户在AdSense网站上填写所有信息并完成注册流程后,系统会将他们送回到与您的托管帐户绑定的预定义回调网址。

出于安全原因,系统不会直接在回调中发送关联详情。回调请求将包含一个名为token的HTTP参数。无论关联是否成功,系统始终都会设置此参数。

GET http://your.callback.url/path?token=<associationtoken>

请务必注册并记录所有回调,以避免重复将您的用户发送到注册流程。

第4步:验证令牌

要获取关联会话的详情(包括关联是否成功),您需要使用在上一步中收到的令牌调用associationsessions.verify

如果出现错误或用户选择了拒绝关联,您将收到类似如下的响应:

{
  'id': '00000000-0000-0000-0000-000000000000',
  'status': 'REJECTED',
  'kind': 'adsensehost#associationSession'
}

id允许您通过比较之前在第1步中存储的关联ID来识别此关联会话所属的用户。

status指示会话是否成功。它会列出ACCEPTED(如果会话成功)、REJECTED(如果用户选择了拒绝关联),或者ERROR(如果在AdSense网站上进行注册期间发生了某种错误)。

如果关联被接受,您还将获得一个额外的字段:

{
  'id': '00000000-0000-0000-0000-000000000000',
  'status': 'ACCEPTED',
  'accountId': 'pub-0000000000000000',
  'kind': 'adsensehost#associationSession'
}

accountId字段包含用户的AdSense帐户ID,您需要将此ID存储在本地,以便进行与此用户相关的API调用。

大功告成!

存储帐户ID后,您就获得了管理用户所需的所有信息。现在,您可以使用此ID来进行与他们有关的API调用,如使用accounts.get来检查其AdSense帐户的状态,或者使用accounts.adunits集合来管理其广告单元。