在小工具挑選器中新增生成的預覽畫面

生成的小工具預覽畫面可讓您建立動態的個人化預覽畫面,準確反映小工具在使用者主畫面上的顯示方式。這些預覽畫面是透過推送 API 提供,也就是說,應用程式會在生命週期內的任何時間提供預覽畫面,不需接收來自小工具主機的明確要求。

本指南說明如何為 Glance 小工具提供預覽畫面。如果小工具是使用 RemoteViews 實作,請參閱「在小工具挑選器中新增預覽畫面」。

如要改善應用程式的微件選擇器體驗,請在 Android 15 以上版本裝置上使用 GlanceAppWidget.providePreview 提供產生的微件預覽畫面,並在較低版本中指定 previewImage,以及在 Android 15 以上版本中,於產生的預覽畫面無法使用時做為備援。

詳情請參閱 YouTube 上的「Enrich your app with live updates and widgets」。

設定應用程式,產生小工具預覽畫面

如要在搭載 Android 15 以上版本的裝置上顯示產生的動態小工具預覽畫面,請先在模組 build.gradle 檔案中將 compileSdk 值設為 35 以上,在動態小工具挑選器中啟用產生的預覽畫面。

應用程式隨後就能在 GlanceAppWidgetManager 中使用 setWidgetPreview。為防止濫用行為並緩解系統健康問題,setWidgetPreview 是設有速率限制的 API。預設限制為每小時約兩通電話。

使用 Jetpack Glance 生成更新的預覽畫面

如果是使用 Jetpack Glance 建立的小工具,請按照下列步驟操作:

  1. 覆寫 GlanceAppWidget.providePreview 函式,為預覽畫面提供可組合內容。如同在 provideGlance 中,載入應用程式的資料並傳遞至小工具的內容可組合函式,讓預覽畫面顯示正確資料。與 provideGlance 不同,這是單一組合,不會重組或產生任何效果。

  2. 呼叫 GlanceAppWidgetManager.setWidgetPreviews 即可產生及發布預覽畫面。

系統不會提供預覽畫面,因此應用程式必須決定何時呼叫 setWidgetPreviews。更新策略取決於小工具的用途:

  • 如果小工具包含靜態資訊或快速操作,請在首次啟動應用程式時設定預覽畫面。
  • 應用程式有資料後,即可設定預覽畫面,例如使用者登入或完成初始設定後。
  • 您可以設定定期工作,以所選頻率更新預覽畫面。

排解生成的預覽畫面問題

常見的問題是,生成預覽畫面後,相較於小工具的放置大小,預覽圖片可能會缺少圖片、圖示或其他可組合函式。這個放置大小是由 targetCellWidthtargetCellHeight (如有指定) 定義,或是由 應用程式小工具供應商資訊檔案中的 minWidthminHeight 定義。

這是因為 Android 預設只會轉譯小工具最小尺寸可見的可組合函式。換句話說,Android 預設會將 previewSizeMode 設為 SizeMode.Single。系統會使用android:minHeightandroid:minWidth應用程式小工具供應器資訊 XML,判斷要繪製哪些可組合函式。

如要修正這個問題,請在 GlanceAppWidget 中覆寫 previewSizeMode,並將其設為 SizeMode.Responsive,提供一組 DpSize 值。這會告知 Android 預覽畫面需要的所有版面配置大小,確保所有元素都能正確顯示。

針對特定板型規格進行最佳化。從最小值開始,根據小工具的中斷點提供一或兩種尺寸。指定至少一個 previewImage ,以支援較低的 Android 版本。如要瞭解不同格線大小適用的最低 DP 值,請參閱小工具設計指南

支援較舊的 Android 版本

如要在搭載 Android 14 以下版本的裝置上顯示小工具預覽畫面,或是在 Android 15 以上版本上顯示產生的預覽畫面,請指定 previewImage 屬性。

如果變更小工具的外觀,請更新預覽圖片。