GuruSDKService/Runtime/GuruSDKService.Callbacks.cs

152 lines
4.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using Guru;
using UnityEngine;
namespace GuruService
{
public static partial class GuruSDKService
{
private static void AddCallbackListener()
{
GuruSDK.Callbacks.App.OnAppPaused += OnAppPaused;
GuruSDK.Callbacks.App.OnAppQuit += OnAppQuit;
GuruSDK.Callbacks.ConsentFlow.OnConsentResult += OnConsentResult;
GuruSDK.Callbacks.ConsentFlow.OnAttResult += OnAttResult;
GuruSDK.Callbacks.SDK.OnFirebaseReady += OnFirebaseReady;
GuruSDK.Callbacks.SDK.OnGuruServiceReady += OnGuruServiceReady;
GuruSDK.Callbacks.SDK.OnUserAuthResult += OnUserAuthResult;
GuruSDK.Callbacks.SDK.OnFirebaseAuthResult += OnFirebaseAuthResult;
GuruSDK.Callbacks.Ads.OnAdsInitComplete += OnAdsInitComplete;
GuruSDK.Callbacks.Ads.OnBannerADLoaded += OnBannerADLoaded;
GuruSDK.Callbacks.Ads.OnInterstitialADLoaded += OnInterstitialADLoaded;
GuruSDK.Callbacks.Ads.OnInterstitialADFailed += OnInterstitialADFailed;
GuruSDK.Callbacks.Ads.OnRewardedADLoaded += OnRewardedADLoaded;
GuruSDK.Callbacks.Ads.OnRewardADFailed += OnRewardADFailed;
GuruSDK.Callbacks.Remote.OnRemoteFetchComplete += OnRemoteFetchComplete;
}
#region App Callbacks
private static void OnAppPaused(bool paused)
{
Log.I($"[GuruCallback][OnAppPaused] paused:{paused}");
_serviceImp?.OnAppPaused(paused);
}
private static void OnAppQuit()
{
Log.I($"[GuruCallback][OnAppQuit]");
_serviceImp?.OnAppQuit();
}
#endregion
#region SDK Callbacks
private static Action _onFirebaseReady;
private static void OnFirebaseReady(bool success)
{
Log.I($"[GuruCallback][OnFirebaseReady] success:{success}");
if (success) _onFirebaseReady?.Invoke();
_serviceImp?.OnFirebaseReady(success);
}
private static void OnGuruServiceReady()
{
Log.I($"[GuruCallback][OnGuruServiceReady]");
_serviceImp?.OnGuruServiceReady();
}
private static void OnUserAuthResult(bool success)
{
Log.I($"[GuruCallback][OnUserAuthResult] success:{success}");
_serviceImp?.OnUserAuthResult(success);
}
private static void OnFirebaseAuthResult(bool success)
{
Log.I($"[GuruCallback][OnFirebaseAuthResult] success:{success}");
_serviceImp?.OnFirebaseAuthResult(success);
}
#endregion
#region ConsentFlow Callbacks
private static void OnAttResult(int authorizationTrackingStatus)
{
Log.I($"[GuruCallback][OnAttResult] authorizationTrackingStatus:{authorizationTrackingStatus}");
_serviceImp?.OnAttResult(authorizationTrackingStatus);
}
private static void OnConsentResult(int statusCode)
{
Log.I($"[GuruCallback][OnConsentResult] statusCode:{statusCode}");
_serviceImp?.OnConsentResult(statusCode);
}
#endregion
#region AD Callbacks
private static void OnAdsInitComplete()
{
Log.I($"[GuruCallback][OnAdsInitComplete]");
_serviceImp?.OnAdsInitComplete();
}
public static bool HasBannerADLoaded;
private static void OnBannerADLoaded()
{
Log.I($"[GuruCallback][OnBannerADLoaded]");
GuruSDK.Callbacks.Ads.OnBannerADLoaded -= OnBannerADLoaded; //只监听第一次banner加载成功处理banner显示逻辑
HasBannerADLoaded = true;
_serviceImp?.OnBannerADLoaded();
}
private static void OnInterstitialADLoaded()
{
Log.I($"[GuruCallback][OnInterstitialADLoaded]");
_serviceImp?.OnInterstitialADLoaded();
}
private static void OnInterstitialADFailed()
{
Log.I($"[GuruCallback][OnInterstitialADFailed]");
_serviceImp?.OnInterstitialADFailed();
}
private static void OnRewardedADLoaded()
{
Log.I($"[GuruCallback][OnRewardedADLoaded]");
_serviceImp?.OnRewardedADLoaded();
}
private static void OnRewardADFailed()
{
Log.I($"[GuruCallback][OnRewardADFailed]");
_serviceImp?.OnRewardADFailed();
}
#endregion
#region Firebase Component Callbacks
public static bool IsRemoteConfigFetchSuccess = false;
private static void OnRemoteFetchComplete(bool success)
{
Log.I($"[GuruCallback][OnRemoteFetchComplete] success:{success}");
IsRemoteConfigFetchSuccess = success;
_serviceImp?.OnRemoteFetchComplete(success);
}
#endregion
}
}