میتوانید از Install Referrer API فروشگاه Google Play برای بازیابی ایمن محتوای ارجاع از Google Play استفاده کنید. Play Install Referrer API Client Library به زبان برنامه نویسی جاوا نوشته شده است و پوششی برای فایل Android Interface Definition Language (AIDL) است که رابط سرویس Install Referrer را تعریف می کند. میتوانید از Play Install Referrer API Client Library برای سادهسازی فرآیند توسعهتان استفاده کنید.
این راهنما اصول اولیه بازیابی اطلاعات ارجاع را از 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 Store متصل شوید:
- برای ایجاد نمونه ای از کلاس
InstallReferrerClient
متدnewBuilder()
را فراخوانی کنید. برای برقراری ارتباط با Google Play با
startConnection()
تماس بگیرید.متد
startConnection()
ناهمزمان است، بنابراین بایدInstallReferrerStateListener
لغو کنید تا پس از تکمیلstartConnection()
یک تماس برگشتی دریافت کنید.روش
onInstallReferrerSetupFinished()
را نادیده بگیرید تا پس از تکمیل فراخوان به شما اطلاع داده شود. این روش با یک کد پاسخ فراخوانی می شود که باید از آن برای مدیریت حالت های مختلف استفاده کنید.OK
نشان می دهد که اتصال موفقیت آمیز بوده است. هر یک از ثابت های دیگرInstallReferrerResponse
برای انواع مختلفی از خطاها هستند.برای مدیریت اتصالات از دست رفته به Google Play، روش
onInstallReferrerServiceDisconnected()
را لغو کنید. به عنوان مثال، اگر سرویس فروشگاه Play در پسزمینه بهروزرسانی شود، ممکن است سرویس گیرنده کتابخانه معرفیکننده Play Install اتصال را قطع کند. کلاینت کتابخانه باید متدstartConnection()
برای راه اندازی مجدد اتصال قبل از درخواست بیشتر فراخوانی کند.
کد زیر نحوه شروع و آزمایش اتصال به برنامه Play Store را نشان می دهد:
کاتلین
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 Store، با انجام مراحل زیر، جزئیات را از ارجاع دهنده نصب دریافت کنید:
برای برگرداندن نمونه ای از
ReferrerDetails
از متد همگامgetInstallReferrer()
استفاده کنید.از روش هایی که کلاس
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();
احتیاط: اطلاعات ارجاع دهنده نصب به مدت 90 روز در دسترس خواهد بود و تغییر نخواهد کرد مگر اینکه برنامه مجدداً نصب شود. برای جلوگیری از تماس های غیر ضروری API در برنامه خود، باید API را فقط یک بار در اولین اجرای پس از نصب فراخوانی کنید.
بستن اتصال سرویس
پس از دریافت اطلاعات ارجاع دهنده، متد endConnection()
را در نمونه InstallReferrerClient
خود فراخوانی کنید تا اتصال را ببندید. بستن اتصال به شما کمک می کند از نشت و مشکلات عملکرد جلوگیری کنید.
برای اطلاعات بیشتر، به مرجع کتابخانه ارجاع دهنده نصب Play مراجعه کنید.