I was able to get Unity Ads working by following this tutorial:
Now I have a similar problem as Scarface. The Ads display, but I want to be able to reward my players for watching the full Ad. Any advice on how to set a variable where (I've attempted to make the text red) in the script I am to reward the player, would be greatly appreciated.
Note: I changed my GameIDs and SurfacingIDs to "Nunya"
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;
public class AdsManager : MonoBehaviour, IUnityAdsListener
{
#if UNITY_IOS
private string gameId = "Nunya";
#elif UNITY_ANDROID
private string gameId = "Nunya";
#endif
bool testMode = true;
string mySurfacingId = "Nunya";
void Start()
{
Advertisement.AddListener(this);
// Initialize the Ads service:
Advertisement.Initialize(gameId, testMode);
}
public void ShowInterstitialAd()
{
// Check if UnityAds ready before calling Show method:
if (Advertisement.IsReady())
{
Advertisement.Show(mySurfacingId);
// Replace mySurfacingId with the ID of the placements you wish to display as shown in your Unity Dashboard.
}
else
{
Debug.Log("Interstitial ad not ready at the moment! Please try again later!");
}
}
public void ShowRewardedVideo()
{
// Check if UnityAds ready before calling Show method:
if (Advertisement.IsReady(mySurfacingId))
{
Advertisement.Show(mySurfacingId);
}
else
{
Debug.Log("Rewarded video is not ready at the moment! Please try again later!");
}
}
// Implement IUnityAdsListener interface methods:
public void OnUnityAdsDidFinish(string surfacingId, ShowResult showResult)
{
// Define conditional logic for each ad completion status:
if (showResult == ShowResult.Finished)
{
// Reward the user for watching the ad to completion. }
else if (showResult == ShowResult.Skipped)
{
// Do not reward the user for skipping the ad.
}
else if (showResult == ShowResult.Failed)
{
Debug.LogWarning("The ad did not finish due to an error.");
}
}
public void OnUnityAdsReady(string surfacingId)
{
// If the ready Ad Unit or legacy Placement is rewarded, show the ad:
if (surfacingId == mySurfacingId)
{
// Optional actions to take when theAd Unit or legacy Placement becomes ready (for example, enable the rewarded ads button)
}
}
public void OnUnityAdsDidError(string message)
{
// Log the error.
}
public void OnUnityAdsDidStart(string surfacingId)
{
// Optional actions to take when the end-users triggers an ad.
}
// When the object that subscribes to ad events is destroyed, remove the listener:
public void OnDestroy()
{
Advertisement.RemoveListener(this);
}
}