有關隨選提供機制的使用者體驗最佳做法

大部分使用者在安裝時不需要的功能,很適合設定為隨選模組。以下列舉一些範例來說明能適合做為隨選模組的應用程式功能:

  • 在應用程式中編輯及上傳影片 (大多數使用者只會觀看影片)
  • 在應用程式中新增食譜 (大多數使用者只會瀏覽並追蹤其他人的食譜)
  • 說明與支援功能 (大多數使用者不會尋求協助,或者不會在應用程式中尋求協助)
  • 使用頻率較低的功能 (如提供詳細的錯誤擷取和報告) 使用的大型資料庫
  • 特定的付款或結帳功能
  • 超高解析度媒體體驗或 VR/AR 功能

一般情況下,隨選模組相對較小 (不到 10MB),因此如果沒有網路或其他故障問題,使用者都可以快速下載及使用這些模組。換句話說,使用者體驗通常與模組隨同應用程式一起安裝的情況沒有什麼不同。

本頁說明有助於達成以下目標的最佳做法:

  • 確保使用者瞭解並能夠掌控相對較大模組不會立即載入的下載情形,或是模組安裝錯誤的情況。
  • 進一步最佳化模組提供體驗,特別是在預期使用者會需要使用特定模組的情況下。

詳閱本指南後,請嘗試透過 Play Core API 範例應用程式瞭解這些最佳做法的實際執行情況。

確保使用者知情

如有功能無法立即使用,您應讓使用者知情。若使用者決定從 Google Play 下載該功能,就會顯示下載進度。

您可以監控要求狀態,以顯示下載進度和安裝狀態。不過,顯示的 UI 類型可能取決於下載檔案大小:

  • 若模組較小 (約 10 MB 或更小),安裝起來非常快,請考慮使用旋轉圖示這類指標,或簡短的「正在下載內容」訊息。
  • 若模組較大,可能需要幾秒鐘或更長的時間才能完成下載和安裝作業,則建議顯示下載和安裝進度列,如圖 1 所示。

圖 1 在下載及安裝隨選功能時顯示訊息和進度列

恰當地告知安裝延遲與故障

若下載失敗或進度比預期慢,請向使用者清楚明確地說明當下情況,並告知他們可採取的動作 (如果有的話),如圖 2 和圖 3 所示。例如,若您監控下載要求的狀態,而且您的應用程式收到 API_NOT_AVAILABLE 錯誤,應通知使用者他們的裝置不支援隨選下載內容。

圖 2. 告知使用者目前無法安裝某項功能的原因

圖 3. 向使用者說明為何某項功能的下載時間可能會比預期更長

在要求下載大型模組的權限前,先介紹模組的價值

若隨選模組較大 (超過 150MB),Google Play 會要求在下載該模組之前先獲得使用者的同意。

要求模組之前,應先向使用者說明該模組的價值。協助他們瞭解您提出這個要求的原因,就像要求應用程式權限時一樣。多與使用者溝通,可以提高他們接受下載的機率。

例如,假設您要建構一款電子商務應用程式,其中一項功能可讓使用者透過擴增實境 (AR) 技術,直接在他們的公寓內安排家具位置。您可以加上一則訊息,比如說:「想看看新沙發放在您家客廳的效果嗎?立即安裝擴增實境檢視器吧。」

在背景執行下載與安裝作業

模組下載及安裝作業應一律在背景執行。也就是說,您應允許使用者在等待某項功能可供使用的同時,繼續使用應用程式的其他部分。當該功能可用時,您應提供一則通知,讓使用者自行決定是否要切換使用該功能。

如圖 5 所示,使用者繼續使用應用程式,並在隨選功能安裝完成時收到通知。

圖 5. 模組安裝完成後,請不要突然變更使用者的情境,而是要通知使用者所要求的功能已可供使用。

模組準備就緒後,應通知使用者,並讓他們選擇是否要啟動該功能。此模式可讓使用者瞭解情境並握有控制權。

在某些情況下,您「可以」在功能就緒後立即啟動該功能。不過,這樣做可能會中斷使用者的體驗,因此請仔細考量此行為是否符合預期且適當。

不再需要某個模組時釋出裝置儲存空間

所有功能模組的均可單獨解除安裝;這項功能非常實用。如果已不會再使用某個功能模組,您可以要求 Google Play 將該模組解除安裝,藉此縮減應用程式在使用者裝置上的大小。

例如,假設您的應用程式具有功能強大的新手上路流程,其中或許包含互動式多媒體。在使用者完成新手上路流程或成為活躍使用者已有一段時間後,您可以使用 Play Feature Delivery API,要求 Google Play 將應用程式的該元件單獨解除安裝。

請注意,您稍後也可以解除安裝在應用程式初始安裝時加入的模組。舉例來說,使用者初次使用您的應用程式時,訓練新使用者如何使用應用程式的模組相當重要。但是,如要縮減應用程式大小,建議您在他們完成訓練之後加以解除安裝。

進階提示

通常,您需要處理的情況是使用者明確表示有意使用隨選功能模組的功能。

不過,您可能希望在使用者向您表達出想要使用某項功能的意願「之前」,預測他們可能會與該功能互動。下列指南以允許下載及製作烹飪食譜的應用程式為例,說明如何透過預測使用者需求來最佳化模組提供體驗。

預測使用者在目前工作階段中對某項功能的需求。思考使用者是否僅在想製作自己的食譜並與社群進行分享時,才需要在食譜應用程式中建立帳戶。您可以使用建立帳戶做為信號,藉此判定使用者可能想要新增自己的食譜,從而在使用者輕觸「新增食譜」之前,就開始下載相應的功能模組。您可以將此方法套用到應用程式中的其他使用者歷程,讓功能下載流程更加順暢。

預測使用者在下一個工作階段中對功能的需求。如果您不需要應用程式立即下載並安裝隨選模組,可以在應用程式於背景執行期間延後安裝作業,而 Google Play 會為您處理下載和安裝作業。例如,假設您想在烹飪應用程式中推出新的季節性食譜,但這些食譜對使用者目前的工作階段而言,優先順序並不高。您可以要求 Play 在該應用程式於背景執行時下載並安裝這些食譜。這種做法特別適合在當下不需要,但日後可能需要的較大功能 (超過 10MB)。

在安裝應用程式之前預測使用者對某項功能的需求。建議您新增對條件式提供功能的支援,以便根據使用者的國家/地區、裝置硬體功能和 API 級別,在安裝時提供相關功能。例如,您可能希望將使用豬肉的食譜加入條件式模組,並且在忌食豬肉料理的區域安裝應用程式時省略該模組。