Thư viện Play Install Referrer

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:

  1. Thực hiện lệnh gọi newBuilder() để tạo một thực thể của lớp InstallReferrerClient.
  2. Thực hiện lệnh gọi startConnection() để thiết lập kết nối tới Google Play.

  3. Phương thức startConnection() không đồng bộ, vì vậy, bạn phải ghi đè InstallReferrerStateListener để nhận lệnh gọi lại sau khi startConnection() hoàn tất.

  4. 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.

  5. 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

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:

  1. 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ủa ReferrerDetails.

  2. 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.