تتيح لك الأحداث المخصّصة إضافة توسّط العرض الإعلاني بدون انقطاع لشبكة إعلانية لا تمثّل شبكة إعلانية متوافقة. يمكنك إجراء ذلك من خلال تنفيذ محوّل حدث مخصّص لشبكة الإعلانات التي تريد دمجها.
يمكنك العثور على نموذج كامل لمشروع حدث مخصّص في مستودع GitHub.
المتطلبات الأساسية
قبل أن تتمكّن من إنشاء أحداث مخصّصة، عليك أولاً دمج أحد أشكال الإعلانات التالية في تطبيقك:
إنشاء حدث مخصّص في واجهة المستخدم
يجب أولاً إنشاء حدث مخصّص في واجهة مستخدم AdMob. اطّلِع على التعليمات في مقالة إضافة حدث مخصّص.
يجب تقديم ما يلي:
- اسم الفئة
الاسم المؤهَّل بالكامل للفئة التي تنفّذ محوّل الأحداث المخصّصة، مثل
SampleCustomEvent
، أوMediationExample.SampleCustomEventSwift
إذا تم تنفيذ الفئة في Swift.يجب إدخال اسم الهدف إذا كان لديك عدة أهداف في مشروعك أو إذا كان اسم المشروع مختلفًا عن اسم الهدف. مع اسم الهدف، سيبدو على النحو التالي:
appName_targetName.className
. بالإضافة إلى ذلك، تذكَّر استبدال أي أحرف غير أبجدية رقمية، مثل الشرطات، بشرطات سفلية. مثال- التصنيف
اسم فريد يحدّد مصدر الإعلان.
- المَعلمة
وسيط سلسلة اختياري يتم تمريره إلى محوّل الأحداث المخصّصة.
تنفيذ GADMediationAdapter
تتمثّل الخطوة الأولى لإنشاء حدث مخصّص في تنفيذ بروتوكول
GADMediationAdapter
كما هو موضّح في الفئة SampleCustomEvent
في مثالنا.
وتقع على عاتق هذه الفئة مسؤولية تلقّي الرسائل من AdMob وتفويض مسؤولية إنشاء شكل الإعلان الصحيح.
إعداد المحوّل
عندما يتم إعداد حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، يتم استدعاء setUpWithConfiguration:completionHandler:
على جميع برامج التكييف التابعة لجهات خارجية المتوافقة والأحداث المخصّصة التي تم إعدادها للتطبيق ضمن واجهة مستخدم AdMob. استخدِم هذه الطريقة لتنفيذ أي عملية إعداد أو تهيئة ضرورية لحزمة تطوير البرامج (SDK) المطلوبة التابعة لجهة خارجية من أجل الحدث المخصّص.
Swift
import GoogleMobileAds
class SampleCustomEvent: NSObject, MediationAdapter {
static func setUpWith(
_ configuration: MediationServerConfiguration,
completionHandler: @escaping GADMediationAdapterSetUpCompletionBlock
) {
// This is where you will initialize the SDK that this custom event is built
// for. Upon finishing the SDK initialization, call the completion handler
// with success.
completionHandler(nil)
}
}
Objective-C
#import "SampleCustomEvent.h"
@implementation SampleCustomEvent
+ (void)setUpWithConfiguration:(nonnull GADMediationServerConfiguration *)configuration
completionHandler:(nonnull GADMediationAdapterSetUpCompletionBlock)completionHandler {
// This is where you initialize the SDK that this custom event is built
// for. Upon finishing the SDK initialization, call the completion handler
// with success.
completionHandler(nil);
}
أرقام إصدارات التقارير
يجب أن تُبلغ جميع الأحداث المخصّصة حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة عن إصدار كلّ من مهايئ الأحداث المخصّصة نفسه وإصدار حزمة تطوير البرامج (SDK) التابعة للجهة الخارجية التي تتوافق معها واجهات الأحداث المخصّصة. يتم الإبلاغ عن الإصدارات كعناصر GADVersionNumber
:
Swift
static func adSDKVersion() -> VersionNumber {
let versionComponents = String(SampleSDKVersion).components(
separatedBy: ".")
if versionComponents.count >= 3 {
let majorVersion = Int(versionComponents[0]) ?? 0
let minorVersion = Int(versionComponents[1]) ?? 0
let patchVersion = Int(versionComponents[2]) ?? 0
return VersionNumber(
majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
}
return VersionNumber()
}
static func adapterVersion() -> VersionNumber {
let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
separatedBy: ".")
var version = VersionNumber()
if versionComponents.count == 4 {
version.majorVersion = Int(versionComponents[0]) ?? 0
version.minorVersion = Int(versionComponents[1]) ?? 0
version.patchVersion = Int(versionComponents[2]) * 100 + Int(versionComponents[3])
}
return version
}
Objective-C
+ (GADVersionNumber)adSDKVersion {
NSArray *versionComponents =
[SampleSDKVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count >= 3) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue];
}
return version;
}
+ (GADVersionNumber)adapterVersion {
NSArray *versionComponents =
[SampleCustomEventAdapterVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count == 4) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue] * 100 +
[versionComponents[3] integerValue];
}
return version;
}
طلب عرض إعلان
لطلب إعلان، يُرجى الرجوع إلى التعليمات الخاصة بشكل الإعلان: