- 资源:PlanStatus
- 方法
资源:PlanStatus
PlanStatus 包含用户已购买的所有顶级移动服务软件包的详细信息。
JSON 表示法 | |
---|---|
{ "name": string, "plans": [ { object ( |
字段 | |
---|---|
name |
PlanStatus 的资源名称,格式如下: |
plans[] |
此用户拥有的方案列表。 |
languageCode |
必需。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。 |
expireTime |
必需。共享方案群组信息过时的时间。在此之后,系统将不再向应用提供 PlanStatus。过期时间必须是将来的时间。 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: |
updateTime |
必需。流量套餐代理 (DPA) 从后端系统提取方案状态信息的时间。可用于确定方案状态信息的时效性。更新时间必须是过去的时间,但不能超过 30 天。 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: |
title |
用户与运营商签订的合同的标题。此信息将显示在界面标头中。 |
subscriberId |
运营商系统中的唯一稳定标识符,用于标识用户。 |
accountInfo |
预付费用户必需。有关用户帐号余额的信息。 |
uiCompatibility |
确定是否可以在界面中向用户显示 PlanStatus。设置为 UI_INCOMPATIBLE 时,PlanStatus 可用于向用户发送通知,但不会用于向用户显示方案信息。 |
notifications[] |
包含 GTAF 向用户发送的通知类型的列表。如果调用方填充了此字段,GTAF 会忽略此字段。 |
planInfoPerClient |
与特定 Google 客户相关的流量套餐信息。 |
cpidState |
与此方案状态相关联的 CPID 的状态。 |
方案
用户的移动套餐(订阅者购买的顶级移动服务套餐)的详细信息。套餐可以很简单,例如“30 天 10 GB 的移动流量”,也可以定义为一系列组件(我们称之为套餐模块)。例如,ACME 计划 199(称为“2GB 数据、无限 WhatsApp + 无限微信以及 1GB Spotify”)包含三个计划模块。
JSON 表示法 | |
---|---|
{ "planName": string, "planId": string, "planCategory": enum ( |
字段 | |
---|---|
planName |
用户的移动设备套餐的名称。 |
planId |
必需。方案标识符,用于在优惠期间指代方案,等等。 |
planCategory |
预付费或后付费套餐。 |
expirationTime |
必需。此方案到期后。对于大多数方案,此值应等于所有计划模块专用到期时间的最大值。对于定期刷新模块配额的计划,这应该是计划整体到期时间,即计划模块停止刷新的时间。如果方案未过期,应省略此字段。 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: |
planModules[] |
详细的计划模块(子计划)信息。 |
planState |
用户计划的状态,例如“有效”、“无效”等。 |
方案类别
可能的方案类别类型。
枚举 | |
---|---|
PLAN_CATEGORY_UNSPECIFIED |
未指定。 |
PREPAID |
预付费方案。 |
POSTPAID |
后付费套餐。 |
计划模块
方案中每个流量套餐模块(或子方案)的信息。
JSON 表示法 | |
---|---|
{ "coarseBalanceLevel": enum ( |
字段 | ||
---|---|---|
coarseBalanceLevel |
粗略的余额信息。 |
|
trafficCategories[] |
根据此计划模块收费的流量类别列表。 |
|
expirationTime |
必需。计划模块专用到期时间。对于具有配额定期更新的方案模块,这是下次模块刷新的时间。如果计划模块未过期,则应省略此字段。 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: |
|
overUsagePolicy |
过度使用政策(例如:受到限制)。 |
|
maxRateKbps |
此计划模块允许的最大数据速率 (Kbps)。观察到的实际数据率介于 0 和 maxRateKbps 之间,具体取决于网络条件。如果省略 maxRateKbps 或将其设置为 0,则表示无需对此计划模块执行限制。 |
|
description |
必需。计划模块说明,可能会向用户显示,并且应靠近此计划模块的市场说明。 |
|
moduleName |
必需。计划模块的名称。 |
|
usedBytes |
用户在此计划模块中使用的字节总数。 |
|
planModuleState |
计划模块的状态,例如“有效”、“无效”等。 |
|
refreshPeriod |
此计划模块的刷新周期,或 REFRESH_PERIOD_NONE(如果计划模块未刷新其配额)。计划刷新配额的模块会在每个刷新周期执行一次。 |
|
联合字段 balance 。必需。计划模块余额信息,应为以下值之一:byte_balance、time_balance、coarse_balance_level。balance 只能是下列其中一项: |
||
byteBalance |
基于字节的计划模块余额信息。对于定期刷新的模块,此字段表示每个刷新周期的字节余额。 |
|
timeBalance |
基于时间的计划模块余额信息。对于定期刷新的模块,此字段表示每个刷新时间段的时间余额。 |
字节配额
基于字节的方案模块配额/余额信息。
JSON 表示法 | |
---|---|
{ "quotaBytes": string, "remainingBytes": string } |
字段 | |
---|---|
quotaBytes |
模块配额(以字节为单位)。对于无限制方案,此值应设置为 2^63 - 1 (9223372036854775807)。 |
remainingBytes |
余额不足通知需要开启。剩余配额(字节)。 |
时间配额
基于时间的方案模块配额/余额信息。
JSON 表示法 | |
---|---|
{ "quotaMinutes": string, "remainingMinutes": string } |
字段 | |
---|---|
quotaMinutes |
基于时间的方案的模块配额,例如,180 分钟。 |
remainingMinutes |
基于时间的方案的剩余配额分钟数,例如40 分钟。 |
平衡等级
粗略的套餐模块余额信息。
枚举 | |
---|---|
BALANCE_LEVEL_UNSPECIFIED |
未指定。 |
NO_PLAN |
没有流量套餐。 |
OUT_OF_DATA |
剩余数据流量为零。 |
LOW_QUOTA |
流量余额(或剩余时间)不超过原始流量包余额(或时间的 10-25%)。运营商可以根据自己的需要确定每个礼包的确切阈值。 |
HIGH_QUOTA |
流量余额(即剩余时间)超过原始流量包余额(或时间)的 10-25%。运营商可以根据自己的需要确定每个礼包的确切阈值。流量余额高。 |
计划模块流量类别
计划模块流量类别,用于说明属于特定计划模块的一组应用流量。
枚举 | |
---|---|
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED |
未指定。 |
GENERIC |
适用于所有流量。 |
VIDEO |
所有视频流量。 |
VIDEO_BROWSING |
视频发现(浏览)流量,是指除视频/音频流部分之外的所有视频应用流量。 |
VIDEO_OFFLINE |
视频离线流量,即 VIDEO_BROWSING 和视频离线音频(非流式传输)流量的总和。 |
MUSIC |
音乐应用流量。 |
GAMING |
游戏应用流量。 |
SOCIAL |
社交应用流量。 |
MESSAGING |
即时通讯应用流量。 |
APP_STORE |
应用商店流量,例如更新或下载新应用。 |
过度使用政策
过度使用政策:用户用完配额后会发生什么。
枚举 | |
---|---|
OVER_USAGE_POLICY_UNSPECIFIED |
未指定。 |
THROTTLED |
限速。 |
BLOCKED |
连接被阻止。 |
PAY_AS_YOU_GO |
按用量计费。 |
计划状态
表示用户计划/计划模块的不同状态的枚举。
枚举 | |
---|---|
ACTIVE |
方案/PlanModule 处于活动状态,并且用户可以使用在模块中提供的数据。 |
INACTIVE |
计划/计划模块处于非活动状态,并且当用户仍然拥有该模块时,用户无法使用属于该模块的数据。如果模块仅在一天的某些时段提供数据,或者用户已购买模块但尚未激活,就可能会发生这种情况。 |
EXPIRING_SOON |
Plan/PlanModule 即将到期。调用方应选择适当的级别来确定何时设置此值。这会自动意味着该方案处于有效状态。 |
NEWLY_ACTIVE |
之前处于无效或不存在的方案/PlanModule 刚刚激活。此状态只能在启用时间后的一小段时间内使用,否则应改为使用 ACTIVE 状态。使用 NEWLY_ACTIVE 模块发送的流量套餐状态通知应具有较短的 TTL,因为 NEWLY_ACTIVE 状态很快就会变得不准确。 |
EXPIRED |
Plan/PlanModule 已过期。设置此枚举值会触发方案过期通知。 |
RefreshPeriod
表示刷新周期,即计划模块重置的固定时间间隔。
枚举 | |
---|---|
REFRESH_PERIOD_NONE |
无刷新周期。在方案模块不周期性时使用。 |
DAILY |
方案模块每天都会重置。 |
MONTHLY |
方案模块每月重置。 |
BIWEEKLY |
方案模块每两周重置一次。 |
WEEKLY |
方案模块每周重置。 |
AccountInfo
关于预付费用户帐号余额的信息。
JSON 表示法 | |
---|---|
{ "accountBalance": { object ( |
字段 | |
---|---|
accountBalance |
必需。用户帐号的剩余帐号余额。 |
loanBalance |
如果适用,则必须提供。使用运营商提供的货币贷款添加的用户帐号的剩余帐号余额。如果存在,则 accountBalance 不包含余额。 |
unpaidLoan |
用户因货币贷款欠运营商的金额。 |
accountBalanceStatus |
必需。指明帐号余额的状态。如果 validUntil 时间与 accountBalanceStatus 字段不一致,我们会使用 accountBalanceStatus。 |
validUntil |
必需。帐号余额的有效期。此字段将用于 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: |
payAsYouGoCharge |
“随用随付”方案下用户支出的金额。如果在与 GTAF 共享帐号信息时运营商填充此字段,GTAF 将尝试向用户发送通知,告知用户他们正在采用随用随付模式进行消费。 |
accountTopUp |
必须提供帐号充值通知。用户已添加到自己帐号余额中的金额。如果在与 GTAF 共享帐号信息时运营商填充此字段,GTAF 将尝试向用户发送通知,告知其帐号已充值。 |
金额
表示含有货币类型的金额。
JSON 表示法 | |
---|---|
{ "currencyCode": string, "units": string, "nanos": integer } |
字段 | |
---|---|
currencyCode |
ISO 4217 中定义的由 3 个字母组成的货币代码。 |
units |
金额的整数单位。例如,如果 |
nanos |
金额的纳诺 (10^-9) 单位数。这个值必须在 -999999999(含)和 +999999999(含)之间。如果 |
帐号余额状态
用户电子钱包的状态。
枚举 | |
---|---|
VALID |
用户帐号余额有效,可用于购物。 |
INVALID |
用户帐号余额无效,未对帐号进行任何更改即可使用帐号余额。 |
界面兼容性
表示是否可以向用户显示的 PlanStatus 的枚举。
枚举 | |
---|---|
UI_COMPATIBILITY_UNSPECIFIED |
默认情况下,我们会假定 PlanStatus 与界面兼容。 |
UI_COMPATIBLE |
表示整个 PlanStatus 与界面兼容,并且可向用户显示方案信息。 |
UI_INCOMPATIBLE |
表示 PlanStatus 并非界面兼容性。字段可用于向用户发送通知,但不能用于向用户显示方案信息。 |
通知类型
发送给移动流量套餐用户的通知类型。
枚举 | |
---|---|
NOTIFICATION_UNDEFINED |
未知通知类型类型 |
NOTIFICATION_LOW_BALANCE_WARNING |
提醒用户余额不足的通知 |
NOTIFICATION_DATA_EXPIRATION_WARNING |
警告用户流量套餐即将到期的通知 |
NOTIFICATION_OUT_OF_DATA |
用户数据用尽的通知 |
NOTIFICATION_PLAN_ACTIVATION |
用户已购买的方案现已生效的通知 |
NOTIFICATION_PAY_AS_YOU_GO |
一条通知,告知用户他们采用随用随付状态付费。 |
NOTIFICATION_ACCOUNT_TOP_UP |
通知用户他们已为自己的帐号余额充值。 |
NOTIFICATION_DATA_EXPIRED |
通知用户他们的流量套餐已过期。 |
每个客户端的信息
与特定 Google 客户相关的流量套餐信息。
JSON 表示法 | |
---|---|
{ "youtube": { object ( |
字段 | |
---|---|
youtube |
YouTube 相关方案信息。 |
androidSystemInfo |
与 Android 系统相关的计划信息。 |
YouTube
与 YouTube 相关的流量套餐信息。
JSON 表示法 | |
---|---|
{
"rateLimitedStreaming": {
object ( |
字段 | |
---|---|
rateLimitedStreaming |
YouTube 计划感知流式传输 (PAS) 功能,用于限制正在传输的视频的码率。 |
速率限制流
流量套餐信息,可让 YouTube 提升受限的直播用户体验。
JSON 表示法 | |
---|---|
{ "maxMediaRateKbps": integer } |
字段 | |
---|---|
maxMediaRateKbps |
该用户的 YouTube 比特率,单位为 kbps(每秒 1000 位数)。 |
Android 系统信息
与整个 Android 系统相关的流量套餐信息。
JSON 表示法 | |
---|---|
{
"cellularInfo": [
{
object ( |
字段 | |
---|---|
cellularInfo[] |
每种连接类型的移动网络信息。例如,系统会针对每种网络连接类型(例如 4G、5G 等)显示一条移动数据网络信息。 |
移动网络信息
套餐为用户提供的移动网络连接的相关信息。
JSON 表示法 | |
---|---|
{ "connectionType": enum ( |
字段 | |
---|---|
connectionType |
运营商向用户提供的连接类型。 |
meteredness |
用户计划的按流量计费状态。 |
连接类型
网络连接类型:2G、3G、4G
枚举 | |
---|---|
CONNECTION_TYPE_UNSPECIFIED |
未指定。 |
CONNECTION_2_G |
2G |
CONNECTION_3_G |
3G |
CONNECTION_4_G |
4G。 |
CONNECTION_5_G |
5G。 |
CONNECTION_ALL |
我喜欢所有类型的音乐。 |
计量供给
用户拥有的方案类型
枚举 | |
---|---|
METEREDNESS_UNSPECIFIED |
GTAF 不知道用户计划的计量供给状态。 |
METEREDNESS_UNMETERED |
用户使用的是不按流量计费的方案。 |
METEREDNESS_METERED |
用户使用的是按流量计费的方案。 |
CpidState
表示运营商的 CPID 状态的枚举。
枚举 | |
---|---|
CPID_STATE_UNSPECIFIED |
未指定 CPID 的状态。系统会将 CPID 视为有效。 |
CPID_INVALIDATED |
CPID 已失效,客户端应从 CPID 端点提取新的 CPID。 |
方法 |
|
---|---|
|
允许移动运营商(通过其唯一的自治系统编号 (ASN) 识别)添加新的方案状态条目,以供特定的客户使用。 |