RandomGFGoStop/Assets/GoogleMobileAds/Mediation/UnityAds/Platforms/Android/UnityAdsClient.cs

61 lines
2.0 KiB
C#

// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#if UNITY_ANDROID
using UnityEngine;
using GoogleMobileAds.Mediation.UnityAds.Common;
namespace GoogleMobileAds.Mediation.UnityAds.Android
{
public class UnityAdsClient : IUnityAdsClient
{
private const string UNITY_PLAYER_CLASS_NAME = "com.unity3d.player.UnityPlayer";
private const string UNITY_ADS_METADATA_CLASS_NAME = "com.unity3d.ads.metadata.MetaData";
private static UnityAdsClient instance = new UnityAdsClient();
private UnityAdsClient() { }
public static UnityAdsClient Instance
{
get
{
return instance;
}
}
public void SetConsentMetaData(string key, bool metaDataValue)
{
AndroidJavaClass unityPlayer = new AndroidJavaClass(UNITY_PLAYER_CLASS_NAME);
AndroidJavaObject currentActivity =
unityPlayer.GetStatic<AndroidJavaObject> ("currentActivity");
AndroidJavaObject unityAdsMetaData =
new AndroidJavaObject(UNITY_ADS_METADATA_CLASS_NAME, currentActivity);
bool success = unityAdsMetaData.Call<bool>("set", key, metaDataValue);
if (success)
{
unityAdsMetaData.Call("commit");
}
else
{
MonoBehaviour.print("[UnityAds Plugin] Failed to update consent MetaData.");
}
}
}
}
#endif