Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
|
c22019fc71 | |
|
ff7044f79c | |
|
88918b8691 | |
|
f218790d71 | |
|
5bef448ae2 | |
|
269ccbf47e | |
|
4214568c7b | |
|
d453b7b73d |
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"recommendations": [
|
||||
"visualstudiotoolsforunity.vstuc"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Attach to Unity",
|
||||
"type": "vstuc",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"files.exclude": {
|
||||
"**/.DS_Store": true,
|
||||
"**/.git": true,
|
||||
"**/.gitmodules": true,
|
||||
"**/*.booproj": true,
|
||||
"**/*.pidb": true,
|
||||
"**/*.suo": true,
|
||||
"**/*.user": true,
|
||||
"**/*.userprefs": true,
|
||||
"**/*.unityproj": true,
|
||||
"**/*.dll": true,
|
||||
"**/*.exe": true,
|
||||
"**/*.pdf": true,
|
||||
"**/*.mid": true,
|
||||
"**/*.midi": true,
|
||||
"**/*.wav": true,
|
||||
"**/*.gif": true,
|
||||
"**/*.ico": true,
|
||||
"**/*.jpg": true,
|
||||
"**/*.jpeg": true,
|
||||
"**/*.png": true,
|
||||
"**/*.psd": true,
|
||||
"**/*.tga": true,
|
||||
"**/*.tif": true,
|
||||
"**/*.tiff": true,
|
||||
"**/*.3ds": true,
|
||||
"**/*.3DS": true,
|
||||
"**/*.fbx": true,
|
||||
"**/*.FBX": true,
|
||||
"**/*.lxo": true,
|
||||
"**/*.LXO": true,
|
||||
"**/*.ma": true,
|
||||
"**/*.MA": true,
|
||||
"**/*.obj": true,
|
||||
"**/*.OBJ": true,
|
||||
"**/*.asset": true,
|
||||
"**/*.cubemap": true,
|
||||
"**/*.flare": true,
|
||||
"**/*.mat": true,
|
||||
"**/*.meta": true,
|
||||
"**/*.prefab": true,
|
||||
"**/*.unity": true,
|
||||
"build/": true,
|
||||
"Build/": true,
|
||||
"Library/": true,
|
||||
"library/": true,
|
||||
"obj/": true,
|
||||
"Obj/": true,
|
||||
"ProjectSettings/": true,
|
||||
"temp/": true,
|
||||
"Temp/": true
|
||||
},
|
||||
"dotnet.defaultSolution": "SDK_UnityMoney.sln",
|
||||
"git.ignoreLimitWarning": true
|
||||
}
|
|
@ -4,6 +4,7 @@ using BigoAds.Scripts.Platforms.Android;
|
|||
using KwaiAds.Scripts.Api;
|
||||
using KwaiAds.Scripts.Common;
|
||||
using UnityEngine;
|
||||
using WZ;
|
||||
|
||||
namespace KwaiAds.Scripts.Platforms.Android
|
||||
{
|
||||
|
@ -126,7 +127,10 @@ namespace KwaiAds.Scripts.Platforms.Android
|
|||
{
|
||||
AndroidJavaObject contextObject = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
|
||||
Debug.Log("Android Context: " + contextObject.Call<string>("toString"));
|
||||
kwaiAdSdkClass.CallStatic("init", contextObject, sdkConfigBuilder.Call<AndroidJavaObject>("build"));
|
||||
if (!KwaiAdsManager.UseToponInitKwai())
|
||||
{
|
||||
kwaiAdSdkClass.CallStatic("init", contextObject, sdkConfigBuilder.Call<AndroidJavaObject>("build"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -147,6 +147,7 @@ namespace KwaiAds.Scripts.Platforms.Android
|
|||
|
||||
public void onAdLoadSuccess(string trackId, AndroidJavaObject kwaiInterstitialAd)
|
||||
{
|
||||
if (string.IsNullOrEmpty(trackId) || kwaiInterstitialAd == null || _InterstitialAdLoadListener == null) return;
|
||||
_KwaiInterstitialAdController._KwaiInterstitialAd = kwaiInterstitialAd;
|
||||
string price = kwaiInterstitialAd.Call<string>("getPrice");
|
||||
Debug.Log($"{TAG}: onAdLoaded: {kwaiInterstitialAd.Call<string>("getPrice")}");
|
||||
|
|
|
@ -134,6 +134,7 @@ namespace KwaiAds.Scripts.Platforms.Android
|
|||
{
|
||||
this._RewardAdLoadListener = rewardAdListener;
|
||||
this._KwaiRewardAdController = kwaiRewardAdController;
|
||||
Debug.Log("yangwu AdLoadListener:"+rewardAdListener+" kwaiRewardAdController:"+kwaiRewardAdController);
|
||||
}
|
||||
|
||||
public void onAdLoadStart(string trackId)
|
||||
|
@ -147,6 +148,7 @@ namespace KwaiAds.Scripts.Platforms.Android
|
|||
|
||||
public void onAdLoadSuccess(string trackId, AndroidJavaObject kwaiRewardAd)
|
||||
{
|
||||
if (string.IsNullOrEmpty(trackId) || kwaiRewardAd == null || _KwaiRewardAdController == null) return;
|
||||
_KwaiRewardAdController._KwaiRewardAd = kwaiRewardAd;
|
||||
string price = kwaiRewardAd.Call<string>("getPrice");
|
||||
Debug.Log($"{TAG}: onAdLoaded: {kwaiRewardAd.Call<string>("getPrice")}");
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -27,6 +27,7 @@ namespace WZ
|
|||
private Dictionary<string, int> _retryCounters = new Dictionary<string, int>();
|
||||
private Dictionary<string, float> _adStartLoadTimes = new Dictionary<string, float>();
|
||||
private Dictionary<string, ShowNativePosition> showingNativeAds = new();
|
||||
private Dictionary<string, bool> TimingRefreshDict = new();
|
||||
|
||||
public void InitializeAdUnits(List<string> adUnitIds)
|
||||
{
|
||||
|
@ -128,7 +129,7 @@ namespace WZ
|
|||
adUnitId,
|
||||
AdsType.Native,
|
||||
AdmobUtils.GetNativeEcpm(ad));
|
||||
|
||||
|
||||
_retryCounters[adUnitId] = 0;
|
||||
|
||||
|
||||
|
@ -143,8 +144,8 @@ namespace WZ
|
|||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
{
|
||||
LoggerUtils.Debug($"[Admob] Native ad paid {adValue.Value} {adValue.CurrencyCode}.");
|
||||
AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName??"",
|
||||
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId??"",
|
||||
AdmobAdsManager.Instance.TrackAdImpression(ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceName ?? "",
|
||||
ad?.GetResponseInfo()?.GetLoadedAdapterResponseInfo().AdSourceInstanceId ?? "",
|
||||
adValue,
|
||||
AdsType.Native,
|
||||
adUnitId);
|
||||
|
@ -275,6 +276,16 @@ namespace WZ
|
|||
|
||||
private void TimingRefresh(string adUnitId)
|
||||
{
|
||||
// 同一个id只允许触发一次定时刷新。 避免多次调用show ,多次来触发刷新
|
||||
if (TimingRefreshDict.TryGetValue(adUnitId, out var timingRefresh))
|
||||
{
|
||||
if (timingRefresh)
|
||||
{
|
||||
LoggerUtils.Debug($"[Admob] Native ad ({adUnitId}) timing refresh finished. 正在刷新中.不用重复刷新.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var nativeReflashGap = int.Parse(FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("Native_Reflash_Gap", "0"));
|
||||
|
||||
if (nativeReflashGap <= 0)
|
||||
|
@ -295,10 +306,15 @@ namespace WZ
|
|||
return;
|
||||
}
|
||||
|
||||
LoggerUtils.Debug($"[Admob] Native ad ({adUnitId}) timing refresh start. nativeReflashGap = {nativeReflashGap}");
|
||||
|
||||
TimingRefreshDict.AddIfNotExists(adUnitId, true);
|
||||
|
||||
WLoom.QueueOnMainThread(o =>
|
||||
{
|
||||
var refreshAdUnitId = (string)o;
|
||||
LoggerUtils.Debug($"[Admob] Native ad ({adUnitId}) timing refresh load start refreshAdUnitId : {refreshAdUnitId}.");
|
||||
var remove = TimingRefreshDict.Remove(refreshAdUnitId);
|
||||
LoggerUtils.Debug($"[Admob] Native ad ({adUnitId}) timing refresh load start refreshAdUnitId : {refreshAdUnitId}. TimingRefreshDict.Remove = {remove}");
|
||||
if (showingNativeAds.ContainsKey(refreshAdUnitId))
|
||||
{
|
||||
LoadAd(refreshAdUnitId, true);
|
||||
|
@ -332,10 +348,10 @@ namespace WZ
|
|||
public string GetHighestPayingAdUnit()
|
||||
{
|
||||
return _adRevenueCache
|
||||
.Where(kvp => IsAdAvailable(kvp.Key))
|
||||
.OrderByDescending(kvp => kvp.Value)
|
||||
.Select(kvp => kvp.Key)
|
||||
.FirstOrDefault();
|
||||
.Where(kvp => IsAdAvailable(kvp.Key))
|
||||
.OrderByDescending(kvp => kvp.Value)
|
||||
.Select(kvp => kvp.Key)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
// 获取价格最高的广告收益信息
|
||||
|
|
|
@ -47,19 +47,35 @@ namespace WZ
|
|||
{
|
||||
KwaiFloorIvManager.Instance.InitializeWithFloors();
|
||||
}
|
||||
|
||||
var useToponKwai = RushSDKManager.Instance.GetRemoteConfigStr("use_topon_kwai","1").Equals("1");
|
||||
LoggerUtils.Debug("KwaiAdsManager Initialize start" + _appId + " token:" + _token + " rewardAdUnitId:" + _rewardAdUnitId + " interstitialAdUnitId:" + _interstitialAdUnitId+ " useToponKwai:" + useToponKwai);
|
||||
|
||||
if (useToponKwai)
|
||||
LoggerUtils.Debug("KwaiAdsManager Initialize start" + _appId + " token:" + _token + " rewardAdUnitId:" + _rewardAdUnitId + " interstitialAdUnitId:" + _interstitialAdUnitId + " useToponKwai:" + UseToponInitKwai());
|
||||
|
||||
if (UseToponInitKwai())
|
||||
{
|
||||
_initialized = true;
|
||||
LoadInterstitial();
|
||||
LoadRewarded();
|
||||
if (!string.IsNullOrEmpty(_appId) && !string.IsNullOrEmpty(_token))
|
||||
{
|
||||
ToponKwaiUtils.InitSDK(_appId, _token, (res, msg) =>
|
||||
{
|
||||
LoggerUtils.Debug("KwaiAdsManager is init topon" + ToponKwaiUtils.IsInit() + " res:" + res.ToString() + " msg:" + msg);
|
||||
if (res)
|
||||
{
|
||||
var kwaiAdConfig = new KwaiAds.Scripts.Api.KwaiAdConfig.Builder()
|
||||
.SetAppId(_appId)
|
||||
.SetToken(_token)
|
||||
.SetDebugLog(false)
|
||||
.Build();
|
||||
|
||||
KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl());
|
||||
_initialized = true;
|
||||
LoadInterstitial();
|
||||
LoadRewarded();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LoggerUtils.Debug("KwaiAdsManager RefreshAdsData" + _appId + " token:" + _token + " rewardAdUnitId:" + _rewardAdUnitId + " interstitialAdUnitId:" + _interstitialAdUnitId+ " init:" + _initialized);
|
||||
LoggerUtils.Debug("KwaiAdsManager RefreshAdsData" + _appId + " token:" + _token + " rewardAdUnitId:" + _rewardAdUnitId + " interstitialAdUnitId:" + _interstitialAdUnitId + " init:" + _initialized);
|
||||
if (string.IsNullOrEmpty(_appId) || string.IsNullOrEmpty(_token) || _initialized) return;
|
||||
var kwaiAdConfig = new KwaiAds.Scripts.Api.KwaiAdConfig.Builder()
|
||||
.SetAppId(_appId)
|
||||
|
@ -67,11 +83,15 @@ namespace WZ
|
|||
.SetDebugLog(false)
|
||||
.Build();
|
||||
|
||||
KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl());
|
||||
_initialized = true;
|
||||
}
|
||||
KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl());
|
||||
_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool UseToponInitKwai()
|
||||
{
|
||||
return RushSDKManager.Instance.GetRemoteConfigStr("use_topon_kwai", "1").Equals("1");
|
||||
}
|
||||
|
||||
|
||||
public void RefreshAdsData()
|
||||
{
|
||||
|
|
|
@ -40,8 +40,16 @@ namespace WZ
|
|||
{
|
||||
EFSdk.get().SetSDKEventCallback((eventName, dict) =>
|
||||
{
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dict);
|
||||
ShuShuEvent.Instance.Track(eventName, dict);
|
||||
if (dict == null)
|
||||
{
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName);
|
||||
ShuShuEvent.Instance.Track(eventName);
|
||||
}
|
||||
else
|
||||
{
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName, dict);
|
||||
ShuShuEvent.Instance.Track(eventName, dict);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ public class RushSDKManager : D_MonoSingleton<RushSDKManager>
|
|||
|
||||
public static string GetSDKVersion()
|
||||
{
|
||||
return "1.0.4.6";
|
||||
return "1.0.5.0";
|
||||
}
|
||||
protected override void Initialized()
|
||||
{
|
||||
|
|
|
@ -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<RectTransform>();
|
||||
// var medium = gameObject.transform.Find("NativeAd-medium").GetComponent<RectTransform>();
|
||||
|
@ -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}"); });
|
||||
}
|
||||
}
|
|
@ -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<AndroidJavaObject>("getInstance");
|
||||
return Instance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// topon 是否已经初始化了 kwai
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static bool IsInit()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetInstance().Get<bool>(IsInitPath);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] IsInit , {e.Message}");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过 topon 去初始化 kwai
|
||||
/// </summary>
|
||||
/// <param name="appID">kwai 的appid</param>
|
||||
/// <param name="appToken">kwai 的app token</param>
|
||||
/// <param name="callback">初始化的回调</param>
|
||||
public static void InitSDK(string appID, string appToken, Action<bool, string> callback)
|
||||
{
|
||||
try
|
||||
{
|
||||
var hashMap = new AndroidJavaObject("java.util.HashMap");
|
||||
hashMap.Call<AndroidJavaObject>("put", "app_id", appID);
|
||||
hashMap.Call<AndroidJavaObject>("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<string>("getAdapterVersion");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] GetAdapterVersion , {e.Message}");
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public static string GetNetworkVersion()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetInstance().Call<string>("getNetworkVersion");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkVersion , {e.Message}");
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public static string GetNetworkName()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetInstance().Call<string>("getNetworkName");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkName , {e.Message}");
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public static string GetNetworkSDKClass()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetInstance().Call<string>("getNetworkSDKClass");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] GetNetworkSDKClass , {e.Message}");
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取Android的Application对象(android.app.Application)
|
||||
/// </summary>
|
||||
/// <returns>Android Application对象(AndroidJavaObject),若在非Android平台返回null</returns>
|
||||
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<AndroidJavaObject>("currentActivity");
|
||||
|
||||
return currentActivity.Call<AndroidJavaObject>("getApplication");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LoggerUtils.Error($"[ToponKwaiUtils] GetAndroidApplication , {e.Message}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class MediationInitCallback : AndroidJavaProxy
|
||||
{
|
||||
private readonly Action<bool, string> _callback;
|
||||
|
||||
public MediationInitCallback(Action<bool, string> callback) : base(ToponKwaiUtils.MediationInitCallbackPath)
|
||||
{
|
||||
_callback = callback;
|
||||
}
|
||||
|
||||
[Preserve]
|
||||
public void onSuccess()
|
||||
{
|
||||
_callback.Invoke(true, "success");
|
||||
}
|
||||
|
||||
[Preserve]
|
||||
public void onFail(string error)
|
||||
{
|
||||
_callback.Invoke(false, error);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 24597cd26d7b463d9767c1d5d3e0ad1c
|
||||
timeCreated: 1761039734
|
|
@ -1,3 +1,31 @@
|
|||
# Version 1.0.5.0 2025.10.2
|
||||
|
||||
## Bugs
|
||||
|
||||
- None
|
||||
|
||||
## Known issues
|
||||
|
||||
- None
|
||||
|
||||
## Changelog
|
||||
|
||||
- 修复topon初始化kwai广告后,kwai广告加载失败问题
|
||||
|
||||
# Version 1.0.4.9 2025.10.20
|
||||
|
||||
## Bugs
|
||||
|
||||
- None
|
||||
|
||||
## Known issues
|
||||
|
||||
- None
|
||||
|
||||
## Changelog
|
||||
|
||||
- 修复EFSDK事件上报
|
||||
|
||||
# Version 1.0.4.7 2025.10.17
|
||||
|
||||
## Bugs
|
||||
|
|
Loading…
Reference in New Issue