تحديد التطبيقات التي يملكها مطوّر البرامج

بالنسبة إلى حالات الاستخدام، مثل الإحصاءات أو منع الاحتيال على جهاز معيّن، قد تحتاج إلى ربط الاستخدام أو الإجراءات ضمن مجموعة من التطبيقات التي تمتلكها مؤسستك. توفّر خدمات Google Play خيارًا يراعي الخصوصية يُعرف باسم معرِّف مجموعة التطبيقات.

نطاق معرِّف مجموعة التطبيقات

يمكن أن يكون لمعرِّف مجموعة التطبيقات أحد النطاقات المحدّدة التالية. لتحديد النطاق المرتبط بمعرّف معيّن، يمكنك استدعاء getScope().

نطاق مطوّري Google Play

بالنسبة إلى التطبيقات التي يتم تثبيتها من خلال "متجر Google Play"، تعرض واجهة برمجة التطبيقات لمعرِّف مجموعة التطبيقات معرِّفًا يقتصر على مجموعة التطبيقات المنشورة ضمن حساب المطوِّر نفسه على Google Play.

على سبيل المثال، لنفترض أنّك نشرت تطبيقَين ضمن حساب المطوِّر الخاص بك على Google Play، وتم تثبيت كلا التطبيقَين على الجهاز نفسه من خلال "متجر Google Play". وتتشارك التطبيقات معرِّف مجموعة التطبيقات نفسه على ذلك الجهاز. ويكون رقم التعريف هو نفسه حتى إذا تم توقيع التطبيقات بمفاتيح مختلفة.

نطاق التطبيق

في أي من الحالات التالية، تعرض حزمة تطوير البرامج (SDK) لمعرِّف مجموعة التطبيقات معرِّفًا فريدًا لتطبيق الاتصال نفسه على جهاز معيّن:

  • تم تثبيت التطبيق من خلال أداة تثبيت غير "متجر Google Play".
  • لا يمكن لـ "خدمات Google Play" تحديد حساب المطوّر على Google Play الخاص بأحد التطبيقات.
  • التطبيق مثبَّت على جهاز لا يتضمّن "خدمات Google Play".

لا تعتمد على قيمة مخزّنة مؤقتًا لمعرِّف مجموعة التطبيقات

يمكن إعادة ضبط معرِّف مجموعة التطبيقات لمجموعة معيّنة من التطبيقات المثبَّتة من "متجر Google Play" على جهاز معيّن في أي من الحالات التالية:

  • لم يتم الوصول إلى واجهة برمجة التطبيقات لمعرِّف مجموعة التطبيقات من خلال مجموعات التطبيقات التي تشارك قيمة المعرِّف نفسها لأكثر من 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();
    }
});

لمزيد من المعلومات حول تنسيق المعرّف الفريد العالمي، يُرجى الاطّلاع على المعرّف الفريد العالمي.