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

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