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

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

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

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

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

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

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

حوزه برنامه

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

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

به مقدار ذخیره‌شده در حافظه نهان «شناسه مجموعه برنامه» تکیه نکنید

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

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

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

افزودن کیت توسعه نرم‌افزار شناسه مجموعه برنامه به برنامه

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

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

برای اطلاعات بیشتر درباره قالب UUID، به شناسه منحصربه‌فرد جهانی مراجعه کنید.