選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Android Mobile 追蹤 SDK

焦點模式
Android Mobile 追蹤 SDK - Amazon Location Service

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

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

Amazon Location 行動追蹤SDK提供公用程式,可協助輕鬆驗證、擷取裝置位置,以及傳送位置更新至 Amazon Location Trackers。SDK 支援以可設定的更新間隔對位置更新進行本機篩選。這可降低資料成本,並最佳化 Android 應用程式的間歇性連線。

Android 追蹤SDK可在 上取得 GitHub:Amazon Location Mobile Tracking SDK for Android 。此外,行動身分驗證SDK和 AWS SDK都可以在 AWS Maven 儲存庫 上使用。Android 追蹤SDK旨在與一般 搭配使用 AWS SDK。

本節涵蓋 Amazon Location 行動追蹤 Android 的下列主題SDK:

安裝

若要安裝 SDK,請在 Android Studio 中的 build.gradle 檔案的相依性區段中新增下列行:

implementation("software.amazon.location:tracking:0.0.1") implementation("software.amazon.location:auth:0.0.1") implementation("com.amazonaws:aws-android-sdk-location:2.72.0")

用量

此程序說明如何使用 SDK來驗證和建立LocationTracker物件:

注意

此程序假設您已匯入 安裝章節所述的程式庫。

  1. 在程式碼中匯入下列類別:

    import software.amazon.location.tracking.LocationTracker import software.amazon.location.tracking.config.LocationTrackerConfig import software.amazon.location.tracking.util.TrackingSdkLogLevel import com.amazonaws.services.geo.AmazonLocationClient import software.amazon.location.auth.AuthHelper import software.amazon.location.auth.LocationCredentialsProvider
  2. 接下來建立 AuthHelper,因為建立LocationTracker物件需要 LocationCredentialsProvider 參數:

    // Create an authentication helper using credentials from Cognito val authHelper = AuthHelper(applicationContext) val locationCredentialsProvider : LocationCredentialsProvider = authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id")
  3. 現在,使用 LocationCredentialsProviderLocationTrackerConfig建立LocationTracker物件:

    val config = LocationTrackerConfig( trackerName = "MY-TRACKER-NAME", logLevel = TrackingSdkLogLevel.DEBUG, accuracy = Priority.PRIORITY_HIGH_ACCURACY, latency = 1000, frequency = 5000, waitForAccurateLocation = false, minUpdateIntervalMillis = 5000, ) locationTracker = LocationTracker( applicationContext, locationCredentialsProvider, config, )

篩選條件

Amazon Location 行動追蹤 Android SDK有三個內建位置篩選條件。

  • TimeLocationFilter:根據定義的時間間隔篩選要上傳的目前位置。

  • DistanceLocationFilter:根據指定的距離閾值篩選位置更新。

  • AccuracyLocationFilter:透過比較自上次更新以來移動的距離與目前位置的準確性來篩選位置更新。

此範例LocationTracker會在建立時在 中新增篩選條件:

val config = LocationTrackerConfig( trackerName = "MY-TRACKER-NAME", logLevel = TrackingSdkLogLevel.DEBUG, accuracy = Priority.PRIORITY_HIGH_ACCURACY, latency = 1000, frequency = 5000, waitForAccurateLocation = false, minUpdateIntervalMillis = 5000, locationFilters = mutableListOf(TimeLocationFilter(), DistanceLocationFilter(), AccuracyLocationFilter()) ) locationTracker = LocationTracker( applicationContext, locationCredentialsProvider, config, )

此範例使用 啟用和停用執行階段的篩選條件LocationTracker

// To enable the filter locationTracker?.enableFilter(TimeLocationFilter()) // To disable the filter locationTracker?.disableFilter(TimeLocationFilter())

Android Mobile SDK追蹤功能

Android SDK版 Amazon Location 行動追蹤包含下列功能:

  • 類別: LocationTracker

    constructor(context: Context,locationCredentialsProvider: LocationCredentialsProvider,trackerName: String), 或 constructor(context: Context,locationCredentialsProvider: LocationCredentialsProvider,clientConfig: LocationTrackerConfig)

    這是建立LocationTracker物件的初始化器函數。它需要 LocationCredentialsProvider 執行個體,trackerName以及選用的 執行個體LocationTrackingConfig。如果未提供組態,則會使用預設值初始化組態。

  • 類別: LocationTracker

    start(locationTrackingCallback: LocationTrackingCallback)

    開始存取使用者位置並將其傳送至 Amazon Location 追蹤器的程序。

  • 類別: LocationTracker

    isTrackingInForeground()

    檢查位置追蹤是否目前正在進行中。

  • 類別: LocationTracker

    stop()

    停止追蹤使用者位置的程序。

  • 類別: LocationTracker

    startTracking()

    開始存取使用者位置並將其傳送至 AWS 追蹤器的程序。

  • 類別: LocationTracker

    startBackground(mode: BackgroundTrackingMode, serviceCallback: ServiceCallback)

    開始存取使用者位置的程序,並在應用程式處於背景時將其傳送至 AWS 追蹤器。 BackgroundTrackingMode 有下列選項:

    • ACTIVE_TRACKING:此選項會主動追蹤使用者的位置更新。

    • BATTERY_SAVER_TRACKING:此選項每 15 分鐘追蹤使用者的位置更新。

  • 類別: LocationTracker

    stopBackgroundService()

    停止存取使用者位置的程序,並在應用程式處於背景時將其傳送至 AWS 追蹤器。

  • 類別: LocationTracker

    getTrackerDeviceLocation()

    從 Amazon Location 服務擷取裝置位置。

  • 類別: LocationTracker

    getDeviceLocation(locationTrackingCallback: LocationTrackingCallback?)

    從聯合位置提供者用戶端擷取目前的裝置位置,並將其上傳至 Amazon Location 追蹤器。

  • 類別: LocationTracker

    uploadLocationUpdates(locationTrackingCallback: LocationTrackingCallback?)

    根據設定的位置篩選條件篩選後,將裝置位置上傳至 Amazon Location 服務。

  • 類別: LocationTracker

    enableFilter(filter: LocationFilter)

    啟用特定位置篩選條件。

  • 類別: LocationTracker

    checkFilterIsExistsAndUpdateValue(filter: LocationFilter)

    停用特定位置篩選條件。

  • 類別: LocationTrackerConfig

    LocationTrackerConfig( // Required var trackerName: String, // Optional var locationFilters: MutableList = mutableListOf( TimeLocationFilter(), DistanceLocationFilter(), ), var logLevel: TrackingSdkLogLevel = TrackingSdkLogLevel.DEBUG, var accuracy: Int = Priority.PRIORITY_HIGH_ACCURACY, var latency: Long = 1000, var frequency: Long = 1500, var waitForAccurateLocation: Boolean = false, var minUpdateIntervalMillis: Long = 1000, var persistentNotificationConfig: NotificationConfig = NotificationConfig())

    這會LocationTrackerConfig使用使用者定義的參數值初始化 。如果未提供參數值,則會將其設定為預設值。

  • 類別: LocationFilter

    shouldUpload(currentLocation: LocationEntry, previousLocation: LocationEntry?): Boolean

    LocationFilter 是使用者可以為自訂篩選條件實作實作的通訊協定。您需要實作 shouldUpload函數來比較先前和目前的位置,如果應該上傳目前的位置,則需要傳回 。

範例

下列程式碼範例顯示行動追蹤SDK功能。

此範例使用 LocationTracker開始和停止背景追蹤:

// For starting the location tracking locationTracker?.startBackground( BackgroundTrackingMode.ACTIVE_TRACKING, object : ServiceCallback { override fun serviceStopped() { if (selectedTrackingMode == BackgroundTrackingMode.ACTIVE_TRACKING) { isLocationTrackingBackgroundActive = false } else { isLocationTrackingBatteryOptimizeActive = false } } }, ) // For stopping the location tracking locationTracker?.stopBackgroundService()
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。