You've already forked Commercialization.tapadn
56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
|
|
using System;
|
||
|
|
using Dirichlet.Mediation;
|
||
|
|
using Runtime.ADAggregator;
|
||
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
internal static class TapadnAdRequestFactory
|
||
|
|
{
|
||
|
|
public static bool TryParseSlotId(string slotId, out long parsed)
|
||
|
|
{
|
||
|
|
return long.TryParse(slotId, out parsed) && parsed > 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static DirichletAdRequest BuildRewarded(string slotId, TapadnControllerOptions options)
|
||
|
|
{
|
||
|
|
var builder = CreateBaseBuilder(slotId)
|
||
|
|
.WithUserId(ADManager.Instance.UserId)
|
||
|
|
.WithRewardName(options?.RewardName ?? "reward")
|
||
|
|
.WithRewardAmount(options?.RewardAmount ?? 1);
|
||
|
|
|
||
|
|
return builder.Build();
|
||
|
|
}
|
||
|
|
|
||
|
|
public static DirichletAdRequest BuildInterstitial(string slotId, TapadnControllerOptions options)
|
||
|
|
{
|
||
|
|
return ApplyExpressSize(CreateBaseBuilder(slotId), options).Build();
|
||
|
|
}
|
||
|
|
|
||
|
|
public static DirichletAdRequest BuildSplash(string slotId, TapadnControllerOptions options)
|
||
|
|
{
|
||
|
|
var builder = CreateBaseBuilder(slotId);
|
||
|
|
var width = options?.ExpressWidth ?? Screen.width;
|
||
|
|
var height = options?.ExpressHeight ?? Screen.height;
|
||
|
|
return builder.WithExpressViewSize(width, height).Build();
|
||
|
|
}
|
||
|
|
|
||
|
|
private static DirichletAdRequest.Builder CreateBaseBuilder(string slotId)
|
||
|
|
{
|
||
|
|
if (!TryParseSlotId(slotId, out var parsed))
|
||
|
|
{
|
||
|
|
throw new ArgumentException($"TapADN slot id must be a positive integer. Current value: {slotId}", nameof(slotId));
|
||
|
|
}
|
||
|
|
|
||
|
|
return new DirichletAdRequest.Builder().WithSpaceId(parsed);
|
||
|
|
}
|
||
|
|
|
||
|
|
private static DirichletAdRequest.Builder ApplyExpressSize(DirichletAdRequest.Builder builder, TapadnControllerOptions options)
|
||
|
|
{
|
||
|
|
if (options?.ExpressWidth != null || options?.ExpressHeight != null)
|
||
|
|
{
|
||
|
|
builder.WithExpressViewSize(options?.ExpressWidth ?? Screen.width, options?.ExpressHeight ?? Screen.height);
|
||
|
|
}
|
||
|
|
|
||
|
|
return builder;
|
||
|
|
}
|
||
|
|
}
|