Play Install Referrer Library

می‌توانید از 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 متصل شوید:

  1. برای ایجاد نمونه ای از کلاس InstallReferrerClient متد newBuilder() را فراخوانی کنید.
  2. برای برقراری ارتباط با Google Play با startConnection() تماس بگیرید.

  3. متد startConnection() ناهمزمان است، بنابراین باید InstallReferrerStateListener لغو کنید تا پس از تکمیل startConnection() یک تماس برگشتی دریافت کنید.

  4. روش onInstallReferrerSetupFinished() را نادیده بگیرید تا پس از تکمیل فراخوان به شما اطلاع داده شود. این روش با یک کد پاسخ فراخوانی می شود که باید از آن برای مدیریت حالت های مختلف استفاده کنید. OK نشان می دهد که اتصال موفقیت آمیز بوده است. هر یک از ثابت های دیگر InstallReferrerResponse برای انواع مختلفی از خطاها هستند.

  5. برای مدیریت اتصالات از دست رفته به 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، با انجام مراحل زیر، جزئیات را از ارجاع دهنده نصب دریافت کنید:

  1. برای برگرداندن نمونه ای از ReferrerDetails از متد همگام getInstallReferrer() استفاده کنید.

  2. از روش هایی که کلاس 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 مراجعه کنید.