برنامه های متعلق به توسعه دهنده را شناسایی کنید

برای موارد استفاده مانند تجزیه و تحلیل یا جلوگیری از تقلب در یک دستگاه خاص، ممکن است لازم باشد استفاده یا اقدامات را در مجموعه‌ای از برنامه‌های متعلق به سازمان خود مرتبط کنید. خدمات Google Play یک گزینه مناسب برای حفظ حریم خصوصی به نام شناسه مجموعه برنامه ارائه می دهد.

محدوده شناسه مجموعه برنامه

شناسه مجموعه برنامه می تواند یکی از محدوده های تعریف شده زیر را داشته باشد. برای تعیین اینکه یک ID خاص با کدام محدوده مرتبط است، getScope() را فراخوانی کنید.

محدوده توسعه دهنده Google Play

برای برنامه‌هایی که توسط فروشگاه Google Play نصب می‌شوند، API ID مجموعه برنامه یک شناسه را به مجموعه برنامه‌هایی که تحت همان حساب توسعه‌دهنده Google Play منتشر شده است، برمی‌گرداند.

به عنوان مثال، فرض کنید دو برنامه را تحت حساب توسعه دهنده Google Play خود منتشر کرده اید و هر دو برنامه از طریق فروشگاه Google Play بر روی یک دستگاه نصب شده اند. برنامه‌ها همان شناسه مجموعه برنامه را در آن دستگاه به اشتراک می‌گذارند. شناسه یکسان است حتی اگر برنامه ها با کلیدهای مختلف امضا شده باشند.

محدوده برنامه

تحت هر یک از شرایط زیر، مجموعه برنامه ID SDK یک شناسه منحصر به فرد برای خود برنامه تماس گیرنده در یک دستگاه خاص برمی‌گرداند:

  • این برنامه توسط نصب کننده ای غیر از فروشگاه Google Play نصب می شود.
  • خدمات Google Play قادر به تعیین حساب برنامه‌نویس Google Play برنامه نیست.
  • این برنامه روی دستگاهی بدون خدمات Google Play نصب شده است.

به مقدار حافظه پنهان شناسه مجموعه برنامه تکیه نکنید

تحت هر یک از شرایط زیر، شناسه مجموعه برنامه برای مجموعه معینی از برنامه‌های نصب‌شده در فروشگاه Google Play در دستگاه قابل بازنشانی است:

  • گروه برنامه‌هایی که مقدار شناسه یکسانی دارند بیش از 13 ماه است که به API ID مجموعه برنامه دسترسی پیدا نکرده است.
  • آخرین برنامه از مجموعه برنامه های معینی از دستگاه حذف نصب می شود.
  • کاربر بازنشانی کارخانه ای دستگاه را انجام می دهد.

برنامه شما باید از SDK برای بازیابی مقدار شناسه هر زمان که نیاز است استفاده کند.

ID SDK مجموعه برنامه را به برنامه خود اضافه کنید

قطعه زیر یک نمونه فایل build.gradle را نشان می دهد که از کتابخانه مجموعه برنامه ID استفاده می کند:

dependencies {
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
}

قطعه نمونه زیر نشان می دهد که چگونه می توانید شناسه مجموعه برنامه را به طور ناهمزمان با استفاده از Tasks API در خدمات Google Play بازیابی کنید:

کاتلین

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
})

جاوا

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();
    }
});