البدء

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

الخطوة 1: الحصول على "خدمات Google Play"

تتوفّر واجهة برمجة التطبيقات Nearby Messages على أجهزة Android التي تعمل بالإصدار 7.8.0 أو الإصدارات الأحدث من خدمات Google Play. تتلقّى الأجهزة التي تعمل بالإصدار 2.3 من نظام التشغيل Android أو الإصدارات الأحدث والتي يتوفّر عليها تطبيق "متجر Google Play" تلقائيًا تحديثات "خدمات Google Play". لمعرفة إصدار "خدمات Google Play" المثبَّت على جهازك، انتقِل إلى الإعدادات > التطبيقات > خدمات Google Play.

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

  1. افتح مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
  2. ضمن المظهر والسلوك (Appearance & Behavior) > إعدادات النظام (System Settings) > حزمة تطوير البرامج (SDK) لنظام التشغيل Android > أدوات حزمة تطوير البرامج (SDK Tools)، تأكَّد من تثبيت الحِزم التالية:

    • خدمات Google Play
    • Google Repository

الخطوة 2: الحصول على حساب Google

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

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

اتّبِع الخطوات التالية لتفعيل واجهة برمجة التطبيقات Nearby Messages API من Google على Android والحصول على مفتاح API:

  1. انتقِل إلى Google Developers Console.
  2. أنشئ مشروعًا أو اختَر مشروعًا لتسجيل تطبيقك فيه.
  3. انقر على متابعة لتفعيل واجهة برمجة التطبيقات.
  4. في صفحة بيانات الاعتماد، أنشئ مفتاح Android جديدًا (واضبط بيانات اعتماد واجهة برمجة التطبيقات).
    ملاحظة: إذا كان لديك مفتاح Android حالي، يمكنك استخدامه.
  5. في مربّع الحوار الناتج، أدخِل بصمة SHA-1 لتطبيقك واسم الحزمة. على سبيل المثال:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    com.example.android.nearbyexample
  6. يظهر مفتاح واجهة برمجة التطبيقات الجديد لنظام Android في قائمة مفاتيح واجهة برمجة التطبيقات لمشروعك. مفتاح واجهة برمجة التطبيقات هو سلسلة من الأحرف، مثل ما يلي:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

الحصول على بصمة الإصبع لشهادة SHA1

لإنشاء مفتاح واجهة برمجة تطبيقات جديد لتطبيق Android، يجب توفير الملف المرجعي SHA1 للشهادة التي تستخدمها لتوقيع حزمة APK. لا يمكن تبادل الرسائل إلا بين التطبيقات الموقَّعة باستخدام مفاتيح واجهة برمجة التطبيقات من المشروع نفسه.

للحصول على بصمة الإصبع هذه، اتّبِع الخطوات التالية:

  1. ابحث عن موقع ملف تخزين المفاتيح.
  2. في الوحدة الطرفية، شغِّل الأداة keytool من حزمة تطوير Java. على سبيل المثال، إذا كنت تستخدم ملف `debug`:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    ملاحظة: بالنسبة إلى ملف تخزين مفاتيح تصحيح الأخطاء، تكون كلمة المرور هي android. في نظامَي التشغيل Mac OS وLinux، يكون ملف تخزين المفاتيح المخصّص لتصحيح الأخطاء عادةً في ~/.android/debug.keystore. في نظام التشغيل Windows، يكون هذا الملف عادةً في %USERPROFILE%\.android\debug.keystore.

  4. يحتوي ناتج الأمر keytool على الملف المرجعي SHA1 للشهادة.

الخطوة 4: ضبط مشروعك

يسهّل عليك استوديو Android إنشاء مشروع لواجهة برمجة التطبيقات Nearby Messages. اتّبِع الخطوات الموضّحة في إنشاء مشروع لإنشاء مشروع جديد. في Android Studio، افتح ملف build.gradle الخاص بالوحدة وأضِف مكتبة برامج Google Play services كعنصر تابع:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.3.0'
}

بعد ذلك، اضبط ملف البيان باستخدام مفتاح واجهة برمجة التطبيقات الذي تم إنشاؤه في الخطوة السابقة:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.sample.app" >
    <application ...>
        <meta-data
            android:name="com.google.android.nearby.messages.API_KEY"
            android:value="API_KEY" />
        <activity>
        ...
        </activity>
    </application>
</manifest>

الخطوة 5: النشر والاشتراك

في تطبيقك، ابدأ استخدام واجهة برمجة التطبيقات Nearby Messages API.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.d(TAG, "Found message: " + new String(message.getContent()));
        }

        @Override
        public void onLost(Message message) {
            Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
        }
    }

    mMessage = new Message("Hello World".getBytes());
}

@Override
public void onStart() {
    super.onStart();
    ...
    Nearby.getMessagesClient(this).publish(mMessage);
    Nearby.getMessagesClient(this).subscribe(mMessageListener);
}

@Override
public void onStop() {
    Nearby.getMessagesClient(this).unpublish(mMessage);
    Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
    ...
    super.onStop();
}

تتطلّب واجهة برمجة التطبيقات "رسائل الأجهزة المجاورة" موافقة المستخدم. عند استدعاء عملية النشر أو الاشتراك للمرة الأولى، ستعرض ميزة "الأجهزة المجاورة" مربّع حوار للموافقة على المشاركة.