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

بالنسبة إلى حالات الاستخدام، مثل الإحصاءات أو منع الاحتيال على جهاز معيّن، قد تحتاج إلى ربط الاستخدام أو الإجراءات في مجموعة من التطبيقات التي تملكها مؤسستك. توفّر خدمات 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.0.2'
}

يوضِّح مقتطف النموذج التالي كيفية استرداد رقم تعريف مجموعة التطبيقات بشكل غير متزامن باستخدام واجهة برمجة تطبيقات "مهام Google" في خدمات 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();
    }
});