

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS AppConfig 瀏覽器和行動使用考量事項
<a name="appconfig-retrieving-mobile"></a>

功能旗標可讓您即時更新網頁和行動應用程式的體驗，而無需應用程式存放區版本的額外負荷、風險或剛性。使用功能旗標，您可以在您選擇的時間逐漸向使用者群發佈變更。如果您遇到錯誤，您可以立即轉返變更，而不需要使用者升級至新的軟體版本。簡言之，在將變更部署到您的應用程式時，功能旗標可提供更大的控制和彈性。

下列各節說明搭配網頁和行動裝置使用 AWS AppConfig 功能旗標的重要考量。

**Topics**
+ [組態資料和旗標擷取](#appconfig-retrieving-mobile-configuration-data)
+ [身分驗證和 Amazon Cognito](#appconfig-retrieving-mobile-authentication)
+ [快取](#appconfig-retrieving-mobile-caching)
+ [區隔](#appconfig-retrieving-mobile-segmentation)
+ [頻寬 （行動使用案例）](#appconfig-retrieving-mobile-experience-bandwidth)
+ [其他標記使用案例](#appconfig-retrieving-mobile-use-cases)

## 組態資料和旗標擷取
<a name="appconfig-retrieving-mobile-configuration-data"></a>

對於瀏覽器和行動使用案例，許多客戶選擇在 Web 或行動應用程式與 之間使用代理層 AWS AppConfig。這樣做會將您的 AWS AppConfig 通話量與使用者群的大小分離，進而降低成本。它還可讓您利用 [AWS AppConfig 代理](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-agent-how-to-use.html)程式，以最佳化旗標擷取效能，並支援[諸如多變數 flags](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-multi-variant-feature-flags.html). AWS AppConfig recommends 等功能 AWS Lambda ，使用 來建立代理。設定 [AWS AppConfig Lambda 延伸](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-lambda-extensions.html)以擷取 Lambda 函數中的功能旗標 AWS AppConfig，而不是直接從中擷取旗標。撰寫 函數以接受來自事件請求的 AWS AppConfig 擷取參數，並在 Lambda 回應中傳回對應的組態資料。使用 [Lambda 函數 URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-configuration.html) 將代理公開至網際網路。

設定代理之後，請考慮擷取資料的頻率。Mobile 使用案例通常不需要高頻率輪詢間隔。設定 AWS AppConfig 代理程式從 重新整理資料 AWS AppConfig 的頻率高於應用程式從代理重新整理的頻率。

## 身分驗證和 Amazon Cognito
<a name="appconfig-retrieving-mobile-authentication"></a>

Lambda URLs 支援[兩種形式的存取控制](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html)，`AWS_IAM`以及 `NONE`。`NONE` 如果您想要在 Lambda 函數中實作自己的身分驗證和授權，請使用 。如果您的使用案例允許將您的端點公開給公有，且您的組態資料不包含敏感資料，則 `NONE`也是建議的選項。對於所有其他使用案例，請使用 `AWS_IAM`。

**重要**  
如果您在沒有身分驗證的情況下將端點公開到網際網路，請確定您的組態資料不會洩漏敏感資料，包括個人身分識別資訊 (PII)、使用者 IDs 或未發佈的功能名稱。

如果您選擇使用 `AWS_IAM`，則需要使用 [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) 管理登入資料。若要開始使用 Amazon Cognito，請建立身分集區。身分集區可讓您為已驗證或訪客使用者將短期憑證提供給應用程式。您需要在身分集區中新增角色，以允許使用者將 `InvokeFunctionUrl`用於 Lambda 函數。這樣做可讓應用程式的執行個體存取擷取組態資料所需的登入資料。

在應用程式中使用 Amazon Cognito 時，請考慮使用 [AWS Amplify](https://docs.aws.amazon.com/amplify/)。Amplify 可簡化行動/網路應用程式與 的互動 AWS ，並提供 Amazon Cognito 的內建支援。

## 快取
<a name="appconfig-retrieving-mobile-caching"></a>

使用 時 AWS AppConfig，您應該一律在裝置本機或瀏覽器中快取組態資料。快取提供下列優點：
+ 透過減少延遲和電池電量來改善效能
+ 透過消除對網路存取的相依性來提供穩定性
+ 降低資料擷取頻率以降低成本

對於行動使用案例，我們建議您實作記憶體內和持久性裝置內快取。設定您的應用程式，以嘗試從記憶體內快取擷取所需的組態，並視需要返回從代理擷取。從代理成功擷取後，請更新記憶體內快取，然後將組態保留到裝置。使用背景程序逐一查看快取並重新整理每個組態。在應用程式啟動後第一次擷取組態時，如果擷取失敗，請延遲至持久性組態 （並使用它來植入記憶體內快取）。

## 區隔
<a name="appconfig-retrieving-mobile-segmentation"></a>

使用特徵標記時，您可能想要將特徵標記體驗分段到整個客戶群。若要這樣做，請將內容提供給旗標擷取呼叫，並設定規則，根據提供的內容傳回不同的[功能旗標變](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-multi-variant-feature-flags.html)體。例如，您可能有一個 iOS 18.X 使用者的特徵標記變體、iOS 17.X 使用者的變體，以及所有其他 iOS 版本的預設標記。使用變體，您可以將應用程式的每個 iOS 版本設定為在相同環境中鎖定相同的組態，但根據擷取呼叫中提供的內容 （例如「版本」：「iOS18.1」)，裝置會收到適當的組態變體。

**注意**  
如果您使用行動使用案例 AWS AppConfig 的功能標記變體，則必須使用 AWS AppConfig 代理程式和代理來擷取功能標記。

如果您選擇不使用 AWS AppConfig 代理程式擷取功能旗標，則可以利用 AWS AppConfig [環境](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-environment.html)進行簡單、低基數的分割。環境是目標的邏輯部署群組。除了將組態分割為開發、測試和生產環境之外，您還可以透過建立行動裝置特定環境來細分客戶群，例如裝置類型 （平板電腦與手機） 或作業系統主要版本。使用不同的環境，您可以部署相同或不同的組態資料集，以滿足客戶群的特定需求。

## 頻寬 （行動使用案例）
<a name="appconfig-retrieving-mobile-experience-bandwidth"></a>

一般而言，目標是將每個旗標的大小設定為較小的。行動使用案例往往涉及低頻寬限制。將資料大小減到最少，可協助您在整個使用者基礎中維持一致的體驗。此外，請考慮由於行動裝置通常在低頻寬和無頻寬環境之間運作，因此裝置內快取至關重要。如果無法擷取任何組態資料，應用程式程式碼也會正常失敗。

## 其他標記使用案例
<a name="appconfig-retrieving-mobile-use-cases"></a>

功能旗標的強大功能超越了功能發佈的便利性。長期存在的操作旗標可用來改善應用程式的操作狀態。例如，您可以建立效能監控切換，在事件期間發出其他指標和偵錯資料。或者，您可能想要維護和調整客戶群區段的應用程式重新整理率。