المتطلبات الأساسية
يفترض دليل التنفيذ هذا أنّك على دراية بما يلي:
- تنفيذ "إعلانات البحث المخصّص" في "AdSense للبحث" البروتوكول
- تطوير تطبيقات Android
- ربط إعلانات Google للجوّال حزمة SDK لنظام التشغيل Android (الآن جزء من "خدمات Google Play") من خلال مشروع على "استوديو Android". يجب توفُّر الإصدار 9.0.0 من "خدمات Google Play".
صفوف
لعرض إعلانات "AdSense لإعلانات Shopping" (المعروفة أيضًا باسم الإعلانات الديناميكية على شبكة البحث) في تطبيقك تنفيذ الفئات التالية:
- يتم اكتساب هذه الفئة من فئة
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) وقت استجابة عرض الإعلانات للسماح بتحسين المنتج وقياسه. ونرسل أيضًا تقارير الأعطال/الأخطاء، وأحيانًا نضيف أدوات أخرى حسب الحاجة لفهم كيفية استخدام الناشرين للوظائف. |
معرّفات الجهاز أو المعرّفات الأخرى |
ملخص:
يتم استخدام رقم تعريف الجهاز للمساعدة في رصد عمليات الاحتيال وإساءة الاستخدام، بالإضافة إلى قياس أداء الإعلانات. |