สำหรับกรณีการใช้งาน เช่น ข้อมูลวิเคราะห์หรือการป้องกันการประพฤติมิชอบในอุปกรณ์หนึ่งๆ คุณอาจต้องเชื่อมโยงการใช้งานหรือการดำเนินการในชุดแอปที่เป็นขององค์กรของคุณ บริการ Google Play มีตัวเลือกที่เคารพความเป็นส่วนตัวของผู้ใช้ที่เรียกว่ารหัสชุดแอป
ขอบเขตของรหัสชุดแอป
รหัสชุดแอปอาจมีขอบเขตที่กำหนดอย่างใดอย่างหนึ่งต่อไปนี้ หากต้องการทราบว่ารหัสใดรหัสหนึ่งเชื่อมโยงกับขอบเขตใด ให้เรียกใช้
getScope()
ขอบเขตของนักพัฒนาแอป Google Play
สำหรับแอปที่ติดตั้งโดย Google Play Store นั้น App Set ID API จะแสดงรหัสที่กำหนดขอบเขตไว้สำหรับชุดแอปที่เผยแพร่ภายใต้บัญชีนักพัฒนาแอป Google Play เดียวกัน
ตัวอย่างเช่น สมมติว่าคุณเผยแพร่แอป 2 แอปภายใต้บัญชีนักพัฒนาแอป Google Play และติดตั้งแอปทั้ง 2 แอปในอุปกรณ์เครื่องเดียวกันผ่าน Google Play Store แอปจะใช้รหัสชุดแอปเดียวกันในอุปกรณ์นั้น รหัสจะเหมือนกัน แม้ว่าแอปจะเซ็นด้วยคีย์ที่ต่างกัน
ขอบเขตของแอป
ในกรณีใดก็ตามต่อไปนี้ SDK ของรหัสชุดแอปจะแสดงรหัสที่ไม่ซ้ำกัน สำหรับแอปที่เรียกใช้เองในอุปกรณ์ที่กำหนด
- แอปได้รับการติดตั้งโดยโปรแกรมติดตั้งอื่นที่ไม่ใช่ Google Play Store
- บริการ Google Play ไม่สามารถระบุบัญชีนักพัฒนาแอป Google Play ของแอปได้
- แอปติดตั้งอยู่ในอุปกรณ์ที่ไม่มีบริการ Google Play
อย่าใช้ค่าที่แคชไว้ของรหัสชุดแอป
ระบบจะรีเซ็ตรหัสชุดแอปสำหรับชุดแอปที่ติดตั้งจาก Google Play Store บนอุปกรณ์ได้ในกรณีต่อไปนี้
- กลุ่มแอปที่แชร์ค่ารหัสเดียวกันไม่ได้เข้าถึง App Set ID API มานานกว่า 13 เดือนแล้ว
- ระบบจะถอนการติดตั้งแอปสุดท้ายจากชุดแอปที่กำหนดออกจากอุปกรณ์
- ผู้ใช้รีเซ็ตอุปกรณ์เป็นค่าเริ่มต้น
แอปของคุณควรใช้ SDK เพื่อดึงค่ารหัสทุกครั้งที่จำเป็น
เพิ่ม SDK รหัสชุดแอปไปยังแอป
ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างไฟล์ build.gradle
ที่ใช้ไลบรารีรหัสชุดแอป
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงข้อมูลรหัสชุดแอป แบบไม่พร้อมกันโดยใช้ Tasks API ในบริการ Google Play
Kotlin
val client = AppSet.getClient(applicationContext) as AppSetIdClient val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo> task.addOnSuccessListener({ // Determine current scope of app set ID. val scope: Int = it.scope // Read app set ID value, which uses version 4 of the // universally unique identifier (UUID) format. val id: String = it.id })
Java
Context context = getApplicationContext(); AppSetIdClient client = AppSet.getClient(context); Task<AppSetIdInfo> task = client.getAppSetIdInfo(); task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() { @Override public void onSuccess(AppSetIdInfo info) { // Determine current scope of app set ID. int scope = info.getScope(); // Read app set ID value, which uses version 4 of the // universally unique identifier (UUID) format. String id = info.getId(); } });