Auf Google APIs zugreifen

Wenn Sie in Ihrer Android-App auf APIs zugreifen möchten, die von den Google Play-Diensten unterstützt werden , müssen Sie API-Clientobjekte verwenden. Diese Objekte verwalten die Verbindung zu den Google Play-Diensten, stellen Anfragen in die Warteschlange und führen sie in der Reihenfolge aus, in der eine Verbindung verfügbar ist. Sie können nach Bedarf neue API-Clients erstellen, da sie kostengünstig zu erstellen sind.

Jetzt starten

Bevor Sie beginnen, müssen Sie die Google Play-Dienste in Ihrem App-Projekt einrichten.

Wenn Sie auf einen Dienst zugreifen möchten, für den keine Autorisierung erforderlich ist, erstellen Sie eine Instanz von dem Clientobjekt des Dienstes und übergeben Sie entweder ein Context oder ein Activity Objekt. Bei Bedarf werden Nutzer aufgefordert, die Google Play-Dienste zu aktualisieren, bevor API-Aufrufe ausgeführt werden.

Das folgende Code-Snippet zeigt, wie Sie den letzten bekannten Standort des Geräts mit dem Anbieter für kombinierte Standortbestimmung abrufen:

Kotlin

// Code required for requesting location permissions omitted for brevity.
val client = LocationServices.getFusedLocationProviderClient(this)

// Get the last known location. In some rare situations, this can be null.
client.lastLocation.addOnSuccessListener { location : Location? ->
    location?.let {
        // Logic to handle location object.
    }
}

Java

// Code required for requesting location permissions omitted for brevity.
FusedLocationProviderClient client =
        LocationServices.getFusedLocationProviderClient(this);

// Get the last known location. In some rare situations, this can be null.
client.getLastLocation()
        .addOnSuccessListener(this, location -> {
            if (location != null) {
                // Logic to handle location object.
            }
        });

Wenn Sie auf APIs zugreifen möchten, für die eine Nutzerautorisierung erforderlich ist, folgen Sie der Anleitung zum Autorisieren des Zugriffs auf Google-Nutzerdaten. Wenn Sie eine API verwenden, für die ein GoogleSignInAccount-Objekt erforderlich ist, verwenden Sie die AuthorizationResult#toGoogleSignInAccount() Methode.

API-Verfügbarkeit prüfen

Bevor Sie eine Funktion aktivieren, die von einer Google Play-Dienste-API abhängt, prüfen Sie, ob die API auf dem Gerät verfügbar ist, indem Sie checkApiAvailability()aufrufen.

Das folgende Code-Snippet zeigt, wie Sie prüfen, ob der Anbieter für kombinierte Standortbestimmung verfügbar ist:

Kotlin

fun getLastLocationIfApiAvailable(context: Context?): Task<Location>? {
    val client = getFusedLocationProviderClient(context)
    return GoogleApiAvailability.getInstance()
        .checkApiAvailability(client)
        .onSuccessTask { _ -> client.lastLocation }
        .addOnFailureListener { _ -> Log.d(TAG, "Location unavailable.")}
}

Java

public Task<Location> getLastLocationIfApiAvailable(Context context) {
    FusedLocationProviderClient client =
            getFusedLocationProviderClient(context);
    return GoogleApiAvailability.getInstance()
            .checkApiAvailability(client)
            .onSuccessTask(unused -> client.getLastLocation())
            .addOnFailureListener(e -> Log.d(TAG, "Location unavailable."));
}