Skip to main content

Sample Code

Below is a concise example demonstrating the usage:

  • Import required namespaces
  • Initialization of the AdsKit with user consent.
  • Registering event listeners for ad lifecycle events.
  • Loading and showing ads with placement Ids.
  • Implementing callbacks for successful and failed ad operations.
// Import required namespaces
using VoxelBusters.CoreLibrary;
using VoxelBusters.AdsKit;

// Implement IAdLifecycleEventListener to listen for ad related events
public class AdsManager : MonoBehaviour, IAdLifecycleEventListener
{
private void OnEnable()
{
AdsManager.RegisterListener(this);
}

private void OnDisable()
{
AdsManager.UnregisterListener(this);
}

private void Start()
{
InitializeAds();
}

public void InitializeAds(Action<bool> onComplete)
{
// This could be a default provider or your own custom implementation
IConsentFormProvider consentProvider = AdServices.GetConsentFormProvider();
var operation = AdsManager.Initialise(consentProvider);
operation.OnComplete += (result) =>
{
Debug.Log("Initialisation complete! Now start loading/displaying the ads.");
bool success = (result.InvalidNetworks.Length == 0);
onComplete?.Invoke(success);
};
}

// Get ad placement Id from Ad Placements section of General section in AdsKitSettings.
public void LoadAd(string placementId)
{
AdsManager.LoadAd(placementId);
}

// Get ad placement Id from Ad Placements section of General section in AdsKitSettings.
public void ShowAd(string placementId)
{
AdsManager.ShowAd(placementId);
}

// Get ad placement Id from Ad Placements section of General section in AdsKitSettings.
public void HideAd(string placementId)
{
// HideAd only applicable to Banner Ad Type alone.
AdsManager.HideAd(placementId, destroy: false);
}

#region IAdLifecycleEventListener implementation

public void OnInitialisationComplete(InitialiseResult result)
{
   Debug.Log("AdsKit is initialised successfully.");
}

public void OnInitialisationFail(Error error)
{
   Debug.Log($"AdsKit failed to initialise with error {error}.");
}

public void OnLoadAdComplete(string placementId, LoadAdResult result)
{
   Log($"AdsKit has successfully loaded ad for placementId: {placementId}.");
}

public void OnLoadAdFail(string placementId, Error error)
{
   Debug.Log($"AdsKit has failed to load ad for placementId: {placementId} with error: {error}.");
}

public void OnShowAdStart(string placementId)
{
   Debug.Log($"AdsKit has started showing ad for placementId: {placementId}.");
}

public void OnShowAdClick(string placementId)
{
   Debug.Log($"AdsKit has recognised click on ad for placementId: {placementId}.");
}

public void OnShowAdComplete(string placementId, ShowAdResult result)
{
   Debug.Log($"AdsKit has completed showing ad for placementId: {placementId} with result: {result}.");
}

public void OnShowAdFail(string placementId, Error error)
{
   Debug.Log($"AdsKit has failed to show ad for placementId: {placementId} with Error: {error}.");
}

public void OnAdImpressionRecorded(string placementId)
{
   Debug.Log($"AdsKit has recorded impression for ad for placementId: {placementId}.");
}

public void OnAdPaid(string placementId, AdTransaction transaction)
{
   Debug.Log($"AdsKit has recorded pay for ad: {placementId} with transaction: {transaction}.");
}

#endregion
}


In this example, AdsManager is a MonoBehaviour that initializes the AdsKit when the game starts. It registers itself as an IAdLifecycleEventListener to handle ad events.