يوضح لك هذا الدليل كيفية دمج محوّل التوسط مع تطبيق Android.
المتطلّبات الأساسية
قبل أن تتمكن من دمج التوسط لأحد أشكال الإعلانات، يلزمك دمج شكل الإعلان هذا في تطبيقك:
- إعلانات البانر
- الإعلانات البينية
- الإعلانات المدمجة مع المحتوى
- الإعلانات التي تضم مكافأة
- الإعلانات البينية بمكافأة
هل أنت مستخدم جديد للتوسّط؟ اقرأ مقدمة عن التوسّط.
بالنسبة إلى عروض الأسعار: الإصدار 18.3.0 من حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" أو إصدار أحدث.
إعداد حزمة تطوير البرامج (SDK) لعرض الإعلانات للأجهزة الجوّالة
يوضِّح لك دليل البدء السريع كيفية إعداد حزمة تطوير البرامج (SDK) لإعلانات الأجهزة الجوّالة. وخلال مكالمة الإعداد هذه، يتم أيضًا تهيئة محوّلات التوسط. من المهم الانتظار حتى تكتمل عملية الإعداد قبل تحميل الإعلانات لضمان المشاركة الكاملة من كل شبكة إعلانات في طلب الإعلان الأول.
يوضح الرمز النموذجي التالي كيفية التحقّق من حالة إعداد كل محوّل قبل تقديم طلب الإعلان.
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()
للحصول على تفاصيل حول هذه الطريقة.
إعداد عنصر الإعلان باستخدام مثيل "النشاط"
في الدالة الإنشائية لعنصر إعلان جديد (على سبيل المثال،
AdManagerAdView
)،
يجب تمرير كائن من النوع
Context
.
يتم تمرير Context
هذا إلى شبكات الإعلانات الأخرى عند استخدام التوسط. تتطلّب بعض شبكات المواقع الإعلانية Context
أكثر تقييدًا من النوع
Activity
وقد لا تتمكّن من عرض الإعلانات بدون مثيل Activity
. لذلك،
ننصح بتمرير مثيل Activity
عند إعداد عناصر الإعلانات
لضمان تجربة متّسقة مع شبكات الإعلانات التي تعتمد على التوسّط.
استخدام إعلانات البانر مع التوسّط
تأكّد من إيقاف عملية إعادة التحميل في جميع واجهات مستخدم مصادر الإعلانات التابعة لجهات خارجية في وحدات إعلانات البانر المستخدَمة في التوسّط. وهذا يمنع إعادة التحميل المزدوج لأنّ "مدير إعلانات Google" يشغّل أيضًا عملية التحديث استنادًا إلى معدّل تحديث وحدة إعلانات البانر.
استخدام الإعلانات المدمجة مع المحتوى مع التوسط
في ما يلي بعض أفضل الممارسات التي يجب مراعاتها عند تنفيذ التوسط الأصلي.
- سياسة عرض الإعلانات المدمجة مع المحتوى
- لكل شبكة إعلانات سياساتها الخاصة. عند استخدام التوسط، من المهم أن تتذكر أن تطبيقك لا يزال بحاجة إلى الالتزام بسياسات الشبكة الوسيطة التي قدمت الإعلان.
- استخدام
loadAd()
بدلاً منloadAds()
- تعرض الطريقة
loadAds()
إعلانات Google فقط. بالنسبة إلى الإعلانات المعتمَدة على التوسّط، استخدِمloadAd()
بدلاً من ذلك.
قوانين الخصوصية في الولايات الأمريكية واللائحة العامة لحماية البيانات
إذا كنت بحاجة إلى الالتزام بقوانين الخصوصية السارية في الولايات الأمريكية أو اللائحة العامة لحماية البيانات (GDPR)، يُرجى اتّباع الخطوات الواردة في إعدادات اللوائح التنظيمية في الولايات الأمريكية أو إعدادات اللائحة العامة لحماية البيانات (GDPR) لإضافة شركاء التوسّط في قائمة "الخصوصية والمراسلة" ضمن "مدير إعلانات Google" أو قائمة الشركاء الإعلانيين بموجب اللائحة العامة لحماية البيانات في الولايات الأمريكية. ويمكن أن يؤدي عدم الالتزام بذلك إلى فشل الشركاء في عرض الإعلانات على تطبيقك.
اطّلِع على مزيد من المعلومات عن تفعيل المعالجة المحدودة للبيانات (RDP) والحصول على موافقة بموجب "اللائحة العامة لحماية البيانات" (GDPR) من خلال حزمة تطوير البرامج (SDK) لمنصّة Google User Messaging Platform (UMP).