يوضّح لك هذا الدليل كيفية دمج محوِّل التوسّط مع تطبيق Android.
المتطلبات الأساسية
قبل أن تتمكّن من دمج التوسّط لشكل إعلان معيّن، عليك دمج شكل الإعلان هذا في تطبيقك:
- إعلانات البانر
- الإعلانات البينية
- الإعلانات المدمجة مع المحتوى
- الإعلانات التي تضم مكافأة
- الإعلانات البينية التي تضمّ مكافأة
هل أنت حديث العهد بالتوسّط؟ يُرجى الاطّلاع على مقدّمة عن التوسّط.
لتقديم عروض الأسعار: حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، الإصدار 18.3.0 أو إصدار أحدث
إعداد حزمة تطوير البرامج (SDK) لعرض الإعلانات على الأجهزة الجوّالة
يوضّح لك دليل البدء السريع كيفية إعداد حزمة SDK لإعلانات Google على الأجهزة الجوّالة. وخلال هذه المكالمة، يتم أيضًا إعداد محوِّلات التوسّط. من المهم الانتظار حتى تكتمل عملية الإعداد قبل تحميل الإعلانات لضمان المشاركة الكاملة من كل شبكة إعلانات في طلب الإعلان الأول.
يوضّح الرمز البرمجي النموذجي التالي كيفية التحقّق من حالة بدء كل محوِّل قبل تقديم طلب إعلان.
Java
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
التحقّق من فئة محوِّل شبكة الإعلانات التي حمّلت الإعلان
في ما يلي بعض نماذج الرموز البرمجية التي تسجِّل اسم فئة شبكة الإعلانات لإعلان بانر:
Java
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
Kotlin
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
يُرجى الرجوع إلى مستندات ResponseInfo
على getMediationAdapterClassName()
لمعرفة تفاصيل عن هذه الطريقة.
بدء عنصر إعلانك باستخدام مثيل Activity
في دالة إنشاء كائن إعلان جديد (على سبيل المثال،
AdManagerAdView
)،
يجب تمرير كائن من النوع
Context
.
ويتمّ نقل هذا Context
إلى شبكات مواقع إعلانية أخرى عند استخدام التوسّط. تتطلّب بعض
شبكات الإعلانات استخدام Context
أكثر تقييدًا من النوع
Activity
وقد لا تتمكّن من عرض الإعلانات بدون مثيل Activity
. لذلك،
ننصح بإدخال مثيل Activity
عند بدء عناصر الإعلانات
لضمان تجربة متّسقة مع شبكات المواقع الإعلانية التي تتمّ التوسّط فيها.
استخدام إعلانات البانر مع التوسّط
تأكَّد من إيقاف ميزة إعادة التحميل في جميع واجهات مستخدم مصادر الإعلانات التابعة لجهات خارجية لوحدات إعلانات البانر المستخدَمة في التوسّط. ويمنع ذلك إعادة تحميل مضاعفة لأنّ "مدير إعلانات Google" يُجري أيضًا عملية إعادة تحميل استنادًا إلى معدّل إعادة تحميل الوحدة الإعلانية لإعلان البانر.
استخدام الإعلانات المدمجة مع المحتوى مع التوسّط
في ما يلي بعض أفضل الممارسات التي يجب أخذها في الاعتبار عند تنفيذ التوسّط المضمّن.
- سياسة عرض الإعلانات المدمجة مع المحتوى
- لكل شبكة إعلانات سياساتها الخاصة. عند استخدام التوسّط، من المهم remembered أنّ تطبيقك لا يزال بحاجة إلى الالتزام بسياسات الشبكة التي تم التوسّط بينها والتي قدّمت الإعلان.
- استخدِم
loadAd()
بدلاً منloadAds()
. - لا تعرِض طريقة
loadAds()
سوى إعلانات Google. بالنسبة إلى الإعلانات التوسّطية، استخدِمloadAd()
بدلاً من ذلك.
قوانين الخصوصية في الولايات الأمريكية و"اللائحة العامّة لحماية البيانات"
إذا كنت بحاجة إلى الامتثال لمَثَل قوانين الخصوصية في الولايات الأمريكية أو اللائحة العامة لحماية البيانات (GDPR)، اتّبِع الخطوات الواردة في إعدادات اللوائح التنظيمية في الولايات الأمريكية أو إعدادات اللائحة العامة لحماية البيانات لإضافة شركاء التوسّط في صفحة "الخصوصية والمراسلة" ضمن "مدير إعلانات Google" في الولايات الأمريكية أو قائمة شركاء الإعلانات بموجب "اللائحة العامة لحماية البيانات". وقد يؤدي عدم إجراء ذلك إلى عدم تمكّن الشركاء من عرض الإعلانات على تطبيقك.
اطّلِع على مزيد من المعلومات عن تفعيل المعالجة المحدودة للبيانات (RDP) والحصول على موافقة اللائحة العامّة لحماية البيانات (GDPR) باستخدام حزمة تطوير البرامج (SDK) لمنصّة Google User Messaging Platform (UMP).