میتوانید از Install Referrer API «فروشگاه Google Play» برای بازیابی ایمن محتوای ارجاعی از Google Play استفاده کنید. کتابخانه کارخواه Play Install Referrer API به زبان برنامهنویسی Java نوشته شده است و پوششی برای فایل «زبان تعریف میانای Android» (AIDL) است که میانا را برای سرویس Install Referrer تعریف میکند. میتوانید از کتابخانه کارخواه Play Install Referrer API برای ساده کردن فرایند توسعه استفاده کنید.
این راهنما اصول بازیابی اطلاعات ارجاعی از Google Play را بااستفاده از «کتابخانه ارجاعدهنده نصب Play» پوشش میدهد.
درحال بهروزرسانی وابستگیهای برنامه
خط زیر را به بخش وابستگیهای فایل build.gradle
برای برنامهتان اضافه کنید:
شیک
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
کاتلین
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
درحال اتصال به Google Play
قبلاز اینکه بتوانید از «کتابخانه Play Install Referrer API» استفاده کنید، باید بااستفاده از مراحل زیر، اتصالی به برنامه «فروشگاه Play» برقرار کنید:
- برای ایجاد نمونهای از کلاس
InstallReferrerClient، روشnewBuilder()را فراخوانی کنید. برای برقراری اتصال به Google Play،
startConnection()را فراخوانی کنید.روش
startConnection()غیرهمزمان است، بنابراین بایدInstallReferrerStateListenerرا لغو کنید تا پساز تکمیلstartConnection()فراخوانی دریافت کنید.روش
onInstallReferrerSetupFinished()را لغو کنید تا پساز تکمیل فراخوانی به شما اطلاع داده شود. این روش با کد پاسخی فراخوانی میشود که باید از آن برای مدیریت حالتهای مختلف استفاده کنید.OKنشان میدهد که اتصال موفقیتآمیز بوده است. هرکدام از ثابتهای دیگرInstallReferrerResponseبرای انواع مختلف خطاها هستند.روش
onInstallReferrerServiceDisconnected()را لغو کنید تا اتصالات قطعشده به Google Play را مدیریت کنید. برای مثال، اگر سرویس «فروشگاه Play» در پسزمینه درحال بهروزرسانی باشد، ممکن است اتصال کارخواه «کتابخانه ارجاعدهنده نصب Play» قطع شود. کلاینت کتابخانه باید روشstartConnection()را فراخوانی کند تا اتصال را قبلاز ارسال درخواستهای بیشتر بازراهاندازی کند.
کد زیر نحوه شروع و آزمایش اتصال به برنامه «فروشگاه Play» را نشان میدهد:
کاتلین
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. } })
جاوا
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ارائه میدهد برای دریافت جزئیات درباره ارجاعدهنده نصب استفاده کنید.
کد زیر نشان میدهد که چگونه میتوانید به اطلاعات ارجاعدهنده نصب دسترسی پیدا کنید:
کاتلین
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
جاوا
ReferrerDetails response = referrerClient.getInstallReferrer(); String referrerUrl = response.getInstallReferrer(); long referrerClickTime = response.getReferrerClickTimestampSeconds(); long appInstallTime = response.getInstallBeginTimestampSeconds(); boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
احتیاط: اطلاعات ارجاعدهنده نصب بهمدت ۹۰ روز دردسترس خواهد بود و تغییر نخواهد کرد مگراینکه برنامه دوباره نصب شود. برای جلوگیری از فراخوانیهای غیرضروری میانای برنامهسازی کاربردی در برنامهتان، باید میانای برنامهسازی کاربردی را فقط یکبار درطول اولین اجرا پساز نصب فراخوانی کنید.
درحال بستن اتصال سرویس
پساز دریافت اطلاعات ارجاعدهنده،
روش endConnection() را در نمونه
InstallReferrerClient
فراخوانی کنید تا اتصال بسته شود. بستن اتصال به شما کمک میکند از
نشت و مشکلات عملکرد جلوگیری کنید.
برای اطلاعات بیشتر، به مرجع کتابخانه ارجاعدهنده نصب Play مراجعه کنید.