diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 98d5ade..2bd2c62 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -812,6 +812,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 339569235} m_CullTransparentMesh: 1 +--- !u!1 &354948052 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 354948053} + - component: {fileID: 354948055} + - component: {fileID: 354948054} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &354948053 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354948052} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1284311697} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &354948054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354948052} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: InitSDK +--- !u!222 &354948055 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 354948052} + m_CullTransparentMesh: 1 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -904,6 +983,139 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &522373770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 522373771} + - component: {fileID: 522373774} + - component: {fileID: 522373773} + - component: {fileID: 522373772} + m_Layer: 5 + m_Name: Button-topon-IsInit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &522373771 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522373770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1467558789} + m_Father: {fileID: 1332931146} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 81.78003} + m_Pivot: {x: 0, y: 1} +--- !u!114 &522373772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522373770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 522373773} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1332931147} + m_TargetAssemblyTypeName: Test, Assembly-CSharp + m_MethodName: ToponKwaiIsInit + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &522373773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522373770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &522373774 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 522373770} + m_CullTransparentMesh: 1 --- !u!1 &522908628 GameObject: m_ObjectHideFlags: 0 @@ -2165,6 +2377,139 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1263400539} m_CullTransparentMesh: 1 +--- !u!1 &1284311696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1284311697} + - component: {fileID: 1284311700} + - component: {fileID: 1284311699} + - component: {fileID: 1284311698} + m_Layer: 5 + m_Name: Button-topon-Init + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1284311697 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284311696} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 354948053} + m_Father: {fileID: 1332931146} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 245, y: 0} + m_SizeDelta: {x: 160, y: 81.78003} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1284311698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284311696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1284311699} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1332931147} + m_TargetAssemblyTypeName: Test, Assembly-CSharp + m_MethodName: ToponKwaiInitSDK + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1284311699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284311696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1284311700 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284311696} + m_CullTransparentMesh: 1 --- !u!1 &1332931142 GameObject: m_ObjectHideFlags: 0 @@ -2273,6 +2618,8 @@ RectTransform: - {fileID: 339569236} - {fileID: 5579540} - {fileID: 1601333711} + - {fileID: 522373771} + - {fileID: 1284311697} - {fileID: 1979832641} - {fileID: 1439137377} m_Father: {fileID: 0} @@ -2448,6 +2795,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1439137376} m_CullTransparentMesh: 1 +--- !u!1 &1467558788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1467558789} + - component: {fileID: 1467558791} + - component: {fileID: 1467558790} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1467558789 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467558788} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 522373771} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1467558790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467558788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Topon Is Init +--- !u!222 &1467558791 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1467558788} + m_CullTransparentMesh: 1 --- !u!1 &1560301798 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Test.cs b/Assets/Script/Test.cs index 2ef45e9..c1663b4 100644 --- a/Assets/Script/Test.cs +++ b/Assets/Script/Test.cs @@ -16,22 +16,17 @@ public class Test : MonoBehaviour private void Start() { - - RushSDKManager.Instance.InitializeSdk(()=> { },true); + RushSDKManager.Instance.InitializeSdk(() => { }, true); } public void OnShowAd() { - RushSDKManager.Instance.ShowRewardAd("test",(s,st)=> - { - LoggerUtils.Debug("onreward show callback revenue:"+st); - }); + RushSDKManager.Instance.ShowRewardAd("test", (s, st) => { LoggerUtils.Debug("onreward show callback revenue:" + st); }); } public void OnShowInterstitial() { - - RushSDKManager.Instance.ShowBanner(BannerType.Collapsible,BannerAlignType.CenterBottom); + RushSDKManager.Instance.ShowBanner(BannerType.Collapsible, BannerAlignType.CenterBottom); // KwaiAdsManager.Instance.OnInterstitialCallback(); // var small = gameObject.transform.Find("NativeAd-small").GetComponent(); // var medium = gameObject.transform.Find("NativeAd-medium").GetComponent(); @@ -67,17 +62,12 @@ public class Test : MonoBehaviour public void OnInterShow() { - AdsSDKManager.Instance.ShowInterstitialAd("endgame",IvType.IV1, (revenue) => - { - LoggerUtils.Debug("oninter show call revenue:"+revenue); - - }); + AdsSDKManager.Instance.ShowInterstitialAd("endgame", IvType.IV1, (revenue) => { LoggerUtils.Debug("oninter show call revenue:" + revenue); }); } public void ToponDebug() { // ATSDKAPI.showDebuggerUI(); - } public void MaxDebug() @@ -189,4 +179,15 @@ public class Test : MonoBehaviour var adUnitId = StaticValue.AdmobMinddleNativeId; AdsSDKManager.Instance.RemoveNativeAd(adUnitId); } + + public void ToponKwaiIsInit() + { + var isInit = ToponKwaiUtils.IsInit(); + Debug.Log($"luojian topon kwai is init : {isInit} , AdapterVersion = {ToponKwaiUtils.GetAdapterVersion()} , NetworkVersion = {ToponKwaiUtils.GetNetworkVersion()}, NetworkName = {ToponKwaiUtils.GetNetworkName()}"); + } + + public void ToponKwaiInitSDK() + { + ToponKwaiUtils.InitSDK("804006", "57tegTivgTRihdt", (result, message) => { Debug.Log($"luojian topon kwai init SDK result : {result} , message : {message}"); }); + } } \ No newline at end of file diff --git a/Assets/Script/Utils/ToponKwaiUtils.cs b/Assets/Script/Utils/ToponKwaiUtils.cs new file mode 100644 index 0000000..d97c170 --- /dev/null +++ b/Assets/Script/Utils/ToponKwaiUtils.cs @@ -0,0 +1,173 @@ +using System; +using UnityEngine; +using UnityEngine.Scripting; + +namespace WZ +{ + public class ToponKwaiUtils + { + // 标准的topon版本 + // private const string KwaiATInitManagerPath = "com.anythink.network.kwai.KwaiATInitManager"; + // private const string IsInitPath = "j"; + // private const string MediationInitCallbackPath = "com.anythink.core.api.MediationInitCallback"; + + + // 定制的topon版本? + private const string KwaiATInitManagerPath = "com.thinkup.network.kwai.KwaiTUInitManager"; + private const string IsInitPath = "mm"; + public const string MediationInitCallbackPath = "com.thinkup.core.api.MediationInitCallback"; + + private static AndroidJavaObject Instance = null; + + private static AndroidJavaObject GetInstance() + { + Instance ??= new AndroidJavaClass(KwaiATInitManagerPath).CallStatic("getInstance"); + return Instance; + } + + /// + /// topon 是否已经初始化了 kwai + /// + /// + public static bool IsInit() + { + try + { + return GetInstance().Get(IsInitPath); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] IsInit , {e.Message}"); + } + + return false; + } + + /// + /// 通过 topon 去初始化 kwai + /// + /// kwai 的appid + /// kwai 的app token + /// 初始化的回调 + public static void InitSDK(string appID, string appToken, Action callback) + { + try + { + var hashMap = new AndroidJavaObject("java.util.HashMap"); + hashMap.Call("put", "app_id", appID); + hashMap.Call("put", "app_token", appToken); + GetInstance().Call("initSDK", GetAndroidApplication(), hashMap, new MediationInitCallback(callback)); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] InitSDK , {e.Message}"); + callback.Invoke(false, e.Message); + } + } + + public static string GetAdapterVersion() + { + try + { + return GetInstance().Call("getAdapterVersion"); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] GetAdapterVersion , {e.Message}"); + } + + return ""; + } + + public static string GetNetworkVersion() + { + try + { + return GetInstance().Call("getNetworkVersion"); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkVersion , {e.Message}"); + } + + return ""; + } + + public static string GetNetworkName() + { + try + { + return GetInstance().Call("getNetworkName"); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkName , {e.Message}"); + } + + return ""; + } + + public static string GetNetworkSDKClass() + { + try + { + return GetInstance().Call("getNetworkSDKClass"); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkSDKClass , {e.Message}"); + } + + return ""; + } + + + /// + /// 获取Android的Application对象(android.app.Application) + /// + /// Android Application对象(AndroidJavaObject),若在非Android平台返回null + private static AndroidJavaObject GetAndroidApplication() + { + // 只在Android平台执行 + if (Application.platform != RuntimePlatform.Android) + { + return null; + } + + try + { + var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + var currentActivity = unityPlayer.GetStatic("currentActivity"); + + return currentActivity.Call("getApplication"); + } + catch (Exception e) + { + LoggerUtils.Error($"[ToponKwaiUtils] GetAndroidApplication , {e.Message}"); + return null; + } + } + } + + public class MediationInitCallback : AndroidJavaProxy + { + private readonly Action _callback; + + public MediationInitCallback(Action callback) : base(ToponKwaiUtils.MediationInitCallbackPath) + { + _callback = callback; + } + + [Preserve] + public void onSuccess() + { + _callback.Invoke(true, "success"); + } + + [Preserve] + public void onFail(string error) + { + _callback.Invoke(false, error); + } + } +} \ No newline at end of file diff --git a/Assets/Script/Utils/ToponKwaiUtils.cs.meta b/Assets/Script/Utils/ToponKwaiUtils.cs.meta new file mode 100644 index 0000000..e53215e --- /dev/null +++ b/Assets/Script/Utils/ToponKwaiUtils.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 24597cd26d7b463d9767c1d5d3e0ad1c +timeCreated: 1761039734 \ No newline at end of file