Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Bạn có thể sử dụng Install Referrer API của Cửa hàng Google Play để truy xuất nội dung giới thiệu từ Google Play một cách an toàn. Thư viện Play Install Referrer API Client được viết bằng ngôn ngữ lập trình Java và là một trình bao bọc cho tệp Ngôn ngữ định nghĩa giao diện Android (AIDL). Tệp này giúp xác định giao diện cho dịch vụ Install Referrer. Bạn có thể sử dụng Thư viện Play Install Referrer API Client để đơn giản hoá quá trình phát triển của mình.
Bài hướng dẫn này trình bày các thông tin cơ bản về việc truy xuất thông tin giới thiệu trong Google Play qua Thư viện Play Install Referrer.
Cập nhật các phần phụ thuộc của ứng dụng
Hãy thêm dòng sau đây vào phần phụ thuộc của tệp build.gradle trong ứng dụng:
Ghi đè phương thức onInstallReferrerSetupFinished() để nhận thông báo khi lệnh gọi lại hoàn tất. Bạn phải dùng một mã phản hồi để gọi phương thức này nhằm xử lý các trạng thái khác nhau.
OK cho biết việc kết nối đã thành công. Mỗi một hằng số InstallReferrerResponse khác nhau là để dành cho các loại lỗi khác nhau.
Ghi đè phương thức onInstallReferrerServiceDisconnected() để xử lý các trường hợp mất kết nối tới Google Play. Ví dụ: ứng dụng thư viện Play Install Referrer có thể mất kết nối nếu dịch vụ Cửa hàng Play đang cập nhật trên nền. Ứng dụng thư viện phải thực hiện lệnh gọi phương thức startConnection() để khởi động lại kết nối trước khi thực hiện các yêu cầu bổ sung.
Mã sau đây minh hoạ cách bắt đầu và kiểm tra kết nối tới ứng dụng Cửa hàng Play:
Kotlin
privatelateinitvarreferrerClient:InstallReferrerClientreferrerClient=InstallReferrerClient.newBuilder(this).build()referrerClient.startConnection(object:InstallReferrerStateListener{overridefunonInstallReferrerSetupFinished(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.}}}overridefunonInstallReferrerServiceDisconnected(){// Try to restart the connection on the next request to// Google Play by calling the startConnection() method.}})
Java
InstallReferrerClientreferrerClient;referrerClient=InstallReferrerClient.newBuilder(this).build();referrerClient.startConnection(newInstallReferrerStateListener(){@OverridepublicvoidonInstallReferrerSetupFinished(intresponseCode){switch(responseCode){caseInstallReferrerResponse.OK:// Connection established.break;caseInstallReferrerResponse.FEATURE_NOT_SUPPORTED:// API not available on the current Play Store app.break;caseInstallReferrerResponse.SERVICE_UNAVAILABLE:// Connection couldn't be established.break;}}@OverridepublicvoidonInstallReferrerServiceDisconnected(){// Try to restart the connection on the next request to// Google Play by calling the startConnection() method.}});
Lấy liên kết giới thiệu cài đặt
Sau khi bạn đã thiết lập kết nối tới ứng dụng Cửa hàng Play, vui lòng lấy thông tin chi tiết từ liên kết giới thiệu cài đặt bằng cách hoàn thành các bước sau:
Chú ý: Thông tin liên kết giới thiệu cài đặt sẽ có sẵn trong vòng 90 ngày và sẽ không thay đổi trừ khi ứng dụng được cài đặt lại. Để tránh các lệnh gọi API không cần thiết trong ứng dụng, bạn nên gọi API chỉ một lần trong lần thực thi đầu tiên sau khi cài đặt.
Đóng kết nối dịch vụ
Sau khi nhận được thông tin liên kết giới thiệu, hãy gọi phương thức endConnection() trên thực thể InstallReferrerClient để đóng kết nối. Việc đóng kết nối sẽ giúp bạn tránh được sự rò rỉ và các vấn đề hiệu suất.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Play Install Referrer Library\n\nYou can use the Google Play Store's Install Referrer API to securely retrieve\nreferral content from Google Play. The Play Install Referrer API Client Library\nis written in the Java programming language and is a wrapper for the Android\nInterface Definition Language (AIDL) file that defines the interface to the\nInstall Referrer service. You can use the Play Install Referrer API Client\nLibrary to simplify your development process.\n\nThis guide covers the basics of retrieving referral information from Google\nPlay using the Play Install Referrer Library.\n| **Note:** If you are developing your app using a language other than the Kotlin programming language or the Java programming language, you can interact directly with the AIDL file by using the [Play Install Referrer\n| API](/google/play/installreferrer/igetinstallreferrerservice).\n\nUpdating your app's dependencies\n--------------------------------\n\nAdd the following line to the dependencies section of the `build.gradle` file\nfor your app: \n\n### Groovy\n\n```groovy\ndependencies {\n ...\n implementation \"com.android.installreferrer:installreferrer:2.2\"\n}\n```\n\n### Kotlin\n\n```kotlin\ndependencies {\n ...\n implementation(\"com.android.installreferrer:installreferrer:2.2\")\n}\n```\n\nConnecting to Google Play\n-------------------------\n\nBefore you can use the Play Install Referrer API Library, you must\nestablish a connection to the Play Store app using the following\nsteps:\n\n1. Call the [`newBuilder()`](/reference/com/android/installreferrer/api/InstallReferrerClient#newBuilder(android.content.Context)) method to create an instance of [`InstallReferrerClient`](/reference/com/android/installreferrer/api/InstallReferrerClient) class.\n2. Call the\n [`startConnection()`](/reference/com/android/installreferrer/api/InstallReferrerClient#startConnection(com.android.installreferrer.api.InstallReferrerStateListener))\n to establish a connection to Google Play.\n\n3. The [`startConnection()`](/reference/com/android/installreferrer/api/InstallReferrerClient#startConnection(com.android.installreferrer.api.InstallReferrerStateListener))\n method is asynchronous, so you must override\n [`InstallReferrerStateListener`](/reference/com/android/installreferrer/api/InstallReferrerStateListener)\n to receive a callback after\n [`startConnection()`](/reference/com/android/installreferrer/api/InstallReferrerClient#startConnection(com.android.installreferrer.api.InstallReferrerStateListener))\n completes.\n\n4. Override the [`onInstallReferrerSetupFinished()`](/reference/com/android/installreferrer/api/InstallReferrerStateListener#onInstallReferrerSetupFinished(int))\n method to be notified when the callback completes. This method is called\n with a response code that you must use to handle the different states.\n [`OK`](https://developer.android.com/reference/com/android/installreferrer/api/InstallReferrerClient.InstallReferrerResponse#OK)\n indicates that the connection was successful. Each of the other\n [`InstallReferrerResponse`](/reference/com/android/installreferrer/api/InstallReferrerClient.InstallReferrerResponse)\n constants are for different types of errors.\n\n5. Override the [`onInstallReferrerServiceDisconnected()`](/reference/com/android/installreferrer/api/InstallReferrerStateListener#oninstallreferrerservicedisconnected)\n method to handle lost connections to Google Play. For\n example, the Play Install Referrer Library client may lose the connection if the\n Play Store service is updating in the background. The library client must call\n the\n [`startConnection()`](/reference/com/android/installreferrer/api/InstallReferrerClient#startConnection(com.android.installreferrer.api.InstallReferrerStateListener))\n method to restart the connection before making further requests.\n\nThe following code demonstrates how to start and test a connection to the\nPlay Store app: \n\n### Kotlin\n\n```kotlin\nprivate lateinit var referrerClient: InstallReferrerClient\n\nreferrerClient = InstallReferrerClient.newBuilder(this).build()\nreferrerClient.startConnection(object : InstallReferrerStateListener {\n\n override fun onInstallReferrerSetupFinished(responseCode: Int) {\n when (responseCode) {\n InstallReferrerResponse.OK -\u003e {\n // Connection established.\n }\n InstallReferrerResponse.FEATURE_NOT_SUPPORTED -\u003e {\n // API not available on the current Play Store app.\n }\n InstallReferrerResponse.SERVICE_UNAVAILABLE -\u003e {\n // Connection couldn't be established.\n }\n }\n }\n\n override fun onInstallReferrerServiceDisconnected() {\n // Try to restart the connection on the next request to\n // Google Play by calling the startConnection() method.\n }\n})\n```\n\n### Java\n\n```java\nInstallReferrerClient referrerClient;\n\nreferrerClient = InstallReferrerClient.newBuilder(this).build();\nreferrerClient.startConnection(new InstallReferrerStateListener() {\n @Override\n public void onInstallReferrerSetupFinished(int responseCode) {\n switch (responseCode) {\n case InstallReferrerResponse.OK:\n // Connection established.\n break;\n case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:\n // API not available on the current Play Store app.\n break;\n case InstallReferrerResponse.SERVICE_UNAVAILABLE:\n // Connection couldn't be established.\n break;\n }\n }\n\n @Override\n public void onInstallReferrerServiceDisconnected() {\n // Try to restart the connection on the next request to\n // Google Play by calling the startConnection() method.\n }\n});\n```\n\nGetting the install referrer\n----------------------------\n\nAfter you have established a connection to the Play Store app, get the details\nfrom the install referrer by completing the following steps:\n\n1. Use the synchronized\n [`getInstallReferrer()`](/reference/com/android/installreferrer/api/InstallReferrerClient#getInstallReferrer())\n method to return an instance of\n [`ReferrerDetails`](/reference/com/android/installreferrer/api/ReferrerDetails).\n\n2. Use the methods that the\n [`ReferrerDetails`](/reference/com/android/installreferrer/api/ReferrerDetails)\n class provides to get details about the install referrer.\n\nThe following code demonstrates how you can access the install referrer\ninformation: \n\n### Kotlin\n\n```kotlin\nval response: ReferrerDetails = referrerClient.installReferrer\nval referrerUrl: String = response.installReferrer\nval referrerClickTime: Long = response.referrerClickTimestampSeconds\nval appInstallTime: Long = response.installBeginTimestampSeconds\nval instantExperienceLaunched: Boolean = response.googlePlayInstantParam\n```\n\n### Java\n\n```java\nReferrerDetails response = referrerClient.getInstallReferrer();\nString referrerUrl = response.getInstallReferrer();\nlong referrerClickTime = response.getReferrerClickTimestampSeconds();\nlong appInstallTime = response.getInstallBeginTimestampSeconds();\nboolean instantExperienceLaunched = response.getGooglePlayInstantParam();\n```\n\n**Caution:** The install referrer information will be\navailable for 90 days and **won't change** unless the application is\nreinstalled. To avoid unnecessary API calls in your app, you should invoke the\nAPI **only once** during the first execution after install.\n\nClosing service connection\n--------------------------\n\nAfter getting referrer information, call the\n[`endConnection()`](/reference/com/android/installreferrer/api/InstallReferrerClient#endConnection())\nmethod on your\n[`InstallReferrerClient`](/reference/com/android/installreferrer/api/InstallReferrerClient)\ninstance to close the connection. Closing the connection will help you avoid\nleaks and performance problems.\n\nFor further information, refer to the [Play Install Referrer Library\nReference](/reference/com/android/installreferrer/packages)."]]