تنفيذ "AdSense للبحث في التطبيقات المتوافقة مع الأجهزة الجوّالة" لنظام التشغيل Android

المتطلبات الأساسية

يفترض دليل التنفيذ هذا أنّك على دراية بما يلي:

صفوف

لعرض إعلانات "AdSense لإعلانات Shopping" (المعروفة أيضًا باسم الإعلانات الديناميكية على شبكة البحث) في تطبيقك تنفيذ الفئات التالية:

SearchAdView

  • يتم اكتساب هذه الفئة من فئة ViewGroup من Android. ويعرض إعلانات AFSMA. يطلب SearchAdView عرض إعلان يحتوي على DynamicHeightSearchAdRequest وتعرض الإعلانات التي تم إرجاعها. يجب إضافة SearchAdView إلى أي من مجموعات الملفات الشخصية الحالية للتطبيق.
  • يجب إنشاء مثيل للسمة SearchAdView باستخدام السياق. التي يجري فيها SearchAdView، عادةً ما تكون Activity.
  • بعد إنشاء مثيل SearchAdView، عليك طلب الطريقة setAdSize(). مع AdSize.SEARCH لطلب إعلانات AFSMA. وستطلب قيم التعداد الأخرى إعلانات غير متوافقة مع "AdSense للبحث" في تطبيقات الأجهزة الجوّالة.
  • يمكنك استدعاء طريقة setAdUnitId() في هذا الكائن من خلال رمز موقعك.

DynamicHeightSearchAdRequest.Builder

  • وتضم هذه الفئة معلَمات طلب الإعلان. يماثل هذا إعداد المعلمات في كائنات طلبات إعلان JavaScript (خيارات الصفحة وخيارات الوحدة) في "AdSense للبحث" على أجهزة الكمبيوتر المكتبي والويب على الأجهزة الجوّالة.
  • قم بتعيين المعلمات باستخدام المُحددات المناسبة (بعبارة أخرى، setQuery() لضبط معلَمة طلب البحث).

مثال على عملية التنفيذ

يوضح المثال أدناه استخدام Activity لإنشاء SearchAdView. على أنّه عرض فرعي لـ ViewGroup لطلب إعلانات "AdSense لإعلانات Shopping" بشكل صحيح، يجب تضمين سمة SearchAdView يجب أن يستدعي الكائن الطريقة setAdSize() مع AdSize.SEARCH.

//  MainActivity.java implementation
//  (MainActivity is a subclass of Activity)

// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);

// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!

// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");

// Add searchAdView to parent view group
...

في Activity نفسها، يمكنك إنشاء DynamicHeightSearchAdRequest.Builder تحدِّد هذه السياسة مَعلمات الإعلان الذي سيتم عرضه في "SearchAdView". يتم ضبط إعلانات "AdSense لإعلانات Shopping" بالطريقة نفسها التي يتم بها إعداد إعلانات البحث المخصّص في "AdSense للبحث". الاطّلاع على إعلانات البحث المخصّص على "AdSense للبحث" المرجع لمزيد من التفاصيل.

// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
        new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);

// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");

// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);

هناك خيارات تخصيص أخرى ممكنة من خلال تعيين خصائص إضافية على DynamicHeightSearchAdRequest.Builder .

لتقديم طلب إعلان، يمكنك استدعاء طريقة loadAd() مع كائن DynamicHeightSearchAdRequest.Builder من الكائن SearchAdView:

searchAdView.loadAd(builder.build());

الخيارات المتقدمة

يمكن ضبط معظم معلَمات طلبات الإعلان من خلال طرق setter في الكائن DynamicHeightSearchAdRequest.Builder. أي معلمات ليس لها طريقة setter في يمكن ضبط DynamicHeightSearchAdRequest.Builder باستخدام أزواج المفتاح/القيمة مع السمة setAdvancedOptionValue() . مشاهدة إعلانات البحث المخصّص على "AdSense للبحث" المرجع للحصول على قائمة كاملة بالإعدادات التي يمكن ضبطها باستخدام طريقة setAdvancedOptionValue()

يجب أن تبدأ معلمة المفتاح بـ "csa_". لكي يتم إعداد الموقع بشكلٍ صحيح.

// Advanced customization options (set using key-value pair)

// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");

// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");

إذا استخدمتَ طريقة setter لإحدى المُعلِّمات وعيَّنتها باستخدام setAdvancedOptionValue، سيلغي الاستدعاء الثاني القيمة من الاستدعاء الأول.

التحقيق في الأخطاء

تحتوي SearchAdView (searchAdView هنا) على طريقة setAdListener(). لمساعدتك في التحقيق في الأخطاء. ضمن Activity نفسها:

searchAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Called when an ad is loaded
        super.onAdLoaded();
        Toast.makeText(MainActivity.this, "Ad Loaded",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
    }

    @Override
    public void onAdOpened() {
        // Called when an ad opens an overlay that covers the screen
        super.onAdOpened();
        Toast.makeText(MainActivity.this, "Ad Opened",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
    }

    @Override
    public void onAdLeftApplication() {
        // Called when an ad leaves the application
        // (to go to the browser for example)
        super.onAdLeftApplication();
        Toast.makeText(MainActivity.this, "Ad Left Application",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Called when an ad request failed
        super.onAdFailedToLoad(errorCode);
        Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
                Toast.LENGTH_SHORT).show();
        Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
                errorCode);
    }
});

الثوابت المستخدَمة في طريقة استدعاء الدالة onAdFailedToLoad() في قسم واجهة برمجة التطبيقات المرجع.

الاستعداد لمتطلبات الإفصاح عن البيانات على Google Play

في أيار (مايو) 2021، أعلن Google Play عن قسم "أمان البيانات" الجديد، وهو بيان إفصاح مقدّم من المطوّر بشأن ممارسات جمع البيانات ومشاركتها والحفاظ على أمانها في التطبيق.

يمكن أن تساعدك هذه الصفحة في إكمال متطلبات الإفصاح هذا عن البيانات في ما يتعلق باستخدامك لـ "حزمة تطوير البرامج (SDK) للإعلانات المدمجة مع المحتوى في "AdSense للبحث" (ينطبق ذلك أيضًا على استخدام "AdSense لإعلانات Shopping"). في هذه الصفحة، يمكنك العثور على معلومات حول ما إذا كانت حِزم SDK ستتعامل مع بيانات المستخدمين وكيفية تعاملها مع هذه البيانات.

نهدف إلى أن نتحلّى بأكبر قدر ممكن من الشفافية في تقديم الدعم لك. ومع ذلك، بصفتك مطوِّر التطبيق، تكون أنت المسؤول الوحيد عن تحديد طريقة الردّ على نموذج قسم "أمان البيانات" في Google Play بشأن ممارسات جمع بيانات المستخدمين النهائيين ومشاركتها والحفاظ على أمانها في تطبيقك.

كيفية استخدام المعلومات في هذه الصفحة

تعرِض هذه الصفحة بيانات المستخدمين النهائيين التي تم جمعها من خلال أحدث إصدار من حزمة تطوير البرامج (SDK).

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

نوع البيانات التي تصل إليها حزمة SDK وتجمعها

الحِزم:

com.google.android.gms:play-services-afs-native

com.google.ads.afsn

البيانات المجمّعة تلقائيًا

تجمع حزمة تطوير البرامج (SDK) الخاصة بخدمة "AdSense للبحث" البيانات التالية تلقائيًا. يتم نقل جميع البيانات خارج الجهاز إلى Google بغرض عرض الإعلانات، ويتم تشفير جميع البيانات أثناء نقلها. لا يتم أبدًا جمع معلومات المستخدم الشخصية ما لم يتم إرسالها في طلب بحث عن المستخدم من خلال تطبيقك.

البيانات يتم جمع هذه البيانات للأغراض التالية...
عنوان IP ملخص:
  • منع الاحتيال والأمان والامتثال
  • الإعلان أو التسويق
  • استنتاج الموقع الجغرافي التقريبي
التفاصيل:
يُستخدم عنوان IP لرصد عمليات الاحتيال وإساءة الاستخدام، كما يُستخدم لمعرفة الموقع الجغرافي التقريبي للمستخدم.

ويتم بعد ذلك استخدام الموقع الجغرافي التقريبي لضمان توافق الإعلانات المعروضة مع اللوائح التنظيمية المحلية، ولتوفير إعلانات ملائمة للموقع الجغرافي التقريبي للمستخدم.

النشاط على التطبيق
  • مشاهدات الصفحات وعدد النقرات داخل التطبيق
  • سجلّ البحث داخل التطبيق
ملخص:
  • الإحصاءات
  • منع الاحتيال والأمان والامتثال
  • الإعلان أو التسويق
  • التخصيص
التفاصيل:
يزوِّدنا تطبيقك بطلب بحث المستخدم لنتمكّن من عرض إعلانات على شبكة البحث ذات صلة بالكلمة الرئيسية. ونقيس عدد المشاهدات والتفاعل (النقرات) مع الإعلانات التي يتم عرضها.
بيانات التشخيص ملخص:
  • الإحصاءات
التفاصيل:
تقيس حزمة تطوير البرامج (SDK) وقت استجابة عرض الإعلانات للسماح بتحسين المنتج وقياسه. ونرسل أيضًا تقارير الأعطال/الأخطاء، وأحيانًا نضيف أدوات أخرى حسب الحاجة لفهم كيفية استخدام الناشرين للوظائف.
معرّفات الجهاز أو المعرّفات الأخرى ملخص:
  • منع الاحتيال والأمان والامتثال
  • الإعلان أو التسويق
التفاصيل:
يتم استخدام رقم تعريف الجهاز للمساعدة في رصد عمليات الاحتيال وإساءة الاستخدام، بالإضافة إلى قياس أداء الإعلانات.