สำหรับ Use Case เช่น การวิเคราะห์หรือการป้องกันการประพฤติมิชอบในอุปกรณ์หนึ่งๆ คุณอาจต้องเชื่อมโยงการใช้งานหรือการดำเนินการในชุดแอปที่เป็นขององค์กร บริการ Google Play มีตัวเลือกที่เคารพความเป็นส่วนตัวของผู้ใช้ที่เรียกว่า รหัสชุดแอป
ขอบเขตของรหัสชุดแอป
รหัสชุดแอปอาจมีขอบเขตที่กำหนดไว้ต่อไปนี้ หากต้องการทราบว่ารหัสใดรหัสหนึ่งเชื่อมโยงกับขอบเขตใด ให้เรียก
getScope()
ขอบเขตนักพัฒนาแอป Google Play
สำหรับแอปที่ติดตั้งจาก Google Play Store, App Set ID API จะแสดงรหัสชุดแอปที่มีขอบเขตเป็นชุดแอปที่เผยแพร่ภายใต้บัญชีนักพัฒนาแอป Google Play บัญชีเดียวกัน
ตัวอย่างเช่น สมมติว่าคุณเผยแพร่แอป 2 แอปภายใต้บัญชีนักพัฒนาแอป Google Play และติดตั้งแอปทั้ง 2 แอปในอุปกรณ์เครื่องเดียวกันผ่าน Google Play Store แอปจะใช้รหัสชุดแอปเดียวกันในอุปกรณ์เครื่องนั้น รหัสจะเหมือนกันแม้ว่าแอปจะลงชื่อด้วยคีย์ที่ต่างกัน
ขอบเขตแอป
ภายใต้เงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้ App Set ID 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();
}
});
ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบ UUID ได้ที่ ตัวระบุที่ไม่ซ้ำกัน ทั่วโลก