ספריית ההפניות להתקנות ב-Play

אפשר להשתמש ב-Install Referrer API של חנות Google Play כדי לאחזר באופן מאובטח הפניה לתוכן מ-Google Play. ספריית הלקוח של Play Install Referrer API כתוב בשפת התכנות Java והוא wrapper של Android קובץ Interface Definition Language (AIDL) שמגדיר את הממשק התקנת שירות ההפניה. אפשר להשתמש בלקוח Play Install Referrer API שימוש בספרייה כדי לפשט את תהליך הפיתוח.

מדריך זה עוסק בעקרונות הבסיסיים של אחזור פרטי הפניה מ-Google מפעילים באמצעות ספריית ההפניות להתקנות ב-Play.

עדכון של יחסי התלות של האפליקציה

מוסיפים את השורה הבאה לקטע של יחסי התלות בקובץ build.gradle עבור האפליקציה:

מגניב

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

Kotlin

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

מתבצעת התחברות ל-Google Play

כדי להשתמש בספריית Play Install Referrer API, צריך יצירת חיבור לאפליקציה של חנות Play באמצעות שלבים:

  1. קוראים לפונקציה newBuilder() כדי ליצור מופע של InstallReferrerClient בכיתה.
  2. קוראים לפונקציה startConnection() כדי ליצור חיבור ל-Google Play.

  3. startConnection() היא אסינכרונית, לכן עליך לשנות InstallReferrerStateListener כדי לקבל התקשרות חזרה אחרי startConnection() שהושלמו.

  4. משנים את onInstallReferrerSetupFinished(). כדי לקבל התראה בסיום הקריאה החוזרת. השיטה הזו נקראת באמצעות קוד תגובה שבו צריך להשתמש כדי לטפל במצבים השונים. OK מציין שהחיבור בוצע בהצלחה. כל אחד מהשניים InstallReferrerResponse קבועים נועדו לסוגים שונים של שגיאות.

  5. משנים את onInstallReferrerServiceDisconnected(). לטיפול בחיבורים שאבדו ל-Google Play. עבור לדוגמה, הלקוח של ספריית הגורמים המפנה של Play להתקנת Play עשוי לאבד את החיבור אם שירות חנות Play מתעדכן ברקע. לקוח הספרייה חייב לקרוא ה startConnection() להפעלת החיבור מחדש לפני שליחת בקשות נוספות.

הקוד הבא מדגים איך להתחיל ולבדוק חיבור אל האפליקציה של חנות 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.
    }
});

קבלת מקור ההפניה להתקנות

לאחר קישור האפליקציה של חנות Play, מקבלים את הפרטים ממקור ההפניה של ההתקנה, פועלים לפי השלבים הבאים:

  1. שימוש בסנכרון getInstallReferrer() כדי להחזיר מופע של ReferrerDetails

  2. משתמשים בשיטות ReferrerDetails הכיתה מספקת כדי לקבל פרטים על הגורם המפנה להתקנה.

הקוד הבא מדגים איך אפשר לגשת לגורם המפנה להתקנה מידע:

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();

זהירות: הפרטים של הגורם המפנה להתקנה יהיו זמינה למשך 90 יום ולא תשתנה אלא אם הותקנה מחדש. כדי להימנע מקריאות מיותרות ל-API באפליקציה שלכם, כדאי להפעיל את API פעם אחת בלבד במהלך ההרצה הראשונה לאחר ההתקנה.

סגירת החיבור לשירות

אחרי שתקבלו מידע על הגורם המפנה, endConnection() ב- InstallReferrerClient כדי לסגור את החיבור. סגירת החיבור תעזור לך להימנע הדלפות ובעיות בביצועים.

מידע נוסף זמין בספריית מקורות ההפניה של Play להתקנה הפניה.