Thay đổi về ID Quảng cáo: Cách lấy Google GAID trong Android 13+?

opoinstall
2026-08-24
5 min read

GAID là gì và cách lấy nó bằng lập trình? Google Advertising ID (GAID) là mã định danh phần mềm do người dùng có thể đặt lại, do Google Play services cung cấp để đo lường quảng cáo. Mã này được truy xuất theo chương trình bên ngoài luồng chính bằng cách sử dụng AdvertisingIdClient API sau khi đảm bảo tệp kê khai ứng dụng được hợp nhất đã chứa quyền AD_ID khi cần thiết.

Google Advertising ID (GAID), còn được gọi là Android Advertising ID (AAID), là một chuỗi duy nhất do người dùng đặt lại được cung cấp bởi Google Play services nhằm mục đích quy kết quảng cáo, nhắm mục tiêu quảng cáo được cá nhân hóa và phân tích trên các thiết bị Android. Các ứng dụng nhắm mục tiêu Android 13 (Cấp API 33) trở lên phải đảm bảo rằng tệp kê khai được hợp nhất chứa quyền com.google.android.gms.permission.AD_ID khi truy cập Advertising ID của Google Play services; nếu không, API sẽ trả về giá trị toàn số không.

Thuật ngữ Định nghĩa
GAID Google Advertising ID do Google Play services cung cấp để đo lường quảng cáo.
AdvertisingIdClient API Google Play services được sử dụng để truy vấn siêu dữ liệu mã định danh quảng cáo.
Quyền AD_ID Quyền trong Android manifest bắt buộc đối với các ứng dụng nhắm mục tiêu cấp API 33 trở lên khi truy cập Google Play services Advertising ID.
Mã định danh về số không Giá trị chỉ báo toàn số không (00000000-0000-0000-0000-000000000000) được trả về khi Advertising ID không có sẵn hoặc bị giữ lại.

GAID là gì và Google Advertising ID hoạt động như thế nào

Giải phẫu kỹ thuật của Advertising ID

Google Advertising ID (GAID) được Google Play services trả về dưới dạng chuỗi định danh ẩn danh, thường có định dạng UUID thập lục phân chữ thường 128-bit (ví dụ: 38400000-8cf0-11bd-b23e-10b96e4ef00d). Các ứng dụng nên coi chuỗi được trả về này như một mã định danh ẩn danh thay vì suy luận logic nghiệp vụ từ định dạng của nó.

Không giống như các mã định danh cấp phần cứng, GAID được thiết kế với các biện pháp kiểm soát quyền riêng tư rõ ràng:

  • Có thể đặt lại bởi người dùng: Người dùng có thể tạo một mã định danh ngẫu nhiên mới bất cứ lúc nào thông qua cài đặt thiết bị.
  • Có thể xóa bởi người dùng: Bắt đầu từ Android 12, người dùng có thể xóa ID quảng cáo của họ, ra lệnh cho Google Play services giữ lại các mã định danh quảng cáo từ tất cả các ứng dụng.
  • Phạm vi thiết bị theo từng cấu hình: Mã định danh quảng cáo thường có sẵn trên các ứng dụng cho cùng một hồ sơ người dùng thiết bị, nhưng các hồ sơ người dùng hoặc khách Android khác nhau trên cùng một thiết bị vật lý sẽ nhận được các mã định danh quảng cáo riêng biệt.

Vai trò của Google Play Services trong việc quản lý trạng thái mã định danh

GAID không phải là một phần của khung Android mã nguồn mở cốt lõi. Đây là một dịch vụ cấp ứng dụng được quản lý và phục vụ động bởi thư viện ứng dụng khách độc quyền của Google Play services (com.google.android.gms:play-services-ads-identifier).

Khi một ứng dụng gọi Google Play services, ứng dụng khách sẽ thực hiện giao tiếp chặn với Google Play services để truy xuất mã định danh quảng cáo hiện tại và tùy chọn giới hạn theo dõi quảng cáo của người dùng.

Tại sao GAID thay thế các mã định danh phần cứng

Trong các phiên bản Android đầu, các mạng quảng cáo và nhà phát triển theo dõi sự kiện chuyển đổi bằng các mã định danh phần cứng không thể đặt lại:

  • International Mobile Equipment Identity (IMEI): Gắn liền với phần cứng di động của thiết bị.
  • Địa chỉ Media Access Control (MAC): Gắn liền với phần cứng giao diện mạng.
  • ANDROID_ID (SSAID): Trên các phiên bản Android 8.0+ hiện đại, mã định danh này được phạm vi hóa cho từng tổ hợp khóa ký ứng dụng, người dùng và thiết bị thay vì hoạt động như một khóa quảng cáo đa ứng dụng phổ quát.

Đối với các trường hợp sử dụng quảng cáo trên Google Play, nhà phát triển phải sử dụng Advertising ID khi có sẵn thay vì thay thế bằng một mã định danh thiết bị cố định khác.

Xem thêm: GAID ──> Kiến trúc quy kết di động

Yêu cầu quyền Android 13: Khai báo tệp kê khai AD_ID

Mô hình thực thi cấp API 33

Bắt đầu từ Android 13 (cấp API 33), Google đã giới thiệu quyền com.google.android.gms.permission.AD_ID:

  • Mục tiêu SDK 33 trở lên: Các ứng dụng nhắm mục tiêu Android 13 trở lên phải khai báo quyền AD_ID trong tệp kê khai của chúng. Nếu bỏ qua quyền này, Google Play services sẽ trả về một chuỗi các số không (00000000-0000-0000-0000-000000000000).
  • Mục tiêu SDK 32 trở xuống: Quyền AD_ID không bắt buộc trong tệp kê khai. Tuy nhiên, Advertising ID vẫn có thể không có sẵn hoặc bị đặt về số không do cài đặt quyền riêng tư ID quảng cáo của người dùng, bao gồm trạng thái giới hạn theo dõi quảng cáo hoặc trạng thái xóa.
  • Khai báo chính sách Play Store: Khi gửi bản cập nhật nhắm mục tiêu cấp API 33+, nhà phát triển phải hoàn thành việc khai báo Advertising ID hiện tại trong Google Play Console, báo cáo chính xác liệu ứng dụng có sử dụng mã định danh này hay không và sử dụng bằng cách nào.

Quy trình truy xuất GAID trên Android 13 và mã định danh về số không

Cấu hình AndroidManifest.xml và các phần phụ thuộc Gradle

Để khai báo quyền, hãy bao gồm thẻ <uses-permission> bên trong AndroidManifest.xml. Trong tệp build.gradle của mô-đun ứng dụng, hãy thêm phần phụ thuộc chính thức play-services-ads-identifier.

Cấu hình bên dưới minh họa cú pháp quyền tệp kê khai và thiết lập phần phụ thuộc Gradle:

```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <!-- Bắt buộc trên API 33+ để truy cập GAID khác 0 -->
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:theme="@style/Theme.MyApp">
        <!-- Các thành phần ứng dụng -->
    </application>
</manifest>
// Vị trí: app/build.gradle
// Lưu ý: Các phiên bản phần phụ thuộc ví dụ được hiển thị; hãy xác minh các bản phát hành ổn định hiện tại trong các kho lưu trữ chính thức trước khi sử dụng trong môi trường sản xuất.

dependencies {
    // Thư viện định danh quảng cáo Google Play services chính thức
    implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'

    // Kotlin Coroutines để thực thi bất đồng bộ bên ngoài luồng chính
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
}

Hiểu về việc hợp nhất tệp kê khai: Tiêm SDK truyền qua

Khi xây dựng tệp APK Android hoặc Android App Bundle (AAB), hệ thống xây dựng Gradle sẽ hợp nhất các tệp kê khai từ tất cả các thư viện của bên thứ ba được nhập thành một tệp AndroidManifest.xml duy nhất.

Nếu SDK mạng quảng cáo, công cụ phân tích hoặc thư viện quy kết được nhập khai báo com.google.android.gms.permission.AD_ID trong tệp kê khai nội bộ của nó, quyền đó sẽ tự động được hợp nhất vào bản dựng cuối cùng của bạn. Nhà phát triển có thể kiểm tra app/build/outputs/logs/manifest-merger-release-report.txt để kiểm tra phần phụ thuộc nào đã giới thiệu quyền đó.

Truy xuất theo chương trình: Lấy GAID qua AdvertisingIdClient trong Kotlin

Quy tắc thực thi bắt buộc bên ngoài luồng chính

Việc gọi AdvertisingIdClient.getAdvertisingIdInfo(context) khởi tạo một lệnh gọi đồng bộ tới Google Play services. Google nghiêm cấm thực thi phương thức này trên luồng chính (giao diện người dùng).

Gọi getAdvertisingIdInfo() trên luồng chính sẽ ném ra lỗi IllegalStateException ngay lập tức:

java.lang.IllegalStateException: Calling this from your main thread can lead to deadlock

Để ngăn chặn các lỗi ANR (Ứng dụng không phản hồi) và sự cố thời gian chạy của ứng dụng, nhà phát triển phải phân phối lệnh gọi trích xuất bên trong một trình xử lý nền hoặc Kotlin Coroutine bằng cách sử dụng Dispatchers.IO.

Truy xuất GAID bằng AdvertisingIdClient bên ngoài luồng chính

Triển khai các tác vụ xử lý nền bằng Kotlin Coroutines

Việc triển khai Kotlin dưới đây minh họa một AdvertisingIdManager an toàn theo luồng thực hiện việc trích xuất bên ngoài luồng chính, xử lý các ngoại lệ tính khả dụng của Google Play services và xác thực tính toàn vẹn của mã định danh:

package com.example.myapp.analytics

import android.content.Context
import android.util.Log
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import com.google.android.gms.common.GooglePlayServicesNotAvailableException
import com.google.android.gms.common.GooglePlayServicesRepairableException
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.IOException

data class GaidResult(
    val gaid: String?,
    val isLimitAdTrackingEnabled: Boolean,
    val isZeroed: Boolean,
    val isAvailable: Boolean
)

object AdvertisingIdManager {

    private const val TAG = "AdvertisingIdManager"
    private const val ZEROED_GAID = "00000000-0000-0000-0000-000000000000"

    /**
     * Truy xuất có lập trình Google Advertising ID bên ngoài luồng thực thi chính.
     * Tự động xử lý ngoại lệ, trạng thái về không và tùy chọn từ chối của người dùng.
     */
    suspend fun fetchGaid(context: Context): GaidResult = withContext(Dispatchers.IO) {
        try {
            // Gọi IPC Google Play services bị chặn trên trình điều phối coroutine IO
            val adInfo: AdvertisingIdClient.Info = AdvertisingIdClient.getAdvertisingIdInfo(context)
            
            val rawId = adInfo.id
            val isLAT = adInfo.isLimitAdTrackingEnabled
            val isZeroed = rawId == null || rawId.equals(ZEROED_GAID, ignoreCase = true)

            if (isZeroed) {
                Log.w(TAG, "Advertising ID không có sẵn hoặc đã bị đặt về số không.")
                GaidResult(
                    gaid = null,
                    isLimitAdTrackingEnabled = isLAT,
                    isZeroed = true,
                    isAvailable = false
                )
            } else {
                Log.d(TAG, "Đã truy xuất thành công Advertising ID. LAT đã bật: $isLAT")
                GaidResult(
                    gaid = rawId,
                    isLimitAdTrackingEnabled = isLAT,
                    isZeroed = false,
                    isAvailable = true
                )
            }
        } catch (e: GooglePlayServicesNotAvailableException) {
            Log.e(TAG, "Google Play services chưa được cài đặt hoặc không có sẵn trên thiết bị này.", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: GooglePlayServicesRepairableException) {
            Log.w(TAG, "Google Play services yêu cầu cập nhật hoặc khôi phục từ người dùng.", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: IOException) {
            Log.e(TAG, "Lỗi giao tiếp khi kết nối với Google Play services.", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: IllegalStateException) {
            Log.e(TAG, "Trạng thái không hợp lệ trong khi truy xuất Advertising ID.", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        } catch (e: Exception) {
            Log.e(TAG, "Lỗi không mong muốn khi truy xuất Google Advertising ID.", e)
            GaidResult(gaid = null, isLimitAdTrackingEnabled = true, isZeroed = false, isAvailable = false)
        }
    }
}

Phân tích AdvertisingIdClient.Info và xử lý giới hạn theo dõi quảng cáo

Phương thức AdvertisingIdClient.getAdvertisingIdInfo() trả về một đối tượng AdvertisingIdClient.Info chứa hai thuộc tính chính:

  • getId() (String): Chuỗi chữ và số đại diện cho mã định danh quảng cáo.
  • isLimitAdTrackingEnabled() (Boolean): Khi bật giới hạn theo dõi quảng cáo, chính sách của Google Play cấm sử dụng dữ liệu Advertising ID để tạo hồ sơ quảng cáo hoặc nhắm mục tiêu quảng cáo được cá nhân hóa. Chính sách vẫn cho phép các hoạt động như quảng cáo theo ngữ cảnh, giới hạn tần suất, theo dõi chuyển đổi, báo cáo và phát hiện bảo mật/gian lận; tuy nhiên, trên các dịch vụ Google Play hiện tại, bản thân Advertising ID sẽ được đặt về số không khi bật cài đặt này, vì vậy các ứng dụng không nên giả định rằng GAID khả dụng vẫn tiếp tục hoạt động.

Xử lý mã định danh về số không và trạng thái do người dùng khởi tạo

Chuỗi 00000000-0000-0000-0000-000000000000: Khi nào và tại sao nó xuất hiện

Trong môi trường sản xuất, AdvertisingIdClient.Info.getId() trả về 00000000-0000-0000-0000-000000000000 khi:

  1. Người dùng đã xóa Advertising ID: Người dùng đã điều hướng đến cài đặt thiết bị và xóa mã định danh quảng cáo của họ.
  2. Đã bật giới hạn theo dõi quảng cáo: Người dùng đã bật giới hạn theo dõi quảng cáo trên các phiên bản hệ điều hành được hỗ trợ.
  3. Thiếu quyền tệp kê khai: Ứng dụng nhắm mục tiêu Android 13+ (cấp API 33+) và không khai báo com.google.android.gms.permission.AD_ID trong tệp kê khai được hợp nhất của nó.

Xử lý mã định danh về số không và trạng thái quyền riêng tư của GAID

Quy trình cài đặt của người dùng: Xóa Advertising ID

Người dùng trên các bản phát hành Android hiện tại có thể xóa mã định danh của họ bằng cách điều hướng đến:

Cài đặt > Quyền riêng tư > Quảng cáo > Xóa ID quảng cáo (các nhãn chính xác có thể khác nhau tùy theo nhà sản xuất thiết bị OEM).

Khi bị xóa, Google Play services sẽ xóa sạch giá trị cơ bản. Các lệnh gọi API tiếp theo trên tất cả các ứng dụng đã cài đặt sẽ trả về chuỗi bằng không.

Yêu cầu chính sách Google Play đối với trạng thái đặt lại và xóa

Theo Chính sách dành cho nhà phát triển Google Play về Advertising ID, nhà phát triển phải xử lý các hành động quyền riêng tư của người dùng theo các quy tắc cụ thể:

  • Yêu cầu đặt lại: Khi người dùng đặt lại Advertising ID của họ, nhà phát triển không được nối hoặc kết nối Advertising ID mới với Advertising ID trước đó hoặc dữ liệu bắt nguồn từ đó mà không có sự đồng ý rõ ràng của người dùng.
  • Yêu cầu xóa: Khi người dùng xóa Advertising ID của họ, nhà phát triển không được kết nối thiết bị đó với dữ liệu được liên kết hoặc bắt nguồn từ Advertising ID trước đó của nó.

Làm sạch dữ liệu đầu vào mã định danh trong các luồng dữ liệu hạ lưu

Các công cụ quy kết phụ trợ phải thực hiện các bộ lọc xác thực để ngăn các chuỗi bằng không làm ô nhiễm cơ sở dữ liệu quy kết:

fun isGaidValid(gaid: String?): Boolean {
    if (gaid.isNullOrBlank()) return false
    val zeroedGaid = "00000000-0000-0000-0000-000000000000"
    return !gaid.equals(zeroedGaid, ignoreCase = true)
}

Nếu phát hiện thấy mã định danh về số không, các hệ thống hạ lưu không được coi đây là GAID có thể sử dụng hoặc khóa khớp mã định danh; bất kỳ quá trình xử lý quy kết hoặc phân tích nào cũng chỉ nên dựa vào các tín hiệu được phép độc lập khác.

Chính sách Gia đình của Google Play và các hạn chế theo danh mục ứng dụng

Quy tắc xử lý dữ liệu trong ứng dụng dành cho gia đình

Google Play thực thi các quy tắc bảo vệ dữ liệu nghiêm ngặt đối với các ứng dụng tham gia chương trình Gia đình hoặc nhắm mục tiêu trẻ em:

  • Cấm truyền AAID: Các ứng dụng chỉ nhắm mục tiêu trẻ em không được truyền Advertising ID (AAID). Đối với các ứng dụng nhắm mục tiêu cấp API 33 trở lên, Google khuyên bạn nên bỏ qua hoặc vô hiệu hóa quyền AD_ID như một cơ chế tuân thủ đơn giản.
  • Xử lý đối tượng hỗn hợp: Các ứng dụng nhắm mục tiêu cả trẻ em và đối tượng lớn tuổi hơn không được truyền AAID từ trẻ em hoặc người dùng chưa rõ độ tuổi. Theo mặc định, các ứng dụng và SDK nên tránh truyền AAID cho đến khi xác minh độ tuổi xác nhận người dùng không phải là trẻ em.

Sử dụng tools:node=“remove” trong tệp kê khai

Nếu ứng dụng của bạn nhắm mục tiêu đến trẻ em, nhưng SDK của bên thứ ba được nhập tự động tiêm quyền AD_ID thông qua việc hợp nhất tệp kê khai, hãy thêm thuộc tính tools:node="remove" vào tệp AndroidManifest.xml chính của bạn:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.familyapp">

    <!-- Xóa rõ ràng AD_ID được tiêm bởi các phần phụ thuộc truyền qua -->
    <uses-permission 
        android:name="com.google.android.gms.permission.AD_ID" 
        tools:node="remove"/>

</manifest>

Các giải pháp thay thế đo lường cụ thể theo trường hợp sử dụng khi GAID không khả dụng

Khi GAID bị đưa về số không, bị xóa hoặc bị hạn chế bởi chính sách, các nhóm kỹ thuật sẽ triển khai các giải pháp thay thế cụ thể theo trường hợp sử dụng dựa trên mục tiêu chức năng của họ:

  • Quy kết chiến dịch: Sử dụng Google Play Install Referrer API để truy xuất các tham số chiến dịch do cửa hàng trung gian chuyển qua URL Cửa hàng Play (referrer=...). Hoạt động độc lập với việc xóa GAID.
  • Quy trình giới thiệu và ý định của người dùng: Sử dụng tính năng định tuyến tham số ngữ cảnh của bên thứ nhất để khôi phục mã giới thiệu, mã khuyến mại và đích đến liên kết sâu được truyền từ các trang đích trên web.
  • Phân tích và gian lận do nhà phát triển sở hữu: Sử dụng App Set ID (AppSetIdClient) để tạo mã định danh được chia sẻ trên các ứng dụng được xuất bản dưới cùng một tài khoản nhà phát triển, mà không theo dõi quảng cáo đa ứng dụng.
                    GAID Không khả dụng hoặc Về số không
                                 │
         ┌───────────────────────┼───────────────────────┐
         │                       │                       │
         ▼                       ▼                       ▼
   Chiến dịch trả phí        Giới thiệu &          Phân tích & Gian lận
       Quy kết            Ý định chuyển đổi      Thuộc sở hữu nhà phát triển
         │                       │                       │
         ▼                       ▼                       ▼
    Google Play             Bên thứ nhất             App Set ID
  Install Referrer            Ngữ cảnh             (Thuộc nhà phát triển
     (URL cửa hàng)           Định tuyến          hoặc phạm vi ứng dụng)

Các giải pháp thay thế GAID cho quy trình giới thiệu và phân tích quy kết

Ma trận so sánh: GAID với Install Referrer với App Set ID

Chiều Google Advertising ID (GAID) Google Play Install Referrer App Set ID (AppSet)
Loại mã định danh UUID quảng cáo đa ứng dụng có thể đặt lại Chuỗi tham số chiến dịch qua trung gian cửa hàng Mã định danh thuộc phạm vi nhà phát triển hoặc ứng dụng, tùy thuộc vào cài đặt và bối cảnh Play services
Quyền tệp kê khai com.google.android.gms.permission.AD_ID Không có Không có
Ảnh hưởng của việc người dùng xóa Trả về chuỗi toàn số không Độc lập với việc xóa GAID Có thể đặt lại sau 13 tháng không truy cập API, khi ứng dụng cuối cùng trong tập hợp bị gỡ cài đặt hoặc sau khi đặt lại về cài đặt gốc
Trường hợp sử dụng chính Quy kết quảng cáo & nhắm mục tiêu lại đa ứng dụng Theo dõi hiệu suất chiến dịch trên Cửa hàng Play Phát hiện gian lận & phân tích thuộc sở hữu của nhà phát triển
Mức độ phù hợp với chính sách Gia đình Không được truyền từ trẻ em Không tuân theo lệnh cấm truyền cụ thể của AAID; việc sử dụng vẫn phải tuân thủ các chính sách Gia đình hiện hành Được Google khuyến khích sử dụng cho phân tích trong các ứng dụng dành cho gia đình

Các câu hỏi thường gặp (FAQ)

Tại sao việc gọi AdvertisingIdClient lại gây lỗi IllegalStateException?
AdvertisingIdClient.getAdvertisingIdInfo(context) thực hiện giao tiếp chặn với Google Play services. Google nghiêm cấm gọi phương thức này trên luồng thực thi chính. Nhà phát triển phải gọi phương thức này bên trong luồng nền hoặc Kotlin Coroutine bằng cách sử dụng `Dispatchers.IO`.
Điều gì xảy ra nếu ứng dụng nhắm mục tiêu Android 13 và không khai báo quyền AD_ID?
Nếu ứng dụng nhắm mục tiêu cấp API 33 trở lên và không khai báo quyền `com.google.android.gms.permission.AD_ID` trong tệp kê khai được hợp nhất của mình, API Google Play services sẽ tự động trả về `00000000-0000-0000-0000-000000000000` thay vì mã định danh quảng cáo thực tế.
Làm thế nào để xóa quyền AD_ID được tiêm bởi các phần phụ thuộc SDK của bên thứ ba?
Nếu thư viện của bên thứ ba tự động tiêm quyền `AD_ID` thông qua việc hợp nhất tệp kê khai và ứng dụng của bạn phải tuân thủ các chính sách Gia đình của Google Play, hãy thêm `<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>` vào tệp `AndroidManifest.xml` chính của bạn.

Tóm tắt và Khung quyết định

Google Advertising ID vẫn là một mã định danh có thể đặt lại quan trọng đối với các trường hợp sử dụng quảng cáo trên Android và phân tích người dùng, nhưng việc hoạt động trên Android 13+ đòi hỏi phải tuân thủ các chính sách quyền tệp kê khai, tiêu chuẩn thực thi nền và xử lý mượt mà các trạng thái mã định danh về số không. Khi GAID không khả dụng, các nhóm kỹ thuật nên chọn một nguyên mẫu đo lường dựa trên trường hợp sử dụng cụ thể—ví dụ: Install Referrer cho quy kết chiến dịch trên Cửa hàng Play, tham số ngữ cảnh của bên thứ nhất cho trạng thái giới thiệu hoặc App Set ID cho phân tích thuộc sở hữu của nhà phát triển và các kịch bản ngăn chặn gian lận.

Để khám phá các mẫu triển khai cho quy trình quy kết Android và liên kết sâu, hãy xem lại tài liệu OpoInstall.

Tài liệu liên quan

  • Khái niệm: Vòng đời Advertising ID, Quyền tệp kê khai AD_ID, Trích xuất luồng nền, Xử lý mã định danh về số không

  • Công nghệ: Google Play Services, AdvertisingIdClient API, Google Play Install Referrer API, OpoInstall Android SDK

  • Tiêu chuẩn: Chính sách dành cho nhà phát triển Google Play, Thay đổi hành vi Android 13, Tiêu chuẩn UUID IETF RFC 4122

  • API & Lớp: AdvertisingIdClient, AdvertisingIdClient.Info, AppSetIdClient, OpoInstall Context API

Tài liệu chính thức

Share this article