βοΈUnity Integration
π§©Prerequisites
Navigate to: Assets β Plugins β Android β mainTemplate.gradle
Assets β Plugins β Android β mainTemplate.gradleimplementation 'com.playtimeads:offerwall:2.0.6'Create a C# Wrapper Class With a Listener Proxy Class
using System;
using UnityEngine;
public class PlaytimeAds
{
private AndroidJavaObject objPlaytimeAds;
private AndroidJavaObject unityActivity;
public static Action OnInitSuccess;
public static Action OnInitFailed;
public PlaytimeAds()
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
unityActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
using (AndroidJavaClass javaClass = new AndroidJavaClass("com.playtimeads.PlaytimeAds"))
{
objPlaytimeAds = javaClass.CallStatic<AndroidJavaObject>("getInstance");
}
}
public void DestroyPlaytimeAds()
{
if (objPlaytimeAds != null)
{
// Call the method in the Java class without expecting a return value
Debug.LogError("destroyPlaytimeAds method is getting called");
objPlaytimeAds.Call("destroy");
}
else
{
Debug.LogError("Failed to create Android class instance destroyPlaytimeAds.");
}
}
public void Init(string applicationId, string userId)
{
if (objPlaytimeAds != null)
{
var listenerProxy = new Proxy.Listener();
Debug.Log("init method is getting called" + userId);
objPlaytimeAds.Call("init",unityActivity, applicationId, userId,listenerProxy);
}
else
{
Debug.LogError("Failed to create Android class instance. isInitPlaytimeAds1");
}
}
public void OpenOfferWall()
{
if (objPlaytimeAds != null)
{
// Call the method in the Java class without expecting a return value
Debug.LogError("open Offerwall method is getting called");
// objPlaytimeAds.Call("isInitialized");
objPlaytimeAds.Call("open",unityActivity);
}
else
{
Debug.LogError("Failed to create Android class instance. isInitPlaytimeAds1");
}
}
}
namespace Proxy
{
public class Listener : AndroidJavaProxy
{
public Listener() : base("com.playtimeads.listeners.OfferWallInitListener") { }
// Implement the onSuccess method
public void onInitSuccess()
{
PlaytimeAds.OnInitSuccess?.Invoke();
Debug.Log("onInitSuccess is called");
}
public void onAlreadyInitializing()
{
Debug.Log("onAlreadyInitializing is called");
}
// Implement the onFailure method
public void onInitFailed(string error)
{
PlaytimeAds.OnInitFailed?.Invoke();
Debug.LogError("onInitFailed is called: " + error);
}
}
}
Create a Manager Class
Last updated