101 lines
3.3 KiB
C#
101 lines
3.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using System.Reflection;
|
|
using System;
|
|
|
|
using AnyThinkAds.Common;
|
|
using AnyThinkAds.ThirdParty.LitJson;
|
|
|
|
|
|
namespace AnyThinkAds.Api
|
|
{
|
|
public class ATNativeAdLoadingExtra
|
|
{
|
|
public static readonly string kATNativeAdLoadingExtraNativeAdSizeStruct = "native_ad_size_struct";
|
|
public static readonly string kATNativeAdLoadingExtraNativeAdSize = "native_ad_size";
|
|
public static readonly string kATNativeAdSizeUsesPixelFlagKey = "uses_pixel";
|
|
}
|
|
|
|
public class ATNativeAd
|
|
{
|
|
|
|
private static readonly ATNativeAd instance = new ATNativeAd();
|
|
public IATNativeAdClient client;
|
|
|
|
public ATNativeAd(){
|
|
client = GetATNativeAdClient();
|
|
}
|
|
|
|
public static ATNativeAd Instance
|
|
{
|
|
get
|
|
{
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
|
|
public void loadNativeAd(string placementId, Dictionary<String,object> pairs){
|
|
if (pairs != null && pairs.ContainsKey(ATNativeAdLoadingExtra.kATNativeAdLoadingExtraNativeAdSizeStruct))
|
|
{
|
|
ATSize size = (ATSize)(pairs[ATNativeAdLoadingExtra.kATNativeAdLoadingExtraNativeAdSizeStruct]);
|
|
pairs.Add(ATNativeAdLoadingExtra.kATNativeAdLoadingExtraNativeAdSize, size.width + "x" + size.height);
|
|
pairs.Add(ATNativeAdLoadingExtra.kATNativeAdSizeUsesPixelFlagKey, size.usesPixel);
|
|
}
|
|
client.loadNativeAd(placementId,JsonMapper.ToJson(pairs));
|
|
}
|
|
|
|
public bool hasAdReady(string placementId){
|
|
return client.hasAdReady(placementId);
|
|
}
|
|
|
|
public string checkAdStatus(string placementId)
|
|
{
|
|
return client.checkAdStatus(placementId);
|
|
}
|
|
|
|
public string getValidAdCaches(string placementId)
|
|
{
|
|
return client.getValidAdCaches(placementId);
|
|
}
|
|
|
|
|
|
public void entryScenarioWithPlacementID(string placementId, string scenarioID)
|
|
{
|
|
client.entryScenarioWithPlacementID(placementId,scenarioID);
|
|
}
|
|
|
|
public void renderAdToScene(string placementId, ATNativeAdView anyThinkNativeAdView){
|
|
client.renderAdToScene(placementId, anyThinkNativeAdView, "");
|
|
}
|
|
|
|
public void renderAdToScene(string placementId, ATNativeAdView anyThinkNativeAdView, Dictionary<string,string> pairs){
|
|
client.renderAdToScene(placementId, anyThinkNativeAdView, JsonMapper.ToJson(pairs));
|
|
}
|
|
|
|
public void cleanAdView(string placementId, ATNativeAdView anyThinkNativeAdView){
|
|
client.cleanAdView(placementId, anyThinkNativeAdView);
|
|
}
|
|
|
|
public void onApplicationForces(string placementId, ATNativeAdView anyThinkNativeAdView){
|
|
client.onApplicationForces(placementId, anyThinkNativeAdView);
|
|
}
|
|
|
|
public void onApplicationPasue(string placementId, ATNativeAdView anyThinkNativeAdView){
|
|
client.onApplicationPasue(placementId, anyThinkNativeAdView);
|
|
}
|
|
|
|
public void cleanCache(string placementId){
|
|
client.cleanCache(placementId);
|
|
}
|
|
|
|
|
|
|
|
public IATNativeAdClient GetATNativeAdClient()
|
|
{
|
|
return AnyThinkAds.ATAdsClientFactory.BuildNativeAdClient();
|
|
}
|
|
|
|
}
|
|
} |