Firstborn/Library/PackageCache/com.unity.ads@3.7.5/Runtime/Monetization/Monetization.cs

149 lines
4.3 KiB
C#
Raw Normal View History

2023-03-28 13:24:16 -04:00
using System;
namespace UnityEngine.Monetization
{
[Obsolete("Deprecated. Please use Advertisements", false)]
public static class Monetization
{
public static event EventHandler<PlacementContentReadyEventArgs> onPlacementContentReady
{
add
{
s_Platform.OnPlacementContentReady += value;
}
remove
{
s_Platform.OnPlacementContentReady -= value;
}
}
public static event EventHandler<PlacementContentStateChangeEventArgs> onPlacementContentStateChange
{
add
{
s_Platform.OnPlacementContentStateChange += value;
}
remove
{
s_Platform.OnPlacementContentStateChange -= value;
}
}
static IMonetizationPlatform s_Platform;
static bool s_Initialized;
static internal IMonetizationPlatform platform
{
get { return s_Platform; }
set { s_Platform = value; }
}
static Monetization()
{
s_Platform = Creator.CreatePlatform();
}
/// <summary>
/// Returns the current Unity Monetization version.
/// </summary>
public static string version
{
get
{
return s_Platform.version;
}
}
/// <summary>
/// Returns whether the monetization system is initialized successfully.
/// </summary>
public static bool isInitialized
{
get
{
return s_Initialized;
}
internal set
{
s_Initialized = value;
}
}
/// <summary>
/// Returns if the current platform is supported by the monetization system.
/// </summary>
public static bool isSupported
{
get
{
bool supported = Application.isEditor ||
(Application.platform == RuntimePlatform.Android && s_Platform.isSupported) ||
(Application.platform == RuntimePlatform.IPhonePlayer && s_Platform.isSupported);
return supported;
}
}
public static bool IsReady(string placementId)
{
return s_Platform.IsReady(string.IsNullOrEmpty(placementId) ? null : placementId);
}
/// <summary>
/// Initialize the monetization system with specified gameId, testMode, IPurchasingAdapter
/// </summary>
/// <param name="gameId">Game identifier.</param>
/// <param name="testMode">Test mode.</param>
public static void Initialize(string gameId, bool testMode)
{
if (!isInitialized)
{
isInitialized = true;
var framework = new MetaData("framework");
framework.Set("name", "Unity");
framework.Set("version", Application.unityVersion);
SetMetaData(framework);
var adapter = new MetaData("adapter");
#if ASSET_STORE
adapter.Set("name", "AssetStore");
#else
adapter.Set("name", "Packman");
#endif
adapter.Set("version", version);
adapter.Set("flavor", "monetization");
SetMetaData(adapter);
s_Platform.onError += OnError;
s_Platform.Initialize(gameId, testMode);
}
}
public static void SetPurchasingAdapter(IPurchasingAdapter adapter)
{
s_Platform.SetPurchasingAdapter(adapter);
}
public static PlacementContent GetPlacementContent(string placementId)
{
return s_Platform.GetPlacementContent(placementId);
}
public static INativePromoAdapter CreateNativePromoAdapter(PromoAdPlacementContent placementContent)
{
return s_Platform.CreateNativePromoAdapter(placementContent);
}
public static void SetMetaData(MetaData metaData)
{
s_Platform.SetMetaData(metaData);
}
private static void OnError(object sender, UnityServicesErrorEventArgs e)
{
Debug.LogErrorFormat("Unity Services recieved error {0} - {1}", e?.error, e?.message);
}
}
}