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:
Groovy
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Kotlin
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
Kết nối tới Google Play
Trước khi có thể sử dụng Thư viện Play Install Referrer API, bạn phải thiết lập kết nối tới ứng dụng Cửa hàng Play theo các bước sau:
- Thực hiện lệnh gọi
newBuilder()
để tạo một thực thể của lớpInstallReferrerClient
. Thực hiện lệnh gọi
startConnection()
để thiết lập kết nối tới Google Play.Phương thức
startConnection()
là không đồng bộ, vì vậy, bạn phải ghi đèInstallReferrerStateListener
để nhận lệnh gọi lại sau khistartConnection()
hoàn tất.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ứcstartConnection()
để 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
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. } });
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:
Sử dụng phương thức
getInstallReferrer()
đồng bộ hoá để thực hiện câu lệnh trả về một thực thể củaReferrerDetails
.Sử dụng các phương thức được lớp
ReferrerDetails
cung cấp để lấy thông tin chi tiết về đường liên kết giới thiệu cài đặt.
Mã sau đây minh hoạ cách truy cập vào thông tin liên kết giới thiệu cài đặt:
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();
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.
Để biết thêm thông tin, vui lòng tham khảo bài viết Thông tin tham khảo về Thư viện Play Install Referrer.