跳到內容

建立你的第一個 flag

接下來幾分鐘,你會建立一個 FortressFlag 帳戶、扳動一個真實的 flag,並看到這個變更落在你的應用程式將來會讀取的同一份 API 回應裡。目前還不需要安裝 SDK,只要在最後準備一個終端機。

前往儀表板的註冊頁面,建立你的組織。你會取一個名稱、設定電子郵件和密碼,並接受服務協議:一個核取方塊,涵蓋旁邊連結的整組文件。

整張表單就這樣。你的試用會立刻開始,包含 1,000 台每月活躍裝置,而且永遠不會因為時間到期。照你自己的步調評估。

你登入後的身分是這個組織的 Owner,而且已經有東西可以看了:一個 Example 專案,有兩個環境(dev 和 production)和三個狀態合理的布林 flag:

  • new-checkout:在所有環境都是關閉,等著它的發布
  • dark-mode:在 dev 開啟,在 production 關閉
  • beta-banner:兩邊都開啟

這是你的沙盒。這一頁接下來做的每件事都發生在 dev 環境,你可以在那裡隨意更改任何東西。

打開 Example 專案,找到 new-checkout,在 dev 把它切換為開啟。這是一次真實的變更:對每一台讀取這個環境的裝置都已生效,它會出現在你的稽核紀錄裡,而且你馬上就會從 API 看到它。

(在 production 試同樣的事,你會注意到儀表板的處理方式不同:正式環境類別的環境會有更醒目的樣式和更嚴格的規則。那就是角色與安全在運作。)

要像應用程式一樣讀取 flag,你需要一把用戶端金鑰。在 Example 專案裡打開 SDK 金鑰,為 dev 環境鑄造一把。

完整的金鑰(開頭是 ffc_dev_)只會顯示一次,就是現在。複製它。離開這個畫面之後,清單只會顯示足以辨認它的部分。(弄丟了?再鑄造一把,然後撤銷第一把。金鑰很便宜,撤銷是即時的。)

向用戶端 API 要求這台裝置的 flag,也就是每個 SDK 都會發出的同一個請求。把你剛複製的金鑰放進一個變數,然後:

Terminal window
export FF_SDK_KEY="(你剛鑄造的 ffc_dev_ 金鑰)"
curl -s "https://edge.fortressflag.com/v1/client/flags?environment=dev" \
-H "Authorization: Bearer $FF_SDK_KEY" \
-H "X-FF-Device: dev_8KqW3nR2vT7yLp0aZxQmBg" \
| jq -r .payload | tr '_-' '/+' | base64 -d | jq

(回應把資料包在一個經過編碼的 payload 裡,最後三個管線階段負責解開它。X-FF-Device 標頭帶著一個裝置身分;SDK 會自己鑄造,而對終端機實驗來說,任何格式正確的值都可以。)

你會拿到和 dev 裡的裝置一模一樣的內容:

{
"v": 1,
"tenant": "…你的組織 id…",
"environment": "dev",
"device": "dev_8KqW3nR2vT7yLp0aZxQmBg",
"issuedAt": "2026-08-23T15:00:00Z",
"expiresAt": "2026-08-23T15:30:00Z",
"flags": {
"new-checkout": true,
"dark-mode": true,
"beta-banner": true
}
}

看到 new-checkout: true 了:你的切換,已經送達。在儀表板把它切回關閉,再跑一次 curl,看著它跟上。就這樣,你已經完成了第一次 flag 變更,並從資料平面讀到了它。