跳到內容

裝置身分與計費

FortressFlag 按裝置計費,而不是按應用程式:這套模型裡,一支手機跑著你的三個應用程式算一個席次,而不是三個。這一頁解釋讓這件事成立的身分、它對你的帳單意味著什麼,以及各平台的事實,包括一席次承諾在哪裡需要設定、在哪裡還不成立。這些都值得在它們變成帳單上的數字之前先知道。

一個席次就是一台每月活躍裝置

Section titled “一個席次就是一台每月活躍裝置”

你一個月的用量,是該日曆月(UTC)內曾要求 flag 的不同裝置數量,橫跨你所有的環境和應用程式。輪詢一次的裝置算一次;輪詢一萬次的裝置也算一次。高效的輪詢不會讓帳單膨脹,安靜的月份花費更少。

身分是鑄造出來的,不是推導出來的

Section titled “身分是鑄造出來的,不是推導出來的”

你的某個應用程式第一次在某台裝置上啟動 SDK 時,SDK 會鑄造一個隨機識別碼(dev_ 後面接 22 個字元)並把它存在裝置上。整個身分就只有這樣:

  • 隨機,絕不推導。它不是廣告 ID,不是硬體序號,也不是關於你的使用者的任何東西的雜湊。它無法反推回一個人,也不會把不同廠商應用程式之間的活動串起來。在 GDPR 之下它是一個假名化識別碼:我們把它當作個人資料看待,而它的設計讓它承載的資訊少到一個識別碼所能承載的最低限度。
  • 每台裝置穩定。在 iOS 上,你的應用程式可以透過共用的鑰匙圈存取群組共用一個身分,所以同一支 iPhone 上你的三個應用程式算一台裝置:按裝置計費的承諾,由結構本身守住。在 Android 上,目前身分是依應用程式的:你的每個應用程式各自鑄造,各自計算。
  • 可重設。每個 SDK 都提供一個重設功能,會刪除並重新鑄造身分,這就是這個識別碼的清除途徑。誠實的後果是:重設之後,這台裝置會被算成新的一台。

模擬器會被服務,但永遠不計費

Section titled “模擬器會被服務,但永遠不計費”

在模擬器或模擬環境裡執行的建置,會改為鑄造一個 sim_ 身分。FortressFlag 為它們提供 flag 的方式和真實裝置完全一樣,並把它們完全排除在計量之外:你的團隊的模擬器、你的 CI 和你的自動化瀏覽器測試,永遠不會花掉你一個席次。(在 Web 上,透過 navigator.webdriver 表明身分的自動化瀏覽器會得到 sim_ 身分:你的 Playwright 和 Cypress 測試套件都在涵蓋範圍內。)

你的用量畫面會顯示每天真實流量與模擬器流量的比例,所以一個設定錯誤、把模擬器當裝置計費的建置(或把裝置藏成模擬器的建置)是看得見的,不會悄無聲息。

每個平台都會以該平台允許的最持久方式儲存身分,而沒有任何平台允許永遠保存。這些是你實際會觀察到的後果:

  • iOS:身分存在鑰匙圈裡,應用程式解除安裝後仍然保留。它永遠不會同步到 iCloud:一個隨著備份跑到第二支 iPhone 上的身分,會把一台裝置算成兩台。
  • Android:身分在你的應用程式被解除安裝時清除,重新安裝會鑄造新的身分,也就是一台新的計費裝置。這是平台事實,已經計入價格。
  • Web:身分存在瀏覽器以來源為範圍的儲存空間裡。私密/無痕視窗會鑄造一個用完即丟的身分,在該工作階段期間算一台裝置;使用者清除網站資料也會變成一台新裝置。另外:一個人同時使用你的網站、iOS 應用程式和 Android 應用程式,最多算三台裝置,每個平台一台。沒有跨平台的串接,這是設計如此。

試用以及超出額度時會發生什麼

Section titled “試用以及超出額度時會發生什麼”

每個試用都包含 1,000 台每月活躍裝置,而且試用永遠不會因為時間到期,你想評估多久都可以。如果某個月的裝置數量超過了這個級距,執行會分階段到來,絕不會是斷崖:

  1. 立刻:儀表板裡對你團隊每個人顯示一條橫幅。
  2. 超出 14 天後:儀表板變成唯讀。flag 照常提供,只是在你購買或用量降下來之前無法變更。
  3. 超出 28 天後:前 1,000 台以外的裝置會收到 flag 的預設值。前 1,000 台裝置全程保有真實的值:你最早的使用者永遠不會是被降級的那群。

購買付費方案會立即清除以上所有狀態。

計量需要計算不同的裝置,所以原始裝置識別碼會保留 13 個月(足夠一整年的用量歷史加上進行中的這個月),然後丟棄。你的用量畫面顯示目前週期和 12 個月的歷史。傳到我們付款處理商那邊的是裝置數量,永遠不是裝置識別碼。