大部分使用者在安裝時不需要的功能,很適合設定為隨選模組。以下列舉一些範例來說明能適合做為隨選模組的應用程式功能:
- 在應用程式中編輯及上傳影片 (大多數使用者只會觀看影片)
- 在應用程式中新增食譜 (大多數使用者只會瀏覽並追蹤其他人的食譜)
- 說明與支援功能 (大多數使用者不會尋求協助,或者不會在應用程式中尋求協助)
- 使用頻率較低的功能 (如提供詳細的錯誤擷取和報告) 使用的大型資料庫
- 特定的付款或結帳功能
- 超高解析度媒體體驗或 VR/AR 功能
一般情況下,隨選模組相對較小 (不到 10MB),因此如果沒有網路或其他故障問題,使用者都可以快速下載及使用這些模組。換句話說,使用者體驗通常與模組隨同應用程式一起安裝的情況沒有什麼不同。
本頁說明有助於達成以下目標的最佳做法:
- 確保使用者瞭解並能夠掌控相對較大模組不會立即載入的下載情形,或是模組安裝錯誤的情況。
- 進一步最佳化模組提供體驗,特別是在預期使用者會需要使用特定模組的情況下。
詳閱本指南後,請嘗試透過 Play Core API 範例應用程式瞭解這些最佳做法的實際執行情況。
確保使用者知情
如有功能無法立即使用,您應讓使用者知情。若使用者決定從 Google Play 下載該功能,就會顯示下載進度。
您可以監控要求狀態,以顯示下載進度和安裝狀態。不過,顯示的 UI 類型可能取決於下載檔案大小:
- 若模組較小 (約 10 MB 或更小),安裝起來非常快,請考慮使用旋轉圖示這類指標,或簡短的「正在下載內容」訊息。
- 若模組較大,可能需要幾秒鐘或更長的時間才能完成下載和安裝作業,則建議顯示下載和安裝進度列,如圖 1 所示。
恰當地告知安裝延遲與故障
若下載失敗或進度比預期慢,請向使用者清楚明確地說明當下情況,並告知他們可採取的動作 (如果有的話),如圖 2 和圖 3 所示。例如,若您監控下載要求的狀態,而且您的應用程式收到 API_NOT_AVAILABLE
錯誤,應通知使用者他們的裝置不支援隨選下載內容。
在要求下載大型模組的權限前,先介紹模組的價值
若隨選模組較大 (超過 150MB),Google Play 會要求在下載該模組之前先獲得使用者的同意。
要求模組之前,應先向使用者說明該模組的價值。協助他們瞭解您提出這個要求的原因,就像要求應用程式權限時一樣。多與使用者溝通,可以提高他們接受下載的機率。
例如,假設您要建構一款電子商務應用程式,其中一項功能可讓使用者透過擴增實境 (AR) 技術,直接在他們的公寓內安排家具位置。您可以加上一則訊息,比如說:「想看看新沙發放在您家客廳的效果嗎?立即安裝擴增實境檢視器吧。」
在背景執行下載與安裝作業
模組下載及安裝作業應一律在背景執行。也就是說,您應允許使用者在等待某項功能可供使用的同時,繼續使用應用程式的其他部分。當該功能可用時,您應提供一則通知,讓使用者自行決定是否要切換使用該功能。
如圖 5 所示,使用者繼續使用應用程式,並在隨選功能安裝完成時收到通知。
模組準備就緒後,應通知使用者,並讓他們選擇是否要啟動該功能。此模式可讓使用者瞭解情境並握有控制權。
在某些情況下,您「可以」在功能就緒後立即啟動該功能。不過,這樣做可能會中斷使用者的體驗,因此請仔細考量此行為是否符合預期且適當。
不再需要某個模組時釋出裝置儲存空間
所有功能模組的均可單獨解除安裝;這項功能非常實用。如果已不會再使用某個功能模組,您可以要求 Google Play 將該模組解除安裝,藉此縮減應用程式在使用者裝置上的大小。
例如,假設您的應用程式具有功能強大的新手上路流程,其中或許包含互動式多媒體。在使用者完成新手上路流程或成為活躍使用者已有一段時間後,您可以使用 Play Feature Delivery API,要求 Google Play 將應用程式的該元件單獨解除安裝。
請注意,您稍後也可以解除安裝在應用程式初始安裝時加入的模組。舉例來說,使用者初次使用您的應用程式時,訓練新使用者如何使用應用程式的模組相當重要。但是,如要縮減應用程式大小,建議您在他們完成訓練之後加以解除安裝。
進階提示
通常,您需要處理的情況是使用者明確表示有意使用隨選功能模組的功能。
不過,您可能希望在使用者向您表達出想要使用某項功能的意願「之前」,預測他們可能會與該功能互動。下列指南以允許下載及製作烹飪食譜的應用程式為例,說明如何透過預測使用者需求來最佳化模組提供體驗。
預測使用者在目前工作階段中對某項功能的需求。思考使用者是否僅在想製作自己的食譜並與社群進行分享時,才需要在食譜應用程式中建立帳戶。您可以使用建立帳戶做為信號,藉此判定使用者可能想要新增自己的食譜,從而在使用者輕觸「新增食譜」之前,就開始下載相應的功能模組。您可以將此方法套用到應用程式中的其他使用者歷程,讓功能下載流程更加順暢。
預測使用者在下一個工作階段中對功能的需求。如果您不需要應用程式立即下載並安裝隨選模組,可以在應用程式於背景執行期間延後安裝作業,而 Google Play 會為您處理下載和安裝作業。例如,假設您想在烹飪應用程式中推出新的季節性食譜,但這些食譜對使用者目前的工作階段而言,優先順序並不高。您可以要求 Play 在該應用程式於背景執行時下載並安裝這些食譜。這種做法特別適合在當下不需要,但日後可能需要的較大功能 (超過 10MB)。
在安裝應用程式之前預測使用者對某項功能的需求。建議您新增對條件式提供功能的支援,以便根據使用者的國家/地區、裝置硬體功能和 API 級別,在安裝時提供相關功能。例如,您可能希望將使用豬肉的食譜加入條件式模組,並且在忌食豬肉料理的區域安裝應用程式時省略該模組。