В этой статье рассмотрим Firebase, это будет несколько уроков по Firebase в одном видео. Смотрим основные метрики игры. Тестируем гипотезы как увеличить время в игре игрока. И подключаем к UNITY библиотеку Firebase. Чтобы все вопросы сразу решить одним коротки видео.
Вот код скрипта GameAnalytics
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
// Финальная версия январь 2023 // Скрипт взят с сайт http://unityblog.ru/ // Библиотека Firebase https://firebase.google.com/docs/unity/setupqaz using Firebase.Analytics; using Firebase; using UnityEngine; namespace Analytics { public class GameAnalytics : MonoBehaviour { public static GameAnalytics gameAnalytics; private bool _canUseAnalytics; void Awake() { if (gameAnalytics == null) { gameAnalytics = this; DontDestroyOnLoad(gameObject); } else Destroy(gameObject); FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => { var 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. _canUseAnalytics = true; // var app = FirebaseApp.DefaultInstance; // Set a flag here to indicate whether Firebase is ready to use by your app. } else { Debug.LogError(System.String.Format( "Could not resolve all Firebase dependencies: {0}", dependencyStatus)); // Firebase Unity SDK is not safe to use here. } }); } public void InAppPurchaseEvent() { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventPurchase); } public void InterstitialAd() { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAdImpression, new Parameter("Ad_Type","Interstitial_Ad")); } public void RewardedAd() { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAdImpression, new Parameter("Ad_Type","Rewarded_Ad")); } public void BannerAd() { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAdImpression, new Parameter("Ad_Type","Banner_Ad")); } public void LogEvent(string eventName) { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(eventName); } public void LevelUp(int eventName) { if(!_canUseAnalytics) return; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLevelUp, new Parameter(FirebaseAnalytics.ParameterLevel, eventName)); } } } |