ثبت شناسه اطلاعات پاسخ آگهی در Crashlytics

Firebase Crashlytics یک گزارشگر تصادف سبک و بی‌درنگ است که مدیریت مشکلات پایداری در برنامه‌تان را برای شما آسان می‌کند. Crashlytics با گروه بندی هوشمند خرابی ها و برجسته کردن شرایطی که منجر به آنها می شود، در زمان عیب یابی شما صرفه جویی می کند.

این راهنما نحوه ادغام Crashlytics را در پروژه یونیتی خود توضیح می دهد تا بتوانید شناسه های پاسخ آگهی را ثبت کنید. بعداً، وقتی خرابی‌های برنامه خود را عیب‌یابی می‌کنید، می‌توانید شناسه‌های پاسخ آگهی را جستجو کنید و از مرکز بررسی آگهی در AdMob برای پیدا کردن و مسدود کردن تبلیغات استفاده کنید.

مرحله 1: Firebase را به برنامه Unity خود اضافه کنید

برای ادغام Firebase Crashlytics در Unity ، راهنمای ادغام Firebase Unity را دنبال کنید.

مرحله 2: شناسه پاسخ آگهی را ثبت کنید

  1. یک اسکریپت MonoBehaviour ایجاد کنید و هم AdMob و هم Firebase SDK را مقداردهی اولیه کنید. از isCrashlyticsInitialized بولی برای نظارت بر زمان شروع اولیه Crashlytics استفاده کنید.

    using GoogleMobileAds.Api;
    using Fabric.Crashlytics;
    ...
    public class GameObjectScript : MonoBehaviour
    {
        bool isCrashlyticsInitialized = false;
        public void Start()
        {
            ....
            // Initialize the Google Mobile Ads SDK.
            MobileAds.Initialize(initStatus => { });
            ....
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                Firebase.DependencyStatus dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
                    isCrashlyticsInitialized = true;
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            }
        }
    }
    
  2. درخواست بنر تبلیغاتی

    using GoogleMobileAds.Api;
    using Fabric.Crashlytics;
    ...
    public class GameObjectScript : MonoBehaviour
    {
    
        public void Start()
        {
            ...
            // Initialize the Google Mobile Ads SDK.
            MobileAds.Initialize(initStatus => { });
    
            // Initialize Firebase.
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                Firebase.DependencyStatus dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your
                    // application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
                    isCrashlyticsInitialized = true;
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                        "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
    
            // Request Banner View.
            this.RequestBanner();
            ...
        }
    
        public void RequestBanner()
        {
            #if UNITY_ANDROID
                string adUnitId = "ca-app-pub-3940256099942544/6300978111";
            #elif UNITY_IPHONE
                string adUnitId = "ca-app-pub-1220882738324941/1255739139";
            #else
                string adUnitId = "unexpected_platform";
            #endif
            // Create a 320x50 banner at the top of the screen.
            this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
            AdRequest request = new AdRequest();
            this.bannerView.LoadAd(request);
            // Called when an ad request has successfully loaded.
            this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        }
    }
    
  3. شی ResponseInfo OnAdLoaded را دریافت کنید و شناسه پاسخ را در Crashlytics وارد کنید.

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        ResponseInfo responseInfo = this.bannerView.GetResponseInfo();
        if (responseInfo != null)
        {
            String adResponseId = responseInfo.GetResponseId();
            // Log to Crashlytics.
            if (isCrashlyticsInitialized)
            {
                Crashlytics.SetCustomKey("banner_ad_response_id", adResponseId);
            }
        }
    }
    

خودشه! اکنون می توانید جدیدترین banner_ad_response_id در بخش کلیدی جلسات خرابی در داشبورد Crashlytics خود مشاهده کنید. توجه داشته باشید که برخی از کلیدها ممکن است تا چهار ساعت طول بکشد تا روی داشبورد شما قابل مشاهده باشند.

شناسه پاسخ