- 資源:PlanStatus
- JSON 表示法
- 方案
- PlanCategory
- PlanModule
- ByteQuota
- TimeQuota
- BalanceLevel
- PlanModuleTrafficCategory
- OverUsagePolicy
- PlanState
- RefreshPeriod
- AccountInfo
- 收益
- AccountBalanceStatus
- UiCompatibility
- NotificationType
- PlanInfoPerClient
- YouTube
- RateLimitedStreaming
- AndroidSystemInfo
- CellularInfo
- ConnectionType
- 計量
- CpidState
- 方法
資源: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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
updateTime |
必要欄位。資料方案代理程式 (DPA) 從後端系統擷取方案狀態資訊的時間。可用於判斷方案狀態資訊的更新時間,更新時間必須是過去的時間,但不能超過 30 天。 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
title |
使用者與電信業者簽訂的合約名稱。這會顯示在 UI 標題中。 |
subscriberId |
電信系統中用於識別使用者的專屬固定 ID。 |
accountInfo |
預付型使用者必須提供。使用者帳戶餘額的相關資訊。 |
uiCompatibility |
決定是否要在使用者介面中向使用者顯示 PlanStatus。如果設為 UI_INCOMPATIBLE,PlanStatus 可用於傳送通知給使用者,但不會用於向使用者顯示方案資訊。 |
notifications[] |
包含 GTAF 傳送給使用者的通知類型清單。如果呼叫端填入這個欄位,GTAF 會忽略該欄位。 |
planInfoPerClient |
與特定 Google 用戶端相關的資料方案資訊。 |
cpidState |
與此方案狀態相關聯的 CPID 狀態。 |
方案
使用者的行動方案詳細資料,也就是訂閱者購買的頂層行動服務套裝組合。方案可以很簡單,例如「10 GB 行動數據,效期 30 天」,也可以定義為一組元件 (我們稱為方案模組)。舉例來說,ACME 方案 199 的說明為「2GB 資料、無限量 WhatsApp + 無限量 WeChat,以及 1GB Spotify」,包含三個方案模組。
JSON 表示法 | |
---|---|
{ "planName": string, "planId": string, "planCategory": enum ( |
欄位 | |
---|---|
planName |
使用者的行動方案名稱。 |
planId |
必要欄位。方案 ID,用於在優惠等活動中參照方案。 |
planCategory |
預付或後付方案。 |
expirationTime |
必要欄位。這項方案到期時,在大多數方案中,這應等於所有方案模組特定到期時間的最大值。如果方案會定期更新模組配額,這應該是方案的整體到期時間,也就是方案模組停止更新的時間。如果方案不會過期,請省略這個欄位。 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
planModules[] |
詳細的方案模組 (子方案) 資訊。 |
planState |
使用者方案的狀態,例如有效、停用等。 |
PlanCategory
可能的方案類別類型。
列舉 | |
---|---|
PLAN_CATEGORY_UNSPECIFIED |
未指明 |
PREPAID |
預付方案。 |
POSTPAID |
後付方案。 |
PlanModule
方案中每個資料方案模組 (或子方案) 的資訊。
JSON 表示法 | |
---|---|
{ "coarseBalanceLevel": enum ( |
欄位 | ||
---|---|---|
coarseBalanceLevel |
概略餘額資訊。 |
|
trafficCategories[] |
系統會根據這份清單,針對這個方案模組收取費用。 |
|
expirationTime |
必要欄位。規劃模組的特定到期時間。如果是配額會定期更新的方案模組,這就是下次模組更新的時間。如果方案模組不會過期,請省略這個欄位。 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
|
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 |
以時間為準的方案模組餘額資訊。對於定期更新的模組,這個欄位代表每個更新週期的時間餘額。 |
ByteQuota
以位元組為準的方案模組配額/餘額資訊。
JSON 表示法 | |
---|---|
{ "quotaBytes": string, "remainingBytes": string } |
欄位 | |
---|---|
quotaBytes |
模組配額 (以位元組為單位)。如果是無限方案,請設為 2^63 - 1 (9223372036854775807)。 |
remainingBytes |
這是接收餘額偏低通知的必要條件。以位元組為單位的剩餘配額。 |
TimeQuota
以時間為準的方案模組配額/餘額資訊。
JSON 表示法 | |
---|---|
{ "quotaMinutes": string, "remainingMinutes": string } |
欄位 | |
---|---|
quotaMinutes |
以分鐘為單位的時間型方案模組配額,例如 180 分鐘。 |
remainingMinutes |
以分鐘為單位的剩餘配額,適用於以時間為準的方案,例如 40 分鐘。 |
BalanceLevel
概略方案模組資料餘額資訊。
列舉 | |
---|---|
BALANCE_LEVEL_UNSPECIFIED |
未指明 |
NO_PLAN |
沒有數據方案。 |
OUT_OF_DATA |
資料餘額為零。 |
LOW_QUOTA |
數據方案餘額 (或剩餘時間) 等於或低於原始方案餘額 (或時間) 的 10% 至 25%。貨運公司可視情況決定每個包裝的確切門檻。 |
HIGH_QUOTA |
剩餘數據用量 (或時間) 仍有原始方案用量 (或時間) 的 10% 至 25%。貨運公司可視情況決定每個包裝的確切門檻。資料餘額偏高。 |
PlanModuleTrafficCategory
方案模組流量類別,說明屬於特定方案模組的一組應用程式流量。
列舉 | |
---|---|
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED |
未指明 |
GENERIC |
一般,適用於所有流量。 |
VIDEO |
所有影片流量。 |
VIDEO_BROWSING |
影片探索 (瀏覽) 流量:指所有影片應用程式流量,但不包括影片/音訊串流部分。 |
VIDEO_OFFLINE |
影片離線流量,也就是 VIDEO_BROWSING 和影片/音訊離線 (非串流) 流量的總和。 |
MUSIC |
音樂應用程式流量。 |
GAMING |
遊戲應用程式流量。 |
SOCIAL |
社群應用程式流量。 |
MESSAGING |
訊息應用程式流量。 |
APP_STORE |
應用程式商店流量,例如更新或下載新應用程式。 |
OverUsagePolicy
用量超出上限政策:使用者配額用盡時會發生什麼情況。
列舉 | |
---|---|
OVER_USAGE_POLICY_UNSPECIFIED |
未指明 |
THROTTLED |
速度受到限制。 |
BLOCKED |
連線遭到封鎖。 |
PAY_AS_YOU_GO |
用多少付多少。 |
PlanState
列舉,代表使用者方案/方案模組的不同狀態。
列舉 | |
---|---|
ACTIVE |
方案/方案模組處於啟用狀態,使用者可以運用模組提供的資料。 |
INACTIVE |
方案/方案模組已停用,使用者雖然仍有該模組,但無法使用模組中的資料。如果模組只在一天中的特定時間提供資料,或是使用者已購買模組但尚未啟用,就可能發生這種情況。 |
EXPIRING_SOON |
方案/方案模組即將到期。呼叫端應選擇適當的層級,判斷何時設定這個值。這表示方案已自動啟用。 |
NEWLY_ACTIVE |
先前處於非啟用狀態或不存在的 Plan/PlanModule 剛啟用。這個狀態只能在啟用時間後的一小段時間內使用,否則應改用「有效」狀態。使用 NEWLY_ACTIVE 模組傳送的資料方案狀態通知應使用較短的 TTL,因為 NEWLY_ACTIVE 狀態很快就會變得不準確。 |
EXPIRED |
方案/方案模組已過期。設定這個列舉值會觸發方案到期通知。 |
RefreshPeriod
代表重新整理週期,即方案模組重設的固定間隔。
列舉 | |
---|---|
REFRESH_PERIOD_NONE |
沒有重新整理期限。用於方案模組非週期性時。 |
DAILY |
方案模組每天都會重設。 |
MONTHLY |
方案模組會在每個月重設。 |
BIWEEKLY |
計畫模組每兩週會重設一次。 |
WEEKLY |
每週都會重設計畫模組。 |
AccountInfo
預付型使用者的帳戶餘額相關資訊。
JSON 表示法 | |
---|---|
{ "accountBalance": { object ( |
欄位 | |
---|---|
accountBalance |
必要欄位。使用者帳戶的剩餘帳戶餘額。 |
loanBalance |
必要 (如適用)。電信業者提供貨幣貸款,並新增至使用者帳戶的剩餘帳戶餘額。如果有的話,欄位 accountBalance 不會包含這筆餘額。 |
unpaidLoan |
使用者因金錢貸款而積欠電信業者的金額。 |
accountBalanceStatus |
必要欄位。顯示帳戶餘額狀態。如果 validUntil 時間與 accountBalanceStatus 欄位不符,我們會使用 accountBalanceStatus。 |
validUntil |
必要欄位。帳戶餘額的有效期限。這個欄位會向使用者顯示帳戶餘額「在『 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
payAsYouGoCharge |
使用者在隨用隨付狀態下使用方案所花費的金額。如果電信業者在與 GTAF 分享帳戶資訊時填入這個欄位,GTAF 會嘗試傳送通知給使用者,指出他們目前處於隨用隨付狀態。 |
accountTopUp |
帳戶儲值通知必須提供這項資訊。使用者已存入帳戶餘額的金額。如果電信業者在與 GTAF 分享帳戶資訊時填入這個欄位,GTAF 會嘗試傳送通知給使用者,說明帳戶已加值。 |
金額
代表金額與其貨幣類型。
JSON 表示法 | |
---|---|
{ "currencyCode": string, "units": string, "nanos": integer } |
欄位 | |
---|---|
currencyCode |
ISO 4217 定義的貨幣代碼,由 3 個字母組成。 |
units |
金額的整數單位。舉例來說,如果 |
nanos |
金額的十億分之一 (10^-9) 單位數量。這個值必須介於 -999,999,999 和 +999,999,999 (含) 之間。如果 |
AccountBalanceStatus
使用者錢包的狀態。
列舉 | |
---|---|
VALID |
使用者帳戶餘額有效,可用於購物。 |
INVALID |
使用者帳戶餘額無效,必須變更帳戶才能使用。 |
UiCompatibility
列舉,表示是否可向使用者顯示共用的 PlanStatus。
列舉 | |
---|---|
UI_COMPATIBILITY_UNSPECIFIED |
根據預設,我們會假設 PlanStatus 與 UI 相容。 |
UI_COMPATIBLE |
表示整個 PlanStatus 與 UI 相容,且可向使用者顯示方案資訊。 |
UI_INCOMPATIBLE |
表示 PlanStatus 與 UI 不相容。這些欄位可用於傳送通知給使用者,但無法向使用者顯示方案資訊。 |
NotificationType
傳送給行動數據方案設定使用者的通知類型。
列舉 | |
---|---|
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 |
通知使用者數據方案已過期的訊息。 |
PlanInfoPerClient
與特定 Google 用戶端相關的資料方案資訊。
JSON 表示法 | |
---|---|
{ "youtube": { object ( |
欄位 | |
---|---|
youtube |
YouTube 相關方案資訊。 |
androidSystemInfo |
與 Android 系統相關的方案資訊。 |
YouTube
與 YouTube 相關的數據方案資訊。
JSON 表示法 | |
---|---|
{
"rateLimitedStreaming": {
object ( |
欄位 | |
---|---|
rateLimitedStreaming |
YouTube 方案感知串流 (PAS) 功能,可限制影片的傳輸位元率。 |
RateLimitedStreaming
資料方案資訊,可讓 YouTube 提升受速率限制的串流使用者體驗。
JSON 表示法 | |
---|---|
{ "maxMediaRateKbps": integer } |
欄位 | |
---|---|
maxMediaRateKbps |
YouTube 為這位使用者支援的位元率,以 kbps 為單位 (每秒 1000 位元)。 |
AndroidSystemInfo
與整個 Android 系統相關的數據方案資訊。
JSON 表示法 | |
---|---|
{
"cellularInfo": [
{
object ( |
欄位 | |
---|---|
cellularInfo[] |
各連線類型的行動網路資訊。舉例來說,每種連線類型 (例如 4G、5G 等) 都會有一則 cellularInfo 訊息。 |
CellularInfo
方案為使用者提供的行動網路連線相關資訊。
JSON 表示法 | |
---|---|
{ "connectionType": enum ( |
欄位 | |
---|---|
connectionType |
電信業者提供給使用者的連線類型。 |
meteredness |
使用者方案的計量狀態。 |
ConnectionType
連線類型: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) 識別) 可為使用者新增 PlanStatus 項目,供特定用戶端使用。 |