אפשר להשתמש ב-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 באמצעות שלבים:
- קוראים לפונקציה
newBuilder()
כדי ליצור מופע שלInstallReferrerClient
בכיתה. קוראים לפונקציה
startConnection()
כדי ליצור חיבור ל-Google Play.startConnection()
היא אסינכרונית, לכן עליך לשנותInstallReferrerStateListener
כדי לקבל התקשרות חזרה אחריstartConnection()
שהושלמו.משנים את
onInstallReferrerSetupFinished()
. כדי לקבל התראה בסיום הקריאה החוזרת. השיטה הזו נקראת באמצעות קוד תגובה שבו צריך להשתמש כדי לטפל במצבים השונים.OK
מציין שהחיבור בוצע בהצלחה. כל אחד מהשנייםInstallReferrerResponse
קבועים נועדו לסוגים שונים של שגיאות.משנים את
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, מקבלים את הפרטים ממקור ההפניה של ההתקנה, פועלים לפי השלבים הבאים:
שימוש בסנכרון
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();
זהירות: הפרטים של הגורם המפנה להתקנה יהיו זמינה למשך 90 יום ולא תשתנה אלא אם הותקנה מחדש. כדי להימנע מקריאות מיותרות ל-API באפליקציה שלכם, כדאי להפעיל את API פעם אחת בלבד במהלך ההרצה הראשונה לאחר ההתקנה.
סגירת החיבור לשירות
אחרי שתקבלו מידע על הגורם המפנה,
endConnection()
ב-
InstallReferrerClient
כדי לסגור את החיבור. סגירת החיבור תעזור לך להימנע
הדלפות ובעיות בביצועים.
מידע נוסף זמין בספריית מקורות ההפניה של Play להתקנה הפניה.