عند تسجيل مرّة ظهور، تستدعي حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" معالج الحدث المدفوع ببيانات الأرباح المرتبطة بها. من خلال تنفيذ هذا المعالج، يمكنك استخدام البيانات لحساب القيمة الدائمة للمستخدم أو إعادة توجيه عملية تنزيل البيانات إلى أنظمة أخرى ذات صلة.
يهدف هذا الدليل إلى مساعدتك على تنفيذ تسجيل بيانات القيمة الدائمة في تطبيق iOS.
المتطلبات الأساسية
- تأكّد من تفعيل ميزة أرباح الإعلانات على مستوى مرّات الظهور في واجهة مستخدم AdMob.
- عليك استيراد الإصدار 9.10.0 أو الإصدارات الأحدث من حزمة "SDK لإعلانات Google على الأجهزة الجوّالة".
- أكمل دليل البدء.
قبل أن تتمكّن من تلقّي أي أرباح إعلانات على مستوى مرات الظهور، يجب استخدام شكل إعلان واحد على الأقل:
تنفيذ معالج الأحداث المدفوعة
لكل شكل إعلان خاصية paidEventHandler
من النوع
GADPaidEventHandler
.
خلال دورة حياة حدث الإعلان، تراقب حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"
أحداث مرات الظهور وتستدعي المعالج بقيمة مكتسبة.
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate {
var rewardedAd: GADRewardedAd?
func requestRewardedAd() {
GADRewardedAd.load(
withAdUnitID: "AD_UNIT_ID", request: GADRequest()
) { (ad, error) in
if let error = error {
print("Rewarded ad failed to load with error: \(error.localizedDescription)")
return
}
if let ad = ad {
self.rewardedAd = ad
self.rewardedAd?.paidEventHandler = { adValue in
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
let value = adValue.value
let precision = adValue.precision
let currencyCode = adValue.currencyCode
// Get the ad unit ID.
let adUnitId = ad.adUnitID
let responseInfo = ad.responseInfo
let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo
let adSourceId = loadedAdNetworkResponseInfo?.adSourceID
let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID
let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName
let adSourceName = loadedAdNetworkResponseInfo?.adSourceName
let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"]
let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"]
let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"]
}
}
}
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController ()
@property(nonatomic, strong) GADRewardedAd *rewardedAd;
@end
@implementation ViewController
- (void)requestRewardedAd {
__weak ViewController *weakSelf = self;
GADRequest *request = [GADRequest request];
[GADRewardedAd
loadWithAdUnitID:@"AD_UNIT_ID"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.paidEventHandler = ^void(GADAdValue *_Nonnull value){
ViewController *strongSelf = weakSelf;
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
NSDecimalNumber *value; = value.value;
NSString *currencyCode = value.currencyCode;
GADAdValuePrecision precision = value.precision;
// Get the ad unit ID.
NSString *adUnitId = strongSelf.rewardedAd.adUnitID;
GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo =
strongSelf.rewardedAd.responseInfo.loadedAdNetworkResponseInfo;
NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
NSString *adSourceID = loadedAdNetworkResponseInfo.adSourceID;
NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName;
NSString *adSourceInstanceID = loadedAdNetworkResponseInfo.adSourceInstanceID;
NSDictionary<NSString *, id> *extras = strongSelf.rewardedAd.responseInfo.extrasDictionary;
NSString *mediationGroupName = extras["mediation_group_name"];
NSString *mediationABTestName = extras["mediation_ab_test_name"];
NSString *mediationABTestVariant = extras["mediation_ab_test_variant"];
};
]};
}
لمزيد من المعلومات عن مصدر الإعلان الفائز، اطّلِع على استرداد المعلومات عن استجابة الإعلان.
الدمج مع شركاء إحالة التطبيقات (AAP)
للحصول على التفاصيل الكاملة حول إعادة توجيه بيانات أرباح الإعلانات إلى منصات الإحصاءات، يُرجى الاطّلاع على دليل الشريك:
حزمة تطوير البرامج (SDK) الخاصة بالشريك |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
أفضل ممارسات التنفيذ
- اضبط المعالج على الفور عند إنشاء عنصر الإعلان أو الوصول إليه، وبالتأكيد قبل عرض الإعلان. يضمن لك ذلك عدم تفويت أي معاودة اتصال بحدث مدفوع.
- أرسِل معلومات الحدث المدفوع إلى خادم الإحصاءات المفضّل لديك
فورًا عند استدعاء طريقة
paidEventHandler
. يضمن ذلك عدم إغفال أي استدعاءات عن طريق الخطأ ويتجنب أي تناقضات في البيانات.
GADAdValue
GADAdValue
هي فئة تمثّل القيمة النقدية المكتسَبة من أحد الإعلانات،
بما في ذلك رمز عملة القيمة ونوع الدقة الذي تم ترميزه على النحو التالي.
GADAdValuePrecision | الوصف |
---|---|
GADAdValuePrecisionUnknown
|
قيمة إعلان غير معروفة. يتم عرض هذه القيمة عند تفعيل إشارة قياس الأداء الدائمة ولكن لا تتوفّر بيانات كافية. |
GADAdValuePrecisionEstimated
|
قيمة إعلان يتم تقديرها من البيانات المجمّعة. |
GADAdValuePrecisionPublisherProvided
|
قيمة الإعلان المقدَّمة من الناشر، مثل التكلفة اليدوية لكل ألف ظهور في مجموعة توسّط. |
GADAdValuePrecisionPrecise
|
القيمة الدقيقة المدفوعة لهذا الإعلان. |