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