ระบุแอปของนักพัฒนาแอป

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