GuruSDKService/Runtime/GuruSDKService.Callbacks.cs

152 lines
4.7 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 GuruSDKService
{
public partial class GuruSDKService
{
private 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 void OnAppPaused(bool paused)
{
Log.I($"[GuruCallback][OnAppPaused] paused:{paused}");
_serviceImp?.OnAppPaused(paused);
}
private void OnAppQuit()
{
Log.I($"[GuruCallback][OnAppQuit]");
_serviceImp?.OnAppQuit();
}
#endregion
#region SDK Callbacks
private Action _onFirebaseReady;
private void OnFirebaseReady(bool success)
{
Log.I($"[GuruCallback][OnFirebaseReady] success:{success}");
if (success) _onFirebaseReady?.Invoke();
_serviceImp?.OnFirebaseReady(success);
}
private void OnGuruServiceReady()
{
Log.I($"[GuruCallback][OnGuruServiceReady]");
_serviceImp?.OnGuruServiceReady();
}
private void OnUserAuthResult(bool success)
{
Log.I($"[GuruCallback][OnUserAuthResult] success:{success}");
_serviceImp?.OnUserAuthResult(success);
}
private void OnFirebaseAuthResult(bool success)
{
Log.I($"[GuruCallback][OnFirebaseAuthResult] success:{success}");
_serviceImp?.OnFirebaseAuthResult(success);
}
#endregion
#region ConsentFlow Callbacks
private void OnAttResult(int authorizationTrackingStatus)
{
Log.I($"[GuruCallback][OnAttResult] authorizationTrackingStatus:{authorizationTrackingStatus}");
_serviceImp?.OnAttResult(authorizationTrackingStatus);
}
private void OnConsentResult(int statusCode)
{
Log.I($"[GuruCallback][OnConsentResult] statusCode:{statusCode}");
_serviceImp?.OnConsentResult(statusCode);
}
#endregion
#region AD Callbacks
private void OnAdsInitComplete()
{
Log.I($"[GuruCallback][OnAdsInitComplete]");
_serviceImp?.OnAdsInitComplete();
}
public bool HasBannerADLoaded;
private void OnBannerADLoaded()
{
Log.I($"[GuruCallback][OnBannerADLoaded]");
GuruSDK.Callbacks.Ads.OnBannerADLoaded -= OnBannerADLoaded; //只监听第一次banner加载成功处理banner显示逻辑
HasBannerADLoaded = true;
_serviceImp?.OnBannerADLoaded();
}
private void OnInterstitialADLoaded()
{
Log.I($"[GuruCallback][OnInterstitialADLoaded]");
_serviceImp?.OnInterstitialADLoaded();
}
private void OnInterstitialADFailed()
{
Log.I($"[GuruCallback][OnInterstitialADFailed]");
_serviceImp?.OnInterstitialADFailed();
}
private void OnRewardedADLoaded()
{
Log.I($"[GuruCallback][OnRewardedADLoaded]");
_serviceImp?.OnRewardedADLoaded();
}
private void OnRewardADFailed()
{
Log.I($"[GuruCallback][OnRewardADFailed]");
_serviceImp?.OnRewardADFailed();
}
#endregion
#region Firebase Component Callbacks
public bool IsRemoteConfigFetchSuccess = false;
private void OnRemoteFetchComplete(bool success)
{
Log.I($"[GuruCallback][OnRemoteFetchComplete] success:{success}");
IsRemoteConfigFetchSuccess = success;
_serviceImp?.OnRemoteFetchComplete(success);
}
#endregion
}
}