53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
|
#if UNITY_ANDROID
|
||
|
|
||
|
using System;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace BigoAds.Scripts.Platforms.Android
|
||
|
{
|
||
|
public class AdInteractionCallback : AndroidJavaProxy
|
||
|
{
|
||
|
private readonly Action OnAdShowed;
|
||
|
protected readonly Action OnAdDismissed;
|
||
|
private readonly Action OnAdClicked;
|
||
|
private readonly Action<int, string> OnAdError;
|
||
|
private const string ListenerName = AndroidPlatformTool.ClassPackage + ".api.AdInteractionListener";
|
||
|
|
||
|
public AdInteractionCallback(Action onAdShowed, Action onAdClicked, Action onAdDismissed, Action<int, string> onAdError,
|
||
|
string listenerName = ListenerName) : base(listenerName)
|
||
|
{
|
||
|
OnAdShowed = onAdShowed;
|
||
|
OnAdDismissed = onAdDismissed;
|
||
|
OnAdClicked = onAdClicked;
|
||
|
OnAdError = onAdError;
|
||
|
}
|
||
|
|
||
|
public void onAdImpression()
|
||
|
{
|
||
|
OnAdShowed?.Invoke();
|
||
|
}
|
||
|
|
||
|
public void onAdClosed()
|
||
|
{
|
||
|
OnAdDismissed?.Invoke();
|
||
|
}
|
||
|
|
||
|
public void onAdClicked()
|
||
|
{
|
||
|
OnAdClicked?.Invoke();
|
||
|
}
|
||
|
|
||
|
public void onAdError(AndroidJavaObject error)
|
||
|
{
|
||
|
var code = error.Call<int>("getCode");
|
||
|
var message = error.Call<string>("getMessage");
|
||
|
OnAdError?.Invoke(code, message);
|
||
|
}
|
||
|
|
||
|
public void onAdOpened()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
#endif
|