اختبار تنفيذ Audience Network

عند دمج Audience Network من فيسبوك بموقعك على الويب للهواتف المحمولة أو تطبيقك، يجب اختبار التنفيذ على أجهزة حقيقية باستخدام إعلانات حقيقية قبل طرحها للتشغيل. يرجى استخدام أحدث إصدار من مجموعة SDK لمنصة Audience Network في عملية الدمج لتضمين أحدث الإصلاحات والتحسينات. وتقدم لك الأقسام التالية إرشادات عن كيفية اختبار تطبيقك وموقعك على الويب.

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

1. الاختبار باستخدام إعلانات حقيقية

2. رموز أخطاء طلبات الإعلانات الحقيقية

3. الاختبار باستخدام إعلانات اختبارية

اختبار الطلبات باستخدام أداة تصحيح طلبات Audience Network

بعد تنفيذ المواضع في تطبيقك، يمكنك استخدام أداة مصحح أخطاء طلبات Audience Network للتحقق من أن فيسبوك يتلقى الطلبات من تطبيقك.

في قسم Audience Network في لوحة معلومات المطورين: https://developers.facebook.com/apps/<your_app_id>/audience-network/

انتقل إلى قسم "التطبيقات" في اللوحة اليسرى أسفل "Audience Network" وقم بالتمرير للأسفل لرؤية "مصحح أخطاء طلبات Audience Network". انقر على زر Start، وستبدأ الأداة في مراقبة الطلبات التي تصدرها من تطبيقك بنفسك.

في جهاز الاختبار الفعلي الذي يعمل بنظام التشغيل iOS أو Android، أو على نظام التشغيل iOS أو Android، انتقل إلى تطبيقك لتشغيل مواضع إعلانات Audience Network، لتظهر طلبات الإعلانات في الأداة. يرجى التحقق من أنه تم إرسال الطلبات بمعرف الطلب الصحيح واسم الحزمة وما إلى ذلك.

يتطلب ذلك وجود جهاز فعلي وعدم العمل على محاكي iOS أو محاكي Android

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

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

  1. استخدام جهاز فعلي وليس محاكي
  2. تثبيت تطبيق فيسبوك على جهازك الاختباري
  3. تسجيل الدخول إلى فيسبوك على جهازك الاختباري بدور مسؤول أو مطور أو مختبر على تطبيق Audience Network من فيسبوك
  4. إذا كنت تستخدم طبقة وسيطة، فتأكد من إرسال الطبقة الوسيطة إلى تطبيق Audience Network من فيسبوك

الاختبار باستخدام إعلانات حقيقية

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

إضافة المختبرين إلى تطبيقك

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

  1. انتقل إلى لوحة معلومات تطبيقك ثم انقر على علامة التبويب Roles "الأدوار" في الجهة اليمنى.
  2. في قسم Testers «المختبرون»، انقر على زر Add Testers "إضافة مختبرين". يمكن منح المستخدمين أدوار مسؤولين أو مطورين. نوصي بمنح المستخدمين الذين يحتاجون لاختبار التطبيق أو الموقع الويب أدوار مختبرين دون السماح لهم بعرض إعداداتها على فيسبوك.
  3. أدخل الاسم أو معرف فيسبوك أو اسم المستخدم للشخص الذي تريد إضافته كمختبر وانقر على submit «تقديم». يمكنك إدخال العديد من الأشخاص هنا.
  4. من المفترض أن يظهر لك الآن الأشخاص الذين قمت بإضافتهم كمختبرين.

إذا كنت تستخدم طبقة خدمة وسيطة، الرجاء التأكد من أنه يتم من خلال طبقة الخدمة الوسيطة إرسال طلبات إلى Audience Network. في حالة تمكين وضع الاختبار على طبقة الخدمة الوسيطة، فقد لا يتم من خلالها إرسال أية طلبات إلى الخوادم لدينا.

اختبار تطبيقات الهواتف المحمولة

  1. قم بتوزيع تطبيقك على أجهزة المختبرين باستخدام طريقة التوزيع التي تفضلها.
  2. يلزم كل مختبر تقوم بإضافته تثبيت تطبيق فيسبوك على جهازه وتسجيل الدخول إليه باستخدام معرف مستخدم فيسبوك قمت بإضافته إلى دور المختبرين. وهذا إجراء مطلوب لأن فيسبوك يحتاج إلى التعرف على المستخدم كمختبر بالتطبيق حتى يمكن يمكنه عرض الإعلان بغض النظر عن حالة مراجعة التطبيق.
  3. يمكن للمختبرين الآن تشغيل تطبيقك وتنفيذ الخطوات اللازمة لتشغيل المواضع التي تريد اختبارها. ومن المفترض أن يظهر لهم إعلان حقيقي.

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

رموز أخطاء طلبات الإعلانات الحقيقية

عند اختبار تنفيذ Facebook Audience Network، قد تواجه خطأ من بين عدة أخطاء قد تظهر عن تقديم الطلب. رموز الأخطاء هذه موضحة أدناه.

1000 - Network Error

استجابة الخادم وثائق SDK

Code=1000 “Network Error"

  • Error 1000 - Network Error. لا يمكن لمجموعة Audience Network SDK الوصول إلى موقع facebook.com (http://facebook.com/)
  • يجب أن يحاول تطبيقك تقديم طلب آخر حتى يمكن الوصول للشبكة. نوصي بتقديم طلبات إضافية حتى يتم إعادة تأسيس الاتصال أو إعلان انتهاء المهلة.

1001 - No Fill

هذا خطأ شائع يظهر عند الاختبار، ويتعلق باستجابة "بلا تعبئة"، ومن أكثر أسباب حدوث ذلك شيوعًا عدم قيام المستخدم بتسجيل الدخول إلى تطبيق فيسبوك عند اختبار تطبيقك للهواتف المحمولة أو عدم قيامه بتسجيل الدخول إلى موقع فيسبوك على الويب للهواتف المحمولة عند اختبار موقعك على الويب للهواتف المحمولة.

استجابة الخادم وثائق SDK

Code=1001 “No Fill”

  • Error 1001 - No Fill. قد يرجع ذلك إلى سبب أو أكثر من الأسباب التالية:
  • عدم قيام الشخص القائم بالاختبار بتسجيل الدخول إلى تطبيق فيسبوك الأصلي على جهازه المحمول
  • تشغيل تقييد تتبع الإعلانات (نظام iOS)
  • تشغيل إلغاء الاشتراك من الإعلانات المستندة إلى الاهتمامات (نظام Android)
  • عدم توفر مخزون إعلاني للمستخدم الحالي
  • يجب تثبيت تطبيق فيسبوك الأصلي على جهاز الاختبار.
  • يجب أن يحاول التطبيق تقديم طلب آخر بعد 30 ثانية.

1002 - Ad Load Too Frequently

استجابة الخادم وثائق SDK

Code=1002 “Load Too Frequently”

  • تستند طلبات عرض الإعلانات إلى تركيبة مكونة من الآتي:
  • معرف الجهاز
  • معرف الموضع
  • تنسيق العرض (بانر، خلالي، أصلي)
  • يجب أن يحاول التطبيق تقديم طلب آخر بعد 30 دقيقة. نقترح أيضًا ضبط معدل التحديث أو معدل الطلب لديك.

1203 - Not An App Admin, Developer or Tester

استجابة الخادم وثائق SDK

Code=1203 “Not An App Admin, Developer or Tester”

  • يجب أن يكون من يُصدر الطلب الأولي من الحزمة هو مسؤول تطبيق أو مطور أو مختبر.

2000 - Server Error

استجابة الخادم وثائق SDK

Code=2000 “Server Error"

  • Error 2000 - Server Error. قد يرجع السبب في ذلك إلى:
  • استخدام معرف موضع غير صالح - يجب أن يكون لكل من الموضع والنوع معرفًا فريدًا
  • استخدام إصدار غير مدعوم أو غير محدث من SDK - الرجاء تنزيل أحدث إصدار أو تحديث Pod إذا كنت تستخدم Cocoa Pods
  • استدعاء/استخدام غير صحيح لطريقة loadAd. نقترح وضع نقاط توقف في loadAd وأية طرق/عمليات إعادة استدعاء مرتبطة
  • يجب أن يحاول التطبيق تقديم طلب آخر بعد 30 ثانية.

2001 - Internal Error

استجابة الخادم وثائق SDK

Code=2001 “Internal Error”

  • Error 2001 - Internal Error. لم تتمكن Audience Network SDK من معالجة استجابة من facebook.com
  • يجب أن يحاول التطبيق تقديم طلب آخر بعد 30 ثانية.
  • في حالة حدوث ذلك بشكل مستمر، الرجاء تقديم بلاغ بالأخطاء إلينا.

الاختبار باستخدام إعلانات اختبارية

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

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

لطلب إعلان اختباري، يجب عليك استخدام سلسلة نوع الإعلان الاختباري التالية لتعيين تسلسل معرّف الموضع باستخدام '#' عند بدء أي كائن إعلان فيسبوك. قالب معرّف الموضع لطلب إعلانات اختبارية هو TEST_AD_TYPE#YOUR_PLACEMENT_ID.

جدول نوع الإعلان الاختباري

نوع الإعلان الاختباري الوصف تنسيقات الإعلانات المدعومة

IMG_16_9_APP_INSTALL

إعلان صورة بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء لتثبيت التطبيق

بانر، خلالي، أصلي

IMG_16_9_LINK

إعلان صورة بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء للربط

بانر، خلالي، أصلي

VID_HD_16_9_46S_APP_INSTALL

إعلان فيديو عالي الدقة مدته 46 ثانية بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء لتثبيت التطبيق

خلالي، أصلي

VID_HD_16_9_46S_LINK

إعلان فيديو عالي الدقة مدته 46 ثانية بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء للربط

خلالي، أصلي

VID_HD_16_9_15S_APP_INSTALL

إعلان فيديو عالي الدقة مدته 15 ثانية بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء لتثبيت التطبيق

خلالي، أصلي

VID_HD_16_9_15S_LINK

إعلان فيديو عالي الدقة مدته 15 ثانية بنسبة عرض إلى ارتفاع 16x9 يتضمن خيار زر دعوة لاتخاذ إجراء للربط

خلالي، أصلي

VID_HD_9_16_39S_APP_INSTALL

إعلان فيديو عالي الدقة مدته 39 ثانية بنسبة عرض إلى ارتفاع 9x16 يتضمن خيار زر دعوة لاتخاذ إجراء لتثبيت التطبيق

خلالي، أصلي

VID_HD_9_16_39S_LINK

إعلان فيديو عالي الدقة مدته 39 ثانية بنسبة عرض إلى ارتفاع 9x16 يتضمن خيار زر دعوة لاتخاذ إجراء للربط

خلالي، أصلي

CAROUSEL_IMG_SQUARE_APP_INSTALL

إعلان دوار يتضمن صورة مربعة وخيار زر دعوة لاتخاذ إجراء لتثبيت التطبيق

خلالي، أصلي

CAROUSEL_IMG_SQUARE_LINK

إعلان دوار يتضمن صورة مربعة وخيار زر دعوة لاتخاذ إجراء للربط

خلالي، أصلي

مثال لطلب إعلانات اختبارية في الرمز البرمجي على أجهزة iOS

عند استخدام Testflight في توزيع تطبيقك واختباره، لن يكون بإمكانك مشاهدة الإعلانات الحقيقية في هذه الإصدارات الاختبارية. بدلاً من ذلك، ستحتاج إلى تعيين وضع الاختبار على النحو الموضح أدناه حتى يمكنك الحصول على الإعلانات من Audience Network. في كل مرة يطالب فيها التطبيق الذي تم توزيعه بواسطة Testflight بمعرف المعلنين (IDFA)، ستحصل على معرف إعلانات أجهزة Apple (IDFA) مختلف. في العادة، يظل معرف إعلانات أجهزة Apple ثابتًا لكل جهاز إلى أن يقوم المستخدم بإعادة تعيينه يدويًا. لكن عند مطالبة إصدار Testflightبمعرف إعلانات أجهزة Apple من نظام التشغيل، فإنه لا يحصل على معرف إعلانات أجهزة Apple حقيقي. بدلاً من ذلك، يحصل على معرف إعلانات أجهزة Apple "وهمي" يتغير في كل مرة يطلبه فيها التطبيق.

ولحل هذه المشكلة، يمكنك تشغيل وضع الاختبار حتى تتيح عرض الإعلان الاختباري.

على سبيل المثال، لطلب إعلان اختباري بتنسيق الفيديو بنسبة عرض إلى الارتفاع 9:16 وزر دعوة لاتخاذ إجراء لتثبيت التطبيق في تطبيقك على نظام iOS، يجب عليك بدء تشغيل كائن FBNativeAd من خلال إضافة سطر الرمز البرمجي التالي:

[FBNativeAd *nativeAd = [[FBNativeAd alloc] initWithPlacementID:@"VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID"];

يمكنك تشغيل الرمز البرمجي السابق لطلب إعلان اختباري في مشروع NativeAdSample من مجلد عينة مجموعة Audience Network SDK.

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

#ifdef DEBUG
[FBAdSettings setLogLevel:FBAdLogLevelLog];
[FBAdSettings addTestDevice:@"HASHED_ID"];
#endif

ستظهر لك رسائل السجل التالية:

[FBAudienceNetworkLog/FBAdSettings:94] 
When testing your app with Facebook ad units,  
you must specify the device hashed ID to ensure the delivery of test ads, 
add the following code before loading an ad: `[FBAdSettings addTestDevice:@"HASHED_ID"]`
Test mode device hash: bd675f960298a92003630d76fa612b1706b745ab

قم باستبدال HASHED_ID بمعرف تجزئة الجهاز المطبوع في السجل الموضح أعلاه.

يجب عدم نشر تطبيقك للعامة مع رمز الاختبار المذكور أعلاه لأن ذلك يؤدي إلى عرض الإعلانات الاختبارية فقط. يجب بدلاً من ذلك استخدام ماكرو مُعالج أولي مثل DEBUG أو TESTING ثم استخدام #ifdef لتمييز الإصدار الاختباري عن الإصدار النهائي.

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

[FBAdSettings clearTestDevice:[FBAdSettings testDeviceHash]]; 

مثال لطلب إعلانات اختبارية في الرمز البرمجي على أجهزة Android

لطلب إعلان اختباري بتنسيق الفيديو بنسبة عرض إلى الارتفاع 9:16 وزر دعوة لاتخاذ إجراء لتثبيت التطبيق في تطبيقك على نظام Android، يجب عليك بدء تشغيل كائن NativeAd من خلال إضافة سطر الرمز البرمجي التالي:

nativeAd = new NativeAd(this, "VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID");

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

السجل: تجزئة الجهاز في وضع الاختبار: HASHED_ID السجل: عند اختبار تطبيقك باستخدام الوحدات الإعلانية لفيسبوك، يجب تحديد معرف تجزئة الجهاز لضمان عرض الإعلانات الاختبارية، وإضافة الرمز البرمجي التالي قبل تحميل الإعلان: AdSettings.addTestDevice("HASHED ID");

يمكنك تمكين الإعلانات الاختبارية على أحد الأجهزة عن طريق إضافة سطر الرمز البرمجي التالي قبل تحميل الإعلان:

AdSettings.addTestDevice("HASHED ID");

إذا كنت ترغب في إضافة العديد من أجهزة الاختبار، يمكن إنشاء قائمة سلاسل لإضافتها قبل تحميل الإعلان:

List<String> testDevices = new ArrayList<>();
testDevices.add("HASHED_ID_1");
testDevices.add("HASHED_ID_2");
AdSettings.addTestDevices(testDevices);

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

AdSettings.clearTestDevices();

مثال لطلب إعلانات اختبارية في لوحة معلومات خدمة وسيطة

بالإضافة إلى طلب الإعلان الاختباري من الرمز البرمجي، يمكنك تكوين قيمة معرّف الموضع بنوع الإعلان الاختباري من لوحة معلومات خدمة وسيطة إذا كان تطبيقك يستخدم خدمة وسيطة. على سبيل المثال، إذا كان تطبيقك يستخدم MoPub، يمكنك تعديل شبكة فيسبوك وتعيين قيمة معرّف الموضع للإعلان الأصلي على VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID. سيتلقى تطبيقك إعلان اختباري بتنسيق الفيديو بنسبة عرض إلى الارتفاع 9:16 وزر دعوة لاتخاذ إجراء لتثبيت التطبيق.