- 資源: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 的「Zulu」格式時間戳記,單位為奈秒解析度,最多可達九位數。範例: |
updateTime |
必要,數據方案代理程式 (DPA) 從後端系統擷取方案狀態資訊的時間。可用來判斷方案狀態資訊的近期日期。更新時間必須是過去的時間,但不得超過 30 天。 RFC3339 UTC 的「Zulu」格式時間戳記,單位為奈秒解析度,最多可達九位數。範例: |
title |
使用者與電信業者的合約名稱。這會顯示在使用者介面標頭中。 |
subscriberId |
電信業者系統中的不重複穩定 ID,用於識別使用者。 |
accountInfo |
僅適用於預付使用者。使用者帳戶餘額的相關資訊。 |
uiCompatibility |
決定是否要在使用者介面向使用者顯示 PlanStatus。設為 UI_INCOMPATIBLE 時,PlanStatus 可用來傳送通知,不會向使用者顯示企劃書資訊。 |
notifications[] |
包含 GTAF 傳送給使用者的通知類型清單。如果呼叫者填入這個欄位,GTAF 就會忽略這個欄位。 |
planInfoPerClient |
與特定 Google 客戶相關的數據方案資訊。 |
cpidState |
與這個企劃書狀態相關聯的 CPID 狀態。 |
方案
使用者的行動資費方案,其中包含訂閱者購買的頂層行動服務方案。方案可以簡單來說為「10 GB 的 30 天行動數據」;也可以定義為一組元件 (稱為方案模組)。例如,ACME 方案 199,描述為「2GB 資料」、「無限制的 WhatsApp + 無限即時通訊和 1 GB Spotify」,包含三個方案模組。
JSON 表示法 | |
---|---|
{ "planName": string, "planId": string, "planCategory": enum ( |
欄位 | |
---|---|
planName |
使用者的行動方案名稱, |
planId |
必要,方案 ID,用於在優惠期間參照方案等。 |
planCategory |
預付或後付方案。 |
expirationTime |
必要,方案到期後。對於大多數方案,這個時間長度應等於所有方案模組專屬到期時間的最大值。對於會定期重新整理模組配額的方案,這應為整體方案到期時間,也就是方案模組停止重新整理的時間。如果方案未過期,則可略過這個欄位。 RFC3339 UTC 的「Zulu」格式時間戳記,單位為奈秒解析度,最多可達九位數。範例: |
planModules[] |
詳細方案模組 (子方案) 資訊。 |
planState |
使用者方案的狀態,例如有效、無效。 |
方案類別
可能的企劃書類別類型。
列舉 | |
---|---|
PLAN_CATEGORY_UNSPECIFIED |
未指明 |
PREPAID |
預付方案。 |
POSTPAID |
後付方案, |
規劃模組
方案中每個數據方案模組 (或子方案) 的資訊。
JSON 表示法 | |
---|---|
{ "coarseBalanceLevel": enum ( |
欄位 | ||
---|---|---|
coarseBalanceLevel |
粗略餘額資訊。 |
|
trafficCategories[] |
系統將根據這個企劃書模組計費的流量類別清單。 |
|
expirationTime |
必要,方案模組的特定到期時間。如果是會定期重新整理配額的企劃書模組,這是指下次更新模組的時間。如果方案模組並無任何到期時間,則可略過這個欄位。 RFC3339 UTC 的「Zulu」格式時間戳記,單位為奈秒解析度,最多可達九位數。範例: |
|
overUsagePolicy |
超額使用政策,例如節流。 |
|
maxRateKbps |
這個方案模組允許的資料速率上限 (Kbps)。視網路狀況而定,觀察到的實際資料速率介於 0 和 maxRateKbps 之間。如果省略 maxRateKbps 或設為 0,則表示不要對這個方案模組執行節流。 |
|
description |
必要,方案模組的說明可能會向使用者顯示,因此應接近企劃書模組的市場說明。 |
|
moduleName |
必要,方案模組的名稱。 |
|
usedBytes |
使用者使用這個方案模組的位元組數。 |
|
planModuleState |
企劃書模組的狀態,例如「有效」、「無效」 |
|
refreshPeriod |
這個方案模組的重新整理週期,如果方案模組未重新整理配額,則傳回 REFRESH_PERIOD_NONE。重新整理配額的計畫模組會在每次重新整理週期執行一次。 |
|
聯集欄位 balance 。必要,方案模組餘額資訊,應為下列其中一種:bytes_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 |
先前已啟用或不存在的 Planning/PlanModule。此狀態只應在啟用時間後的極短時間內使用,否則應改用「ACTIVE 狀態」。使用 NEWLY_ACTIVE 模組傳送數據方案狀態通知時,應使用短期 TTL,因為 NEWLY_ACTIVE 狀態很快會變得準確。 |
EXPIRED |
Plan/PlanModule 已過期。設定這個列舉值會觸發方案過期的通知。 |
重新整理週期
代表重新整理週期,也就是重設企劃書模組的固定間隔。
列舉 | |
---|---|
REFRESH_PERIOD_NONE |
沒有重新整理週期。如果方案模組並非週期性,應使用這個選項。 |
DAILY |
方案模組每天都會重設。 |
MONTHLY |
這個方案模組會每月重設一次。 |
BIWEEKLY |
計劃模組每兩週重設一次。 |
WEEKLY |
這個方案模組每週都會重設。 |
AccountInfo
預付使用者的帳戶餘額資訊。
JSON 表示法 | |
---|---|
{ "accountBalance": { object ( |
欄位 | |
---|---|
accountBalance |
必要,使用者帳戶的帳戶餘額。 |
loanBalance |
必要項目。用電信業者的貸款儲值後的使用者帳戶餘額。如果有的話,帳戶 accountBalance 不會包含此餘額。 |
unpaidLoan |
使用者因電信業者貸款而積欠電信業者的金額。 |
accountBalanceStatus |
必要,表示帳戶餘額。如果 validUntil 時間與 accountBalanceStatus 欄位不符,我們會使用 accountBalanceStatus。 |
validUntil |
必要,帳戶餘額的有效期間。這個欄位會用來向顯示剩餘帳戶餘額, RFC3339 UTC 的「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 (含) 之間。如果 |
帳戶餘額
使用者錢包的狀態。
列舉 | |
---|---|
VALID |
使用者帳戶餘額有效,可用於購買交易。 |
INVALID |
使用者帳戶餘額無效,且您必須在未進行變更的情況下才能使用。 |
Ui 相容性
用來表示能否向使用者顯示共用 Planning 狀態的列舉。
列舉 | |
---|---|
UI_COMPATIBILITY_UNSPECIFIED |
根據預設,我們會假設 PlanStatus 與 UI 相容。 |
UI_COMPATIBLE |
表示整個 PlanStatus 與 UI 相容,且系統會向使用者顯示方案資訊。 |
UI_INCOMPATIBLE |
表示 PlanStatus 不與 UI 相容。欄位可用來傳送通知給使用者,但不能用來向使用者顯示方案資訊。 |
通知類型
傳送給行動數據方案設定的通知類型。
列舉 | |
---|---|
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 Plan Aware Streaming (PAS) 功能,限制影片的放送位元率。 |
RateLimitedStreaming
數據方案資訊,用於協助 YouTube 改善頻率限制的串流使用者體驗。
JSON 表示法 | |
---|---|
{ "maxMediaRateKbps": integer } |
欄位 | |
---|---|
maxMediaRateKbps |
這位使用者支援的 YouTube 位元率 (kbps (每秒 1000 和 39 個位元)。 |
Android 系統資訊
與整個 Android 系統相關的數據方案資訊。
JSON 表示法 | |
---|---|
{
"cellularInfo": [
{
object ( |
欄位 | |
---|---|
cellularInfo[] |
每種連線類型的行動資訊。例如,每種連線類型 (例如 4G、5G 都有) 會有一則 mobileInfo 訊息。 |
行動網路資訊
方案為使用者提供行動網路連線的相關資訊。
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 項目,供特定用戶端使用。 |