البدء

يوضّح هذا المستند كيفية بدء التطوير باستخدام Awareness API على Android. تُعدّ Awareness API جزءًا من خدمات Google Play.

لاستخدام Awareness API، يجب أن يكون لديك حساب Google. إذا كان لديك حساب، تكون قد انتهيت من عملية إعداد حسابك. قد تحتاج أيضًا إلى حساب Google منفصل لأغراض الاختبار.

قبل البدء

الحصول على مفتاح واجهة برمجة التطبيقات

إذا لم يسبق لك تفعيل Awareness API والحصول على مفتاح Google API، اتّبِع الخطوات الواردة في الاشتراك ومفاتيح واجهة برمجة التطبيقات لإجراء ذلك.

ضبط إعدادات تطبيقك

  1. في ملف build.gradle على مستوى المشروع، أدرِج مستودع Maven الخاص بـ Google في كل من القسمَين buildscript وallprojects:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. أضِف الاعتماديات الخاصة بواجهة برمجة التطبيقات Awareness API إلى ملف Gradle على مستوى التطبيق في وحدتك، والذي يكون عادةً app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:19.1.0'
    }
    
  3. أضِف مفتاح Awareness API إلى ملف AndroidManifest.xml في تطبيقك. لإجراء ذلك، أضِف علامة <meta-data> مع android:name="com.google.android.awareness.API_KEY". بالنسبة إلى android:value، أدرِج مفتاح واجهة برمجة التطبيقات Awareness API الخاص بك بين علامتَي اقتباس.

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.awareness.API_KEY"
                android:value="API_KEY"/>
        </application>
    </manifest>
  4. أضِف الأذونات اللازمة إلى ملف AndroidManifest.xml في تطبيقك. تختلف الأذونات المطلوبة حسب طرق واجهة برمجة التطبيقات وأنواع الحدود الجغرافية التي يستخدمها تطبيقك.

مثال على مكالمة

يوضّح مثال طلب البيانات التالي من getDetectedActivity() كيفية استخدام نموذج خدمات Google Play غير المتصل مع Awareness API:

    // Each type of contextual information in the snapshot API has a corresponding "get" method.
    // For instance, this is how to get the user's current Activity.
    Awareness.getSnapshotClient(this).getDetectedActivity()
        .addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
            @Override
            public void onSuccess(DetectedActivityResponse dar) {
                ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
                // getMostProbableActivity() is good enough for basic Activity detection.
                // To work within a threshold of confidence,
                // use ActivityRecognitionResult.getProbableActivities() to get a list of
                // potential current activities, and check the confidence of each one.
                DetectedActivity probableActivity = arr.getMostProbableActivity();

                int confidence = probableActivity.getConfidence();
                String activityStr = probableActivity.toString();
                mLogFragment.getLogView().println("Activity: " + activityStr
                    + ", Confidence: " + confidence + "/100");
            }
        })

الخطوات التالية

مزيد من المعلومات حول واجهات برمجة التطبيقات المختلفة ضمن Awareness API: