針對需要定位服務的應用程式,Google 建議在 Google Play 服務中使用位置與內容 API。如果應用程式使用架構位置 API,請務必遷移至 Google Play 服務,以便善用 Google 提供的最新功能。
建議選擇使用 Google Play 服務,在應用程式中取得定位服務,原因如下:
- Google Play 服務提供簡單的介面和更加簡潔的 API 途徑。
- 您指定所需的服務品質,然後 API 會為您管理基礎技術。
- Google Play 服務 API 已針對效能和電池用量進行最佳化。
- Google Play 服務 API 會主動維護。Google 會持續改進演算法,並新增更多功能。
請更新應用程式
下列步驟說明更新應用程式的過程,以便使用位置與內容 API:
- 在專案中設定 Google Play 服務。
- 使用位置資訊設定 API 驗證目前的位置資訊設定。
- 使用 Google Play 服務提供地理圍欄、動作辨識和位置辨識等複雜功能。
- 從使用架構位置 API 變成使用整合式位置預測提供工具 API。
- 移除架構位置 API 的參照。
在專案中設定 Google Play 服務
若要為專案提供位置與內容 API,需要新增 Google Maven 存放區的參照,並宣告必要 API 的依附元件。詳情請參閱「設定 Google Play 服務」一文。
使用位置資訊設定 API
只要使用位置資訊設定 API,應用程式就會提供所需的 QoS 級別,而且 API 會要求使用者適當變更系統設定。請依下列步驟操作,在應用程式中使用位置資訊設定 API:
- 在應用程式資訊清單中要求位置存取權。
- 設定
LocationRequest
物件,指定所需的 QoS 層級。 - 使用位置資訊設定 API 檢查目前的設定。
詳情請參閱「變更位置資訊設定」,或參閱 Google Play 位置範例,取得範例程式碼。
使用 Google Play 服務提供複雜功能
借助 Google Play 服務程式庫,您可以依據使用者周遭的情境和位置辨識情形,導入創新的使用者體驗。我們的位置和情境程式庫種類繁多,不僅可善用位置以外的其他感應器,還能以省電的方式達到相同目的,為應用程式提供更精確的資料,同時減少對電池續航力的影響。
建議您在應用程式中整合這些程式庫,而不要自行編寫自訂解決方案:
將架構 location API 替換為整合式位置預測提供工具 API
您可使用整合式位置預測提供工具 API 來取得位置資料,例如經緯度。整合式位置預測提供工具 API 會使用 Location
物件 (如同位置架構 API) 表示地理位置。這個 API 的功能包括監聽位置更新,以及取得最後已知位置。多虧這些功能,整合式位置預測提供工具 API 十分適合替代使用架構位置 API 的元件,對應用程式其餘部分的變更也最少。
對許多體驗來說,取得最後已知位置功能是很好的切入點,因為這是一項快速作業,能使用裝置上任何用戶端要求的位置資料。若要定期追蹤位置,應用程式可訂閱接收位置更新通知,藉此提供最新資料,並支援更複雜的操作體驗。
移除架構 location API 的參照
請將 com.google.android.location
套件中的類別參照替換為 com.google.android.gms.location
套件中的類別,但整合式位置預測提供工具 API 使用的 Location
類別參照除外。一般來說,您可以從應用程式中移除管理不同提供工具 (例如 GPS 和 Wi-Fi) 的元件。位置與內容 API 會自動管理這些提供工具。
測試應用程式
若要執行使用最新版 Google Play 服務的應用程式,須備有已安裝 Play 商店應用程式的裝置,並且需要登入 Google 帳戶。在開發方面,您可以使用下列選項:
- 透過 USB 傳輸線連接至開發環境的實體裝置。
- 已安裝 Play 商店應用程式的模擬器。
若要進一步瞭解如何將實體裝置連接至開發環境,請參閱在硬體裝置上執行應用程式。若要建立包含 Play 商店應用程式的模擬器,請參閱建立和管理虛擬裝置。