عند حدوث مرّة ظهور، يقدّم Google Mobile Ads Unity Plugin بيانات إيرادات الإعلانات المرتبطة بمرّة الظهور هذه. يمكنك استخدام البيانات لاحتساب القيمة الدائمة للمستخدم، أو إعادة توجيه البيانات إلى الأنظمة الأخرى ذات الصلة.
يهدف هذا الدليل إلى مساعدتك في تنفيذ عملية جمع بيانات إيرادات الإعلانات على مستوى مرّة الظهور في مشروعك على Unity.
المتطلبات الأساسية
- تأكَّد من تفعيل ميزة "إيرادات الإعلانات على مستوى مرّة الظهور feature" في واجهة مستخدم AdMob.
- مكوّن Unity الإضافي 5.0.0 أو إصدار أحدث
- إكمال الخطوات الواردة في مقالة البدء يجب أن يكون تطبيقك على Unity قد استورد مكوّن Google Mobile Ads Unity الإضافي.
قبل أن تتمكّن من تلقّي أيّ بيانات إيرادات الإعلانات على مستوى مرّة الظهور، عليك تنفيذ شكل إعلان واحد على الأقلّ:
تنفيذ معالج حدث مدفوع
يحتوي كل شكل إعلان على حدث OnAdPaid. أثناء دورة حياة حدث إعلان،
Google Mobile Ads Unity Plugin يراقب أحداث مرّات الظهور ويستدعي المعالج
باستخدام AdValue يمثّل القيمة المحقّقة.
يعالج المثال التالي الأحداث المدفوعة لإعلان مقابل مكافأة:
private void LoadRewardedAd()
{
// Send the request to load the ad.
AdRequest adRequest = new AdRequest();
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
return;
}
rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
});
}
public void HandleAdPaidEvent(AdValue adValue)
{
// TODO: Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
long valueMicros = adValue.Value;
string currencyCode = adValue.CurrencyCode;
PrecisionType precision = adValue.Precision;
ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
}
تحديد اسم مصدر إعلان حدث مخصّص
بالنسبة إلى مصادر إعلانات الأحداث المخصّصة، تمنحك السمة AdSourceName اسم مصدر الإعلان Custom Event. إذا كنت تستخدم عدّة أحداث مخصّصة، لن يكون اسم مصدر الإعلان دقيقًا بما يكفي للتمييز بين عدّة أحداث مخصّصة. للعثور على حدث مخصّص معيّن، اتّبِع الخطوات التالية:
- احصل على السمة
AdapterClassName. - اضبط اسمًا فريدًا لمصدر الإعلان.
يضبط المثال التالي اسمًا فريدًا لمصدر إعلان حدث مخصّص:
private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
if (loadedAdapterResponseInfo == null)
{
return string.Empty;
}
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
if (adSourceName == "Custom Event")
{
#if UNITY_ANDROID
if (loadedAdapterResponseInfo.AdapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#elif UNITY_IPHONE
if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#endif
}
return adSourceName;
}لمزيد من المعلومات عن مصدر الإعلان الفائز، راجِع استرداد معلومات عن استجابة الإعلان.
الدمج مع شركاء إحالة التطبيقات (AAP)
لمعرفة التفاصيل الكاملة عن إعادة توجيه بيانات إيرادات الإعلانات إلى منصات الإحصاءات، راجِع دليل الشريك:
| حزمة تطوير البرامج (SDK) للشريك |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
أفضل الممارسات المرتبطة بالتنفيذ
- اضبط حدث
OnPaidEventفور إنشاء عنصر الإعلان أو الحصول على إذن الوصول إليه، وقبل عرض الإعلان بالتأكيد. يضمن لك ذلك عدم تفويت أيّ عمليات معاودة الاتصال. - أرسِل معلومات إيرادات الإعلانات على مستوى مرّة الظهور إلى خادم الإحصاءات المفضّل لديك فورًا في معالج
OnPaidEvent. يضمن لك ذلك عدم فقدان أيّ عمليات معاودة اتصال عن طريق الخطأ وتجنُّب التناقضات في البيانات.
AdValue
AdValue هو فئة تمثّل القيمة النقدية المحقّقة للإعلان، بما في ذلك رمز عملة القيمة ونوع دقّتها، ويتم ترميزها على النحو التالي.
AdValue.PrecisionType |
الوصف |
|---|---|
Unknown |
قيمة إعلان غير معروفة يتم عرض هذه القيمة عند تفعيل ميزة "القيمة الدائمة" (LTV) ولكن لا تتوفّر بيانات كافية. |
Estimated |
قيمة إعلان مقدّرة من بيانات مجمّعة |
PublisherProvided |
قيمة الإعلان التي قدّمها الناشر، مثل قيم التكلفة اليدوية لكل ألف ظهور في مجموعة توسّط |
Precise |
القيمة الدقيقة لهذا الإعلان |
في حال التوسّط، تحاول AdMob تقديم قيمة Estimated لمصادر الإعلانات
المحسّنة. بالنسبة إلى مصادر الإعلانات غير المحسّنة، أو في الحالات التي لا تتوفّر فيها بيانات مجمّعة كافية لعرض تقدير مفيد، يتم عرض القيمة PublisherProvided.
اختبار مرّات الظهور من مصادر الإعلانات المستندة إلى عروض الأسعار
بعد حدوث حدث إيرادات الإعلانات على مستوى مرّة الظهور لـ مصدر إعلان مستند إلى عروض الأسعار من خلال طلب اختبار، لن تتلقّى سوى القيم التالية:
Unknown: يشير إلى نوع الدقة.
0: يشير إلى قيمة الإعلان.
في السابق، ربما كنت ترى نوع الدقة كقيمة أخرى غير
Unknown
وقيمة إعلان أكبر من 0.
لمعرفة تفاصيل إرسال طلب عرض إعلان اختباري، راجِع مقالة تفعيل الأجهزة الاختبارية.