Biblioteka odsyłająca do instalacji z Play

Aby bezpiecznie pobierać z Google Play treści z witryn odsyłających, możesz użyć interfejsu instalacji Referrer API w Sklepie Google Play. Biblioteka klienta interfejsu API odesłania do instalacji Play została napisana w języku programowania Java i jest opakowaniem pliku Android Interface Definition Language (AIDL), który definiuje interfejs usługi instalacji strony odsyłającej. Aby uprościć proces programowania, możesz użyć biblioteki klienta interfejsu API odesłania do instalacji Play.

Ten przewodnik zawiera podstawowe informacje o pobieraniu informacji o odesłaniu z Google Play za pomocą biblioteki odsyłającej do instalacji z Google Play.

Aktualizowanie zależności aplikacji

Dodaj ten wiersz do sekcji zależności pliku build.gradle aplikacji:

Odlotowy

dependencies {
    ...
    implementation "com.android.installreferrer:installreferrer:2.2"
}

Kotlin

dependencies {
    ...
    implementation("com.android.installreferrer:installreferrer:2.2")
}

Łączę z Google Play

Zanim zaczniesz korzystać z biblioteki interfejsu Play Referrer API, musisz nawiązać połączenie z aplikacją Sklep Play, wykonując te czynności:

  1. Wywołaj metodę newBuilder(), aby utworzyć instancję klasy InstallReferrerClient.
  2. Wywołaj startConnection(), aby nawiązać połączenie z Google Play.

  3. Metoda startConnection() jest asynchroniczna, więc aby otrzymać wywołanie zwrotne po zakończeniu działania startConnection(), musisz zastąpić wartość InstallReferrerStateListener.

  4. Zastąp metodę onInstallReferrerSetupFinished(), aby otrzymywać powiadomienia o zakończeniu wywołania zwrotnego. Metoda ta jest wywoływana z kodem odpowiedzi, którego musisz używać do obsługi różnych stanów. OK oznacza, że udało się nawiązać połączenie. Pozostałe stałe InstallReferrerResponse odpowiadają różnym rodzajom błędów.

  5. Zastąp metodę onInstallReferrerServiceDisconnected() w celu obsługi utraconych połączeń z Google Play. Na przykład klient biblioteki odsyłającej instalacji z Play może utracić połączenie, jeśli usługa Sklep Play jest aktualizowana w tle. Klient biblioteki musi wywołać metodę startConnection(), aby ponownie uruchomić połączenie przed wysłaniem kolejnych żądań.

Ten kod pokazuje, jak uruchomić i przetestować połączenie z aplikacją Sklep Play:

Kotlin

private lateinit var referrerClient: InstallReferrerClient

referrerClient = InstallReferrerClient.newBuilder(this).build()
referrerClient.startConnection(object : InstallReferrerStateListener {

    override fun onInstallReferrerSetupFinished(responseCode: Int) {
        when (responseCode) {
            InstallReferrerResponse.OK -> {
                // Connection established.
            }
            InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
                // API not available on the current Play Store app.
            }
            InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
                // Connection couldn't be established.
            }
        }
    }

    override fun onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
})

Java

InstallReferrerClient referrerClient;

referrerClient = InstallReferrerClient.newBuilder(this).build();
referrerClient.startConnection(new InstallReferrerStateListener() {
    @Override
    public void onInstallReferrerSetupFinished(int responseCode) {
        switch (responseCode) {
            case InstallReferrerResponse.OK:
                // Connection established.
                break;
            case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                // API not available on the current Play Store app.
                break;
            case InstallReferrerResponse.SERVICE_UNAVAILABLE:
                // Connection couldn't be established.
                break;
        }
    }

    @Override
    public void onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
});

Uzyskiwanie strony odsyłającej do instalacji

Po nawiązaniu połączenia z aplikacją Sklep Play pobierz szczegóły z strony odsyłającej do instalacji, wykonując te czynności:

  1. Aby zwrócić instancję ReferrerDetails, użyj metody zsynchronizowanej getInstallReferrer().

  2. Aby uzyskać szczegółowe informacje o stronie odsyłającej instalacji, użyj metod udostępnianych przez klasa ReferrerDetails.

Poniższy kod pokazuje, jak można uzyskać dostęp do informacji o stronie odsyłającej do instalacji:

Kotlin

val response: ReferrerDetails = referrerClient.installReferrer
val referrerUrl: String = response.installReferrer
val referrerClickTime: Long = response.referrerClickTimestampSeconds
val appInstallTime: Long = response.installBeginTimestampSeconds
val instantExperienceLaunched: Boolean = response.googlePlayInstantParam

Java

ReferrerDetails response = referrerClient.getInstallReferrer();
String referrerUrl = response.getInstallReferrer();
long referrerClickTime = response.getReferrerClickTimestampSeconds();
long appInstallTime = response.getInstallBeginTimestampSeconds();
boolean instantExperienceLaunched = response.getGooglePlayInstantParam();

Uwaga: informacje o stronie odsyłającej do instalacji będą dostępne przez 90 dni i nie zmienią się, chyba że aplikacja zostanie ponownie zainstalowana. Aby uniknąć niepotrzebnych wywołań interfejsu API w aplikacji, wywołaj interfejs API tylko raz podczas pierwszego wykonania po instalacji.

Zamykam połączenie z usługą

Po uzyskaniu informacji o stronie odsyłającej wywołaj w instancji InstallReferrerClient metodę endConnection(), aby zamknąć połączenie. Zamknięcie połączenia pozwoli uniknąć wycieków i problemów z wydajnością.

Więcej informacji znajdziesz w dokumentacji biblioteki odsyłającej do instalacji z Play.