بدء استخدام مجموعة Android SDK

تعتبر مجموعة Facebook SDK لنظام Android أسهل طريقة لتنفيذ تكامل تطبيقك لنظام Android مع فيسبوك. وتتيح لك ما يلي:

تتوفر طريقتان لإعداد تطبيقك لاستخدام Facebook SDK:

  • عن طريق استخدام البدء السريع.
  • عن طرق إعداد مشروعك باستخدام Facebook SDK.

البدء السريع

للحصول على معرف تطبيق فيسبوك، قم بتكوين إعدادات تطبيقك، واستيراد Facebook SDK والنقر على الزر أدناه واتباع التعليمات على الإنترنت.

البدء السريع لنظام التشغيل Android

 

الدلائل ذات الصلة:

إعداد Android Studio

لاستخدام Facebook SDK في مشروع، أضفها كمتطلب للإنشاء ثم استوردها بعد ذلك.

1. انتقل إلى Android Studio | New Project | Minimum SDK

2. حدد API 15: Android 4.0.3 أو أعلى ثم قم بإنشاء مشروعك الجديد.

3. بعد إنشاء المشروع الجديد، افتح your_app | build.gradle

4. أضف ما يلي إلى القسم buildscript { repositories {}} من الملف build.gradle (Project):

mavenCentral() 

5. أضف ما يلي إلى القسم dependencies {} في الملف build.gradle (module: app) لتجميع أحدث إصدار من مجموعة Facebook SDK

يجب حذف هذا الكائن. يرجى الرجوع إلى Arsenio Locsin للحصول على مزيد من المعلومات.

عند استخدام مجموعة Facebook SDK، يتم تسجيل الأحداث التي تتم في تطبيقك تلقائيًا ويتم تجميع بياناتها لاستخدامها في Facebook Analytics إلا إذا قمت بتعطيل التسجيل التلقائي للأحداث. للحصول على المزيد من التفاصيل حول المعلومات التي يتم تجميعها وكيفية تعطيل التسجيل التلقائي للأحداث، يمكنك الرجوع إلى التسجيل التلقائي لأحداث التطبيق.

6. ابدأ بناء مشروعك. يمكنك الآن استيراد com.facebook.FacebookSdk إلى تطبيقك.

إضافة معرف تطبيق فيسبوك

بعد ذلك، أضف معرف تطبيق فيسبوك إلى ملف سلاسل مشروعك وقم بتحديث ملف بيانات Android:

1. افتح ملف strings.xml. مثال على المسار: /app/src/main/res/values/strings.xml.

2. أضف سلسلة جديدة بالاسم facebook_app_id واجعل القيمة معرف تطبيق فيسبوك الخاص بك

3. افتح AndroidManifest.xml

4. أضف عنصر uses-permission إلى ملف البيانات:

<uses-permission android:name="android.permission.INTERNET"/>

5. أضف عنصر meta-data إلى عنصر application:

<application android:label="@string/app_name" ...>
    ...
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    ...
</application>

إرسال الصور أو مقاطع الفيديو

إذا كنت تشارك الروابط أو الصور أو مقاطع الفيديو عبر تطبيق فيسبوك لنظام Android، فستحتاج أيضًا إلى تحديد FacebookContentProvider في ملف البيانات.

ألحق معرف تطبيقك بنهاية قيمة authorities. على سبيل المثال، إذا كان معرف تطبيق فيسبوك هو 1234، فسيكون التحديد على النحو التالي:

<provider android:authorities="com.facebook.app.FacebookContentProvider1234"
          android:name="com.facebook.FacebookContentProvider"
          android:exported="true" />

استخدام SDK مع ProGuard

لا يلزمك تنفيذ أية خطوات إضافية لاستخدام ProGuard من أجل Facebook Android SDK. لمزيد من الإرشادات عن Proguard، يمكنك الرجوع إلى موقع مطوري Android، انكماش الرمز البرمجي والموارد.

تشغيل نماذج التطبيقات

تأتي النماذج التالية مع SDK:

  • HelloFacebookSample - يعرض الوصول إلى الصفحة الشخصية، وتحديثات الحالة وتحميل الصور
  • RPSSample - يستخدم مربع الحوار مشاركة الأصلي، ونشر Open Graph، وعناصر الاختيار، والدعوات، والروابط العميقة.
  • Scrumptious - تسجيل الدخول، والطلبات، وعناصر الاختيار، وتحميلات الصور، ونشر Open Graph.

يمكنك التجربة باستخدام النماذج عن طريق استيراد SDK إلى مشروع Android Studio.

تمتاز النماذج بأن لها تبعية مشروع وليس تبعية مستودع مركزي عبر maven central أو jcenter. وهي كذلك بحيث تعكس النماذج التغييرات عندما تحصل النسخة المحلية من SDK على تحديثات.

لتشغيل نماذج التطبيقات سريعًا، يمكنك إنشاء علامات تجزئة المفتاح لبيئات التطوير التي تستخدمها. بعد ذلك، أضفها إلى صفحة المطور الشخصية على فيسبوك الخاصة بك لنماذج التطبيقات. يتم تضمين أداة المفاتيح، المستخدمة في إنشاء علامات تجزئة المفاتيح، مع Java SE Development Kit (JDK) التي قمت بتثبيتها كجزء في إعداد بيئة التطوير الخاصة بك. OpenSSL متاح للتنزيل من OpenSSL.

على نظام OS X، يتم تشغيل:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

على نظام Windows، يتم تشغيل:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64

يؤدي ذلك إلى إنشاء سلسلة تتألف من 28 حرفًا.

انتقل إلى موقع مطوري فيسبوك. سجّل دخولك إلى فيسبوك، وباستخدام القائمة المنسدلة بالزاوية العلوية اليسرى، انتقل إلى Developer Settings (إعدادات المطور):

من إعدادات المطور، حدد Sample App (نموذج تطبيق) من القائمة، ثم أضف علامة تجزئة المفتاح واحفظها بصفحتك الشخصية:

يمكنك إضافة العديد من علامات تجزئة المفاتيح إذا كنت تطور باستخدام عدة أجهزة.

يمكنك الآن جمع وتشغيل كل النماذج - بما فيها التي تستخدم تسجيل دخول فيسبوك.

إنشاء علامة تجزئة مفتاح التطوير

يستخدم فيسبوك علامة تجزئة المفتاح للمصادقة على التعاملات التي تتم بين تطبيقك وتطبيق فيسبوك. إذا كنت تعمل على تطبيقات تستخدم تسجيل دخول فيسبوك، فستحتاج إلى إضافة علامة تجزئة مفتاح تطوير Android إلى صفحة المطور الشخصية الخاصة بك على فيسبوك.

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

على أي من OS X أو Windows، يمكنك الحصول على علامة تجزئة المفتاح عن طريق إنشائها أو باستخدام القيمة التي أرجعتها Settings.getApplicationSignature(Context). للحصول على التعليمات، راجع تشغيل نماذج التطبيقات.


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

بعد تثبيت Facebook SDK لنظام Android وتكوين معرف تطبيق فيسبوك، يمكن أن ترى:


إعداد علامة تجزئة مفتاح الإصدار

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

في خطوة سابقة، من المفترض أنك أنهيت تحديث إعدادات مطور فيسبوك بعلامات تجزئة المفاتيح لبيئات التطوير التي تعمل عليها.

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

لإنشاء علامة تجزئة لمفتاح الإصدار، عليك تشغيل الأمر التالي في Mac أو Windows مع تبديل اسم مفتاح الإصدار المستعار ومساره إلى مخزن المفاتيح لديك. على نظام OS X، يتم تشغيل:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

على نظام Windows، يتم استخدام:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

تأكد من استخدام كلمة السر التي حددتها عند إنشاء مفتاح الإصدار أول مرة.

من المفترض أن يؤدي هذا الأمر إلى إنشاء سلسلة تتألف من 28 حرفًا. انسخ علامة تجزئة مفتاح الإصدار إلى إعدادات Android لمعرف تطبيق فيسبوك.

ينبغي عليك أيضًا التحقق من احتواء إعدادات Android لمعرف تطبيق فيسبوك على اسم الحزمة الصحيح وفئة النشاط الرئيسي لحزمة Android.


استخدام Facebook SDK مع Maven

يمكنك إعلان تبعية Maven مع أحدث إصدار متوفر من Android SDK:

<dependency>
  <groupId>com.facebook.android</groupId>
  <artifactId>facebook-android-sdk</artifactId>
  <version>PUT_LATEST_VERSION_HERE</version>
</dependency> 

استكشاف أخطاء نماذج التطبيقات وإصلاحها

إذا واجهتك مشكلة في تشغيل نماذج التطبيقات، فقد تكون مشكلتك متعلقة بعلامة تجزئة المفتاح. قد ترى أحد السيناريوهات التالية:

  • يظهر مربع حوار تسجيل دخول أصلي ولكن بعد قبول الأذونات تظل قيد تسجيل الخروج. يحتوي سجل الرسائل أيضًا على استثناء:
12-20 10:23:24.507: W/fb4a:fb:OrcaServiceQueue(504):
com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id
  • يظهر مربع حوار تسجيل دخول غير أصلي به رسالة خطأ: "تطبيق .. مكوّن بشكل غير صحيح لتسجيل دخول فيسبوك...".

افحص علامة تجزئة المفتاح وعندها يمكنك التأكد من استخدام علامة تجزئة المفتاح الصحيحة. I

يمكنك أيضًا تعديل نموذج الرمز البرمجي يدويًا لاستخدام علامة تجزئة المفتاح الصحيحة. على سبيل المثال، في الفئة HelloFacebookSampleActivity قم بإجراء تغيير مؤقت على onCreate():

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    // Add code to print out the key hash
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.facebook.samples.hellofacebook", 
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {
        
    } catch (NoSuchAlgorithmException e) {
        
    }
    
    ...

احفظ التغييرات وأعد تشغيل النموذج. افحص مخرجات سجل الرسائل للبحث عن رسالة تشبه ما يلي:

12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=

احفظ علامة تجزئة المفتاح في صفحة المطور الشخصية. أعد تشغيل النماذج وتحقق من أن بإمكانك تسجيل الدخول بنجاح.