101 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| #if UNITY_ANDROID
 | |
| 
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Text;
 | |
| using BigoAds.Scripts.Api;
 | |
| using BigoAds.Scripts.Api.Constant;
 | |
| using UnityEngine;
 | |
| 
 | |
| namespace BigoAds.Scripts.Platforms.Android
 | |
| {
 | |
|     internal static class AndroidPlatformTool
 | |
|     {
 | |
|         public const string ClassPackage = "sg.bigo.ads";
 | |
|         private const string UnityPlayerClassName = "com.unity3d.player.UnityPlayer";
 | |
|         private const string CurrentActivityMethod = "currentActivity";
 | |
|         private const string ResourceUtilClassName = ClassPackage + ".ResourceUtil";
 | |
|         private const string AdConfigClassName = ClassPackage + ".api.AdConfig$Builder";
 | |
| 
 | |
|         public static AndroidJavaObject GetGameActivity()
 | |
|         {
 | |
|             return new AndroidJavaClass(UnityPlayerClassName).GetStatic<AndroidJavaObject>(CurrentActivityMethod);
 | |
|         }
 | |
| 
 | |
|         public static AndroidJavaObject GetBigoConfig(BigoAdConfig config)
 | |
|         {
 | |
|             var builder = new AndroidJavaObject(AdConfigClassName);
 | |
|             if (config != null)
 | |
|             {
 | |
|                 void CallNativeFunction<T>(string methodName, T arg)
 | |
|                 {
 | |
|                     builder.Call<AndroidJavaObject>(methodName, arg);
 | |
|                 }
 | |
| 
 | |
|                 if (!string.IsNullOrEmpty(config.AppId))
 | |
|                 {
 | |
|                     CallNativeFunction("setAppId", config.AppId);
 | |
|                 }
 | |
| 
 | |
|                 if (config.DebugLog) //default value is false
 | |
|                 {
 | |
|                     Debug.Log("set debug true");
 | |
|                     CallNativeFunction("setDebug", true);
 | |
|                 }
 | |
| 
 | |
|                 if (!string.IsNullOrEmpty(config.Channel))
 | |
|                 {
 | |
|                     CallNativeFunction("setChannel", config.Channel);
 | |
|                 }
 | |
| 
 | |
|                 if (config.Age > 0)
 | |
|                 {
 | |
|                     CallNativeFunction("setAge", config.Age);
 | |
|                 }
 | |
| 
 | |
|                 if (config.Gender > 0)
 | |
|                 {
 | |
|                     CallNativeFunction("setGender", config.Gender);
 | |
|                 }
 | |
| 
 | |
|                 if (config.ActivatedTime > 0)
 | |
|                 {
 | |
|                     CallNativeFunction("setActivatedTime", config.ActivatedTime);
 | |
|                 }
 | |
|                 
 | |
|                 foreach (KeyValuePair<string, string> item in config.ExtraDictionary)
 | |
|                 {
 | |
|                     Debug.Log($"bigo sdk config extra:" + item.Key + "=" + item.Value);
 | |
|                     builder.Call<AndroidJavaObject>("addExtra", item.Key, item.Value);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             return builder.Call<AndroidJavaObject>("build");
 | |
|         }
 | |
| 
 | |
|         public static AndroidJavaObject GetAdRequest(BigoRequest request)
 | |
|         {
 | |
|             switch (request)
 | |
|             {
 | |
|                 case BigoBannerRequest _:
 | |
|                     break;
 | |
|                 case BigoNativeRequest _:
 | |
|                     break;
 | |
|                 case BigoSplashRequest _:
 | |
|                     break;
 | |
|                 case BigoInterstitialRequest _:
 | |
|                     break;
 | |
|                 case BigoRewardedRequest _:
 | |
|                     break;
 | |
|             }
 | |
| 
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         public static void CallMethodOnMainThread(Action task)
 | |
|         {
 | |
|             GetGameActivity()?.Call("runOnUiThread", new AndroidJavaRunnable(task));
 | |
|         }
 | |
|     }
 | |
| }
 | |
| #endif |