تمنح "الإعلانات مقابل مكافأة" المستخدمين منتجات داخل التطبيق مقابل التفاعل مع إعلانات الفيديو و"إعلانات تشغيل إصدار بسيط من اللعبة" والاستطلاعات. لمزيد من التفاصيل، يُرجى الاطّلاع على نظرة عامة على الوحدات الإعلانية مقابل مكافأة.
يوضّح لك هذا الدليل كيفية دمج "الإعلانات مقابل مكافأة" في تطبيق React Native.
المتطلبات الأساسية
قبل المتابعة، عليك تنفيذ ما يلي:
- إعداد Google Mobile Ads SDK for React Native
- فعِّل الإعلانات الاختبارية واستخدِم الوحدة الإعلانية الاختبارية التالية:
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
تحميل إعلان
لتحميل "إعلان مقابل مكافأة"، استخدِم طريقة load في فئة RewardedAd.
يحمّل المثال التالي إعلانًا مقابل مكافأة في حال نجاح العملية ويسجّل خطأً في حال فشلها:
export async function loadRewardedAd(
adUnitId: string,
): Promise<RewardedAd | null> {
try {
const ad = await RewardedAd.load({adUnitId});
return ad;
} catch (error) {
const loadError = error as LoadAdError;
console.error('Failed to load rewarded ad:', loadError.message);
return null;
}
}
الاستماع إلى أحداث الإعلانات
قبل عرض الإعلان، اضبط أداة الاستماع
adEventCallback على مثيل
RewardedAd الذي تم تحميله. يتلقّى هذا المستمع عمليات استدعاء لأحداث يتم في مراحل نشاط الإعلان، مثل ظهور الإعلان على الشاشة أو نقر المستخدم على الإعلان. للاطّلاع على عمليات الاستدعاء المتاحة، يُرجى مراجعة
AdEventCallback.
يضبط المثال التالي عمليات الاستدعاء لرصد أحداث الإعلانات:
export function registerAdEvents(ad: RewardedAd) {
ad.adEventCallback = {
// Called when the ad is presented on screen.
onAdShowedFullScreenContent: () => {
console.log('Rewarded ad showed full screen content.');
},
// Called when the ad is closed by the user.
onAdDismissedFullScreenContent: () => {
console.log('Rewarded ad dismissed full screen content.');
ad.destroy();
},
// Called when presentation fails.
onAdFailedToShowFullScreenContent: (error) => {
console.error('Failed to show rewarded ad:', error);
ad.destroy();
},
// Called when an impression is recorded.
onAdImpression: () => {
console.log('Rewarded ad recorded an impression.');
},
// Called when the user taps the ad.
onAdClicked: () => {
console.log('Rewarded ad was clicked.');
},
// Called when the ad is estimated to have earned money.
onAdPaid: (adValue) => {
console.log(
`Rewarded ad paid: ${adValue.amountMicros} ${adValue.currencyCode}`,
);
},
};
}
يستدعي هذا المثال أيضًا الإجراء destroy عندما يغلق المستخدم الإعلان أو عندما يتعذّر عرض الإعلان. تؤدي هذه العملية إلى تحرير الموارد التي استخدمها الإعلان.
عرض الإعلان
لعرض "إعلان مقابل مكافأة"، استخدِم طريقة show مع
ردّ اتصال لمعالجة المكافأة التي حصل عليها المستخدم:
export function showRewardedAd(
ad: RewardedAd,
onRewardEarned: (reward: Reward) => void,
) {
ad.show(onRewardEarned);
}
اختياري: التحقّق من صحة عمليات معاودة الاتصال في عملية التحقّق من جهة الخادم
إذا كان تطبيقك يتطلّب استخدام مَعلمات مخصّصة لعملية التحقّق، مثل رقم تعريف المستخدم أو
البيانات الوصفية المخصّصة للمكافأة، في عمليات معاودة الاتصال من خلال التحقّق من جهة الخادم (SSV)،
اضبط السمة
serverSideVerificationOptions
في مثيل الإعلان الذي تم تحميله قبل عرض الإعلان.
يتم تمرير القيم التي تضبطها إلى معلمات طلب البحث لردّ الاتصال من خلال SSV:
userId: يتم تمريرها إلى مَعلمة طلب البحثuser_idلتحديد المستخدم.customData: يتم تمريرها إلى مَعلمة طلب البحثcustom_dataلإعادة توجيه البيانات الوصفية المخصّصة.
يضبط المثال التالي
ServerSideVerificationOptions
(customData و
userId) على عنصر "إعلان مقابل مكافأة"
قبل عرض الإعلان:
عرض المثال الكامل
يتناول هذا القسم المثال الكامل لدمج "إعلان مقابل مكافأة" في تطبيق React Native.
يدمج المثال التالي الإعلان في مكوّن React Native، ويدير مثيل الإعلان في الحالة، ويوفّر عناصر تحكّم لتحميل الإعلان وعرضه:
الخطوات التالية
بعد دمج "إعلان مقابل مكافأة"، اطّلِع على المواضيع التالية: