אתם יכולים להשתמש ב-Install Referrer API של חנות Google Play כדי לאחזר באופן מאובטח תוכן של הפניות מ-Google Play. ספריית הלקוח של Play Install Referrer API כתובה בשפת התכנות Java, והיא מעטפת לקובץ של שפת ההגדרה לבניית ממשק Android (AIDL) שמגדיר את הממשק לשירות Install Referrer. כדי לפשט את תהליך הפיתוח, אתם יכולים להשתמש בספריית הלקוח של Play Install Referrer API.
במדריך הזה נסביר את העקרונות הבסיסיים של אחזור מידע על הפניות מ-Google Play באמצעות Play Install Referrer Library.
עדכון יחסי התלות של האפליקציה
מוסיפים את השורה הבאה לקטע של יחסי התלות בקובץ 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 לפי השלבים הבאים:
- מפעילים את ה-method
newBuilder()כדי ליצור מופע של המחלקהInstallReferrerClient. - מפעילים את השיטה
startConnection()כדי ליצור חיבור ל-Google Play. - מכיוון ש-
startConnection()היא אסינכרונית, צריך להטמיע אתInstallReferrerStateListenerכדי לקבל קריאה חוזרת (callback) אחרי ש-startConnection()מסתיימת. - מבטלים את ה-method
onInstallReferrerSetupFinished()כדי לקבל התראה כשה-callback מסתיים. השיטה הזו מעבירה קוד תגובה שצריך להשתמש בו כדי לטפל במצבים שונים. OKמציין שהחיבור הצליח. הקבועים האחרים שלInstallReferrerResponseמציינים סוגים שונים של שגיאות. - מבטלים את השיטה
onInstallReferrerServiceDisconnected()כדי לטפל בחיבורים שאבדו ל-Google Play. לדוגמה, יכול להיות שהחיבור של הלקוח של Play Install Referrer Library יתנתק אם שירות חנות Play מתעדכן ברקע. הלקוח של הספרייה צריך להפעיל את ה-methodstartConnection()כדי להפעיל מחדש את החיבור לפני שליחת בקשות נוספות.
הקוד הבא מדגים איך להתחיל ולבדוק חיבור לאפליקציה של חנות 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, מקבלים את הפרטים מהמפנה להתקנה לפי השלבים הבאים:
- משתמשים ב-method
getInstallReferrer()המסונכרן כדי להחזיר מופע שלReferrerDetails. - משתמשים בשיטות שהמחלקה
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();
סגירת החיבור לשירות
אחרי שמקבלים את פרטי הגורם המפנה, מפעילים את ה-method endConnection() במכונה של InstallReferrerClient כדי לסגור את החיבור. סגירת החיבור עוזרת למנוע דליפות ובעיות בביצועים.
למידע נוסף, עיינו בחומר העזר של Play Install Referrer Library.