Tính năng Cài đặt trong dòng của Google Play (cửa hàng ứng dụng bên thứ ba)

Trang này mô tả cách các cửa hàng ứng dụng bên thứ ba đã đăng ký tham gia chương trình Quyền truy cập vào danh mục có thể tích hợp tính năng cài đặt cùng dòng của Google Play. Tính năng này cho phép các cửa hàng ứng dụng Android bên thứ ba tại Hoa Kỳ hướng người dùng đến việc tải ứng dụng của Play xuống thông qua Google Play theo các điều khoản tương tự như mọi lượt tải xuống khác được thực hiện trực tiếp qua Cửa hàng Google Play.

Điều kiện tiên quyết

Trước khi tích hợp API cài đặt trực tiếp vào cửa hàng ứng dụng bên thứ ba, bạn phải hoàn tất quy trình thiết lập sau đây trong Google Play Console:

  1. Đăng ký tham gia Chương trình quyền truy cập vào danh mục của Play: Làm theo hướng dẫn đăng ký.
  2. Chọn tham gia chương trình Quyền truy cập vào danh mục: Đăng ký tham gia chương trình Quyền truy cập vào danh mục thông qua phần cài đặt của Play Console.
  3. Truy xuất mã thông báo phân phối: Xử lý tệp xuất Danh mục ứng dụng trên Play được cung cấp cho bạn. Tệp xuất này chứa catalog_token (mã thông báo phân phối) cần thiết cho mỗi ứng dụng mà bạn đủ điều kiện phân phối.

Yêu cầu

Để giao diện nửa trang xuất hiện thành công cho người dùng, bạn phải đáp ứng các yêu cầu sau:

  • Người dùng phải ở Hoa Kỳ.
  • Phiên bản Google Play tối thiểu trên thiết bị phải là 52.3.
  • Cấp độ API Android phải là 24 trở lên.
  • Bạn phải cung cấp một catalog_token hợp lệ và còn hiệu lực để có quyền truy cập vào Cửa hàng Play.

Gọi lệnh cài đặt cùng dòng từ cửa hàng ứng dụng của bạn

Để gọi trang tính một nửa cho tính năng cài đặt trực tiếp, hãy tạo một thực thể của lớp Intent nhắm đến URL liên kết sâu của Google Play và bao gồm catalog_token riêng biệt của bạn.

Hãy sử dụng mã mẫu sau đây (Kotlin hoặc Java) làm hướng dẫn:

Kotlin

val intent = Intent(Intent.ACTION_VIEW)
val referrer = "<Your referrer string>"
val id = "<Package name of the app to be installed>"
val callerId = "<Package name of your third-party app store>"

// Retrieve the app-specific token from your processed catalog export
val catalogToken = getVerificationTokenByDocId(id)

intent.setPackage("com.android.vending")
val deepLinkUrl = "https://play.google.com/d?id=$id&referrer=$referrer"
intent.data = Uri.parse(deepLinkUrl)

// Set the required intent extras
intent.putExtra("overlay", true)
intent.putExtra("callerId", callerId)
intent.putExtra("catalog_token", catalogToken)

val packageManager = context.getPackageManager()
if (intent.resolveActivity(packageManager) != null) {
  startActivityForResult(intent, 0) // Call with a request code to receive ActivityResults
}

Java

Intent intent = new Intent(Intent.ACTION_VIEW);
String referrer = "<Your referrer string>";
String id = "<Package name of the app to be installed>";
String callerId = "<Package name of your third-party app store>";

// Retrieve the app-specific token from your processed catalog export
String catalogToken = getVerificationTokenByDocId(id);

intent.setPackage("com.android.vending");
String deepLinkUrl = "https://play.google.com/d?id=" + id + "&referrer=" + referrer;
intent.setData(Uri.parse(deepLinkUrl));

// Set the required intent extras
intent.putExtra("overlay", true);
intent.putExtra("callerId", callerId);
intent.putExtra("catalog_token", catalogToken);

PackageManager packageManager = context.getPackageManager();
if (intent.resolveActivity(packageManager) != null) {
  startActivityForResult(intent, 0); // Call with a request code to receive ActivityResults
}

Tham số API cài đặt nội tuyến

Bạn phải truyền các tham số sau trong URL ý định hoặc dưới dạng thông tin bổ sung về ý định để cho phép cài đặt cùng dòng:

Trường Loại Vị trí Mô tả Bắt buộc
id String Truy vấn URL Tên gói của ứng dụng mục tiêu cần cài đặt. Có
referrer String Truy vấn URL Chuỗi theo dõi liên kết giới thiệu không bắt buộc. Không
overlay boolean Intent Extra Đặt thành true để yêu cầu giao diện nửa trang nội tuyến. Có
callerId String Intent Extra Tên gói của cửa hàng ứng dụng bên thứ ba được phê duyệt. Có
catalog_token String Intent Extra Mã thông báo phân phối riêng biệt được cung cấp trong tệp xuất Quyền truy cập vào danh mục. Lưu ý: Mã thông báo được xác thực về độ mới, mức độ khớp với gói mục tiêu và mức độ khớp với gói của phương thức gọi. Có

(Không bắt buộc) Tính năng Cài đặt trực tiếp trên Google Play có lớp phủ trạng thái cài đặt

Để hiển thị lớp phủ trạng thái cài đặt bằng quy trình cài đặt trực tiếp, bạn cần tích hợp tính năng Cài đặt trực tiếp trên Google Play với tính năng Khả năng chi trả liên tục bằng SDK HSDP của Google Play.

Để quy trình cài đặt trực tiếp có khả năng cài đặt cố định xuất hiện:

  • Phiên bản tối thiểu của Cửa hàng Google Play trên thiết bị mục tiêu phải là 52.6 trở lên.
  • Cấp độ API Android phải là 24 (Android M) trở lên.
  • Tích hợp với HSDP SDK phiên bản 2.1.0 trở lên.

Ví dụ về quy trình tích hợp

Kotlin

// Step 1: Initialize HSDP Service
// Note: Calling create(activity) automatically configures useServiceBasedHsdp = false
// (Activity Path) under the hood without requiring manual boolean flags.
val hsdpService = HsdpDeepLinkServiceFactory.create(activity)

// Step 2: Construct Extra Query Parameters with Catalog Token
val extraQueryParams = mapOf("catalog_token" to "YOUR_SECURE_CATALOG_TOKEN_VALUE")

// Step 3: Trigger Inline Install Flow
hsdpService.open(
    targetAppPackageName = "com.example.targetapp",
    referrer = "3pas_ad_campaign_123",
    listener = object : HsdpDeepLinkServiceListener {
        override fun onDeepLinkStarted() {
            // Inline details dialog started successfully
        }
        override fun onAffordanceStarted() {
            // HPOA persistent affordance UI attached
        }
        override fun onAffordanceEnded() {
            // Affordance UI detached
        }
        override fun onError(errorMessage: String) {
            // Handle error or fallback
        }
    },
    extraQueryParams = extraQueryParams
)

Java

// Step 1: Initialize HSDP Service
// Note: Calling create(activity) automatically configures useServiceBasedHsdp = false
// (Activity Path) under the hood without requiring manual boolean flags.
HsdpDeepLinkService hsdpService = HsdpDeepLinkServiceFactory.create(activity);

// Step 2: Construct Extra Query Parameters with Catalog Token
Map<String, String> extraQueryParams = new HashMap<>();
extraQueryParams.put("catalog_token", "YOUR_SECURE_CATALOG_TOKEN_VALUE");

// Step 3: Trigger Inline Install Flow
hsdpService.open(
    "com.example.targetapp",
    "3pas_ad_campaign_123",
    new HsdpDeepLinkServiceListener() {
      @Override
      public void onDeepLinkStarted() {
        // Inline details dialog started successfully
      }

      @Override
      public void onAffordanceStarted() {
        // HPOA persistent affordance UI attached
      }

      @Override
      public void onAffordanceEnded() {
        // Affordance UI detached
      }

      @Override
      public void onError(String errorMessage) {
        // Handle error or fallback
      }
    },
    extraQueryParams);

Ví dụ về cách dừng theo dõi khả năng chi trả

Cho phép ứng dụng gọi điện dừng theo dõi trạng thái cài đặt theo cách thủ công và đóng lớp phủ HPOA. Lưu ý: Thao tác này sẽ không đóng trang cài đặt HSDP mà chỉ đóng khả năng chi trả.

Kotlin

// Stop tracking the installation state and dismiss the affordance overlay
hsdpService.stopAffordance(
    targetAppPackageName = "com.example.targetapp",
    listener = object : HsdpDeepLinkService.AffordanceListener {
        override fun onAffordanceStopped() {
            // Affordance overlay stopped successfully
        }
    }
)

Java

// Stop tracking the installation state and dismiss the affordance overlay
hsdpService.stopAffordance(
    "com.example.targetapp",
    new HsdpDeepLinkService.AffordanceListener() {
      @Override
      public void onAffordanceStopped() {
        // Affordance overlay stopped successfully
      }
    });

Trạng thái và trải nghiệm người dùng của khả năng chi trả

Tính năng Cài đặt trực tiếp trên Google Play có nút cài đặt cố định có hai trạng thái hiển thị:

  1. Trạng thái đang cài đặt: Cho thấy hình thu nhỏ của ứng dụng mục tiêu và vòng quay tiến trình cài đặt. Khi nhấp vào hình thu nhỏ, bạn sẽ mở lại trang cài đặt HSDP.
  2. Trạng thái sau khi cài đặt: Hiển thị biểu tượng ứng dụng mục tiêu kèm theo hành động "Mở". Khi bạn nhấp vào hình thu nhỏ, ứng dụng mới cài đặt sẽ mở ra.
Đang cài đặt Sau khi cài đặt
Trạng thái cài đặt (Mở rộng)

Trạng thái cài đặt (Thu gọn)
Trạng thái sau khi cài đặt