Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
Z
ZxAd_Unity
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王雪伟
ZxAd_Unity
Commits
84859580
Commit
84859580
authored
Apr 16, 2021
by
王雪伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复掌心汇川关闭回调
parent
6fa33815
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1183 additions
and
69 deletions
+1183
-69
AdManager.cs
Assets/AdSDK/AD/AD_Manager/AdManager.cs
+13
-9
ZXADConfig.cs
Assets/AdSDK/AD/AD_Manager/ZXADConfig.cs
+2
-3
CSJSplshADUtils.cs
Assets/AdSDK/AD/CSJ/CSJSplshADUtils.cs
+1
-1
TTADManager.java
Assets/AdSDK/AD/CSJ/TTADManager.java
+37
-25
AdDemo.cs
Assets/AdSDK/AD/Demo/AdDemo.cs
+14
-2
AdDemo.unity
Assets/AdSDK/AD/Demo/AdDemo.unity
+1
-1
Example.cs
Assets/AdSDK/AD/ZXHC/ZXHCDemo/Example.cs
+7
-2
ZXHCDemo.unity
Assets/AdSDK/AD/ZXHC/ZXHCDemo/ZXHCDemo.unity
+281
-3
ZXHCFeedUtil.cs
Assets/AdSDK/AD/ZXHC/ZXHCDemo/ZXHCFeedUtil.cs
+13
-5
ZXHCFeedAd.cs
Assets/AdSDK/AD/ZXHC/ZxHCSDK/Feed/ZXHCFeedAd.cs
+15
-9
zxhcsdk-release.aar
...AdSDK/AD/ZXHC/ZxHCSDK/Plugins/Android/zxhcsdk-release.aar
+0
-0
ZXHCUtils.cs
Assets/AdSDK/AD/ZXHC/ZxHCSDK/common/ZXHCUtils.cs
+4
-1
AndroidPhoneUtils.cs
Assets/AdSDK/NetWork/Demo/AndroidPhoneUtils.cs
+32
-0
AndroidPhoneUtils.cs.meta
Assets/AdSDK/NetWork/Demo/AndroidPhoneUtils.cs.meta
+11
-0
HttpTool.cs
Assets/AdSDK/NetWork/HTTP/HttpTool.cs
+6
-4
AndroidPhoneUtils.java
Assets/AdSDK/NetWork/HTTP/unity/AndroidPhoneUtils.java
+710
-0
AndroidPhoneUtils.java.meta
Assets/AdSDK/NetWork/HTTP/unity/AndroidPhoneUtils.java.meta
+32
-0
LitJson.dll.meta
Assets/AdSDK/NetWork/HTTP/unity/LitJson.dll.meta
+1
-1
OaidUtil.cs
Assets/AdSDK/Oaid/OaidUtil.cs
+1
-1
ProjectSettings.asset
ProjectSettings/ProjectSettings.asset
+2
-2
No files found.
Assets/AdSDK/AD/AD_Manager/AdManager.cs
View file @
84859580
...
@@ -69,7 +69,7 @@ public class AdManager
...
@@ -69,7 +69,7 @@ public class AdManager
case
ZXADConfig
.
PLANTFORM_AD_TT
:
case
ZXADConfig
.
PLANTFORM_AD_TT
:
#if UNITY_ANDROID
#if UNITY_ANDROID
AndroidJavaClass
jc
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.TTADManager"
);
AndroidJavaClass
jc
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.TTADManager"
);
jc
.
CallStatic
(
"init"
,
id
.
codeAppId
);
jc
.
CallStatic
(
"init"
,
GetActivity
(),
id
.
codeAppId
);
//获取穿山甲权限
//获取穿山甲权限
SDK
.
RequestPermissionIfNecessary
();
SDK
.
RequestPermissionIfNecessary
();
#elif UNITY_IOS
#elif UNITY_IOS
...
@@ -87,7 +87,7 @@ public class AdManager
...
@@ -87,7 +87,7 @@ public class AdManager
if
(
id
.
codeAppId
!=
null
&&
id
.
codeAppId
!=
""
)
if
(
id
.
codeAppId
!=
null
&&
id
.
codeAppId
!=
""
)
{
{
AndroidJavaClass
jc2
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.TTADManager"
);
AndroidJavaClass
jc2
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.TTADManager"
);
jc2
.
CallStatic
(
"initYLB"
,
id
.
codeAppId
);
jc2
.
CallStatic
(
"initYLB"
,
GetActivity
(),
id
.
codeAppId
);
}
}
#endif
#endif
break
;
break
;
...
@@ -105,12 +105,12 @@ public class AdManager
...
@@ -105,12 +105,12 @@ public class AdManager
break
;
break
;
}
}
}
}
callback
(
true
);
IsInitAd
=
true
;
IsInitAd
=
true
;
callback
(
true
);
}),
new
Action
<
string
,
string
>((
code
,
errMsg
)
=>
}),
new
Action
<
string
,
string
>((
code
,
errMsg
)
=>
{
{
callback
(
false
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
code
+
"AdInit 请求失败"
+
errMsg
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
code
+
"AdInit 请求失败"
+
errMsg
);
callback
(
false
);
}));
}));
}
}
...
@@ -131,27 +131,29 @@ public class AdManager
...
@@ -131,27 +131,29 @@ public class AdManager
HttpTool
.
Instance
.
_GetAD
(
AdLoadUrl
,
paras
,
new
Action
<
List
<
AdEntity
>>((
AdConfigList
)
=>
HttpTool
.
Instance
.
_GetAD
(
AdLoadUrl
,
paras
,
new
Action
<
List
<
AdEntity
>>((
AdConfigList
)
=>
{
{
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash 请求成功"
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash 请求成功"
);
if
(
AdConfigList
!=
null
&&
AdConfigList
.
Count
>
0
)
if
(
AdConfigList
!=
null
&&
AdConfigList
.
Count
>
0
)
{
{
//Splash数据
//Splash数据
List
<
AdEntity
>
banner
AdList
=
new
List
<
AdEntity
>();
List
<
AdEntity
>
splash
AdList
=
new
List
<
AdEntity
>();
banner
AdList
.
Add
(
AdConfigList
[
0
]);
splash
AdList
.
Add
(
AdConfigList
[
0
]);
if
(
AdConfigList
[
0
].
backups
!=
null
&&
AdConfigList
[
0
].
backups
.
Count
>
0
)
if
(
AdConfigList
[
0
].
backups
!=
null
&&
AdConfigList
[
0
].
backups
.
Count
>
0
)
{
{
banner
AdList
.
AddRange
(
AdConfigList
[
0
].
backups
);
splash
AdList
.
AddRange
(
AdConfigList
[
0
].
backups
);
}
}
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash成功 数量"
+
splashAdList
.
Count
);
//加载Splash广告
//加载Splash广告
mLoadSplashAd
(
"splash"
,
listener
,
banner
AdList
);
mLoadSplashAd
(
"splash"
,
listener
,
splash
AdList
);
}
}
else
else
{
{
listener
.
onError
(
"Splash数据null"
);
listener
.
onError
(
"Splash数据null"
);
listener
.
onLastError
();
}
}
}),
new
Action
<
string
,
string
>((
code
,
errMsg
)
=>
}),
new
Action
<
string
,
string
>((
code
,
errMsg
)
=>
{
{
listener
.
onError
(
"code"
+
code
+
"errMsg"
+
errMsg
);
listener
.
onError
(
"code"
+
code
+
"errMsg"
+
errMsg
);
listener
.
onLastError
();
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash 请求失败"
+
errMsg
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash 请求失败"
+
errMsg
);
}));
}));
}
}
...
@@ -183,6 +185,7 @@ public class AdManager
...
@@ -183,6 +185,7 @@ public class AdManager
else
else
{
{
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash失败 "
+
entity
.
adPlatform
+
" CodeID "
+
entity
.
codeId
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash失败 "
+
entity
.
adPlatform
+
" CodeID "
+
entity
.
codeId
);
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash失败 数量"
+
totalEntityList
.
Count
);
if
(
totalEntityList
.
Count
>
0
)
if
(
totalEntityList
.
Count
>
0
)
{
{
entity
=
totalEntityList
[
0
];
entity
=
totalEntityList
[
0
];
...
@@ -208,6 +211,7 @@ public class AdManager
...
@@ -208,6 +211,7 @@ public class AdManager
/// <param name="callback"></param>
/// <param name="callback"></param>
private
void
mLoadSplashPlatform
(
AdEntity
entity
,
ZXADSplashListener
listener
,
Action
<
bool
>
callback
)
private
void
mLoadSplashPlatform
(
AdEntity
entity
,
ZXADSplashListener
listener
,
Action
<
bool
>
callback
)
{
{
Debug
.
unityLogger
.
Log
(
ZXADConfig
.
ADManagerTAG
,
"Splash加载 "
+
entity
.
adPlatform
);
switch
(
entity
.
adPlatform
)
switch
(
entity
.
adPlatform
)
{
{
case
ZXADConfig
.
PLANTFORM_AD_TT
:
case
ZXADConfig
.
PLANTFORM_AD_TT
:
...
...
Assets/AdSDK/AD/AD_Manager/ZXADConfig.cs
View file @
84859580
...
@@ -14,11 +14,10 @@ public class ZXADConfig
...
@@ -14,11 +14,10 @@ public class ZXADConfig
}
}
}
}
public
const
int
ZXAD_VC
=
129
;
public
const
string
ZXAD_VN
=
"1.2.9"
;
public
const
string
ADManagerTAG
=
"AdManager"
;
public
const
string
ADManagerTAG
=
"AdManager"
;
public
const
string
PLANTFORM_AD_TT
=
"chuanshanjia"
;
//穿山甲
public
const
string
PLANTFORM_AD_TT
=
"chuanshanjia"
;
//穿山甲
public
const
string
PLANTFORM_AD_GDT
=
"guangdiantong"
;
//广点通
public
const
string
PLANTFORM_AD_GDT
=
"guangdiantong"
;
//广点通
public
const
string
PLANTFORM_AD_KUS
=
"kuaishou"
;
//快手
public
const
string
PLANTFORM_AD_KUS
=
"kuaishou"
;
//快手
...
...
Assets/AdSDK/AD/CSJ/CSJSplshADUtils.cs
View file @
84859580
...
@@ -120,9 +120,9 @@ public class CSJSplshADUtils
...
@@ -120,9 +120,9 @@ public class CSJSplshADUtils
public
void
OnError
(
int
code
,
string
message
)
public
void
OnError
(
int
code
,
string
message
)
{
{
EventUtils
.
onEventPullFail
(
entity
,
code
.
ToString
(),
message
);
EventUtils
.
onEventPullFail
(
entity
,
code
.
ToString
(),
message
);
callback
(
false
);
listener
.
onError
(
"CSJ SplshAd code"
+
code
+
"message"
+
message
);
listener
.
onError
(
"CSJ SplshAd code"
+
code
+
"message"
+
message
);
Debug
.
Log
(
"splash load Onerror:"
+
code
+
":"
+
message
);
Debug
.
Log
(
"splash load Onerror:"
+
code
+
":"
+
message
);
callback
(
false
);
}
}
public
void
OnSplashAdLoad
(
BUSplashAd
ad
)
public
void
OnSplashAdLoad
(
BUSplashAd
ad
)
...
...
Assets/AdSDK/AD/CSJ/TTADManager.java
View file @
84859580
package
com
.
unity
.
adcommon
.
unity
;
package
com
.
unity
.
adcommon
.
unity
;
import
android.app.Activity
;
import
android.content.Context
;
import
com.bytedance.sdk.openadsdk.TTAdConfig
;
import
com.bytedance.sdk.openadsdk.TTAdConfig
;
import
com.bytedance.sdk.openadsdk.TTAdConstant
;
import
com.bytedance.sdk.openadsdk.TTAdConstant
;
import
com.bytedance.sdk.openadsdk.TTAdSdk
;
import
com.bytedance.sdk.openadsdk.TTAdSdk
;
...
@@ -11,33 +14,42 @@ import com.wannuosili.sdk.WNAdSdk;
...
@@ -11,33 +14,42 @@ import com.wannuosili.sdk.WNAdSdk;
*/
*/
public
class
TTADManager
{
public
class
TTADManager
{
public
static
void
init
(
String
codeId
){
public
static
void
init
(
Activity
context
,
String
codeId
){
TTAdSdk
.
init
(
context
.
runOnUiThread
(()
->
{
AppliContext
.
get
(),
TTAdSdk
.
init
(
new
TTAdConfig
.
Builder
()
AppliContext
.
get
(),
.
appId
(
codeId
)
new
TTAdConfig
.
Builder
()
.
useTextureView
(
true
)
//使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
.
appId
(
codeId
)
.
appName
(
"test"
)
.
useTextureView
(
true
)
//使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
.
titleBarTheme
(
TTAdConstant
.
TITLE_BAR_THEME_DARK
)
.
appName
(
"test"
)
.
allowShowNotify
(
true
)
//是否允许sdk展示通知栏提示
.
titleBarTheme
(
TTAdConstant
.
TITLE_BAR_THEME_DARK
)
.
allowShowPageWhenScreenLock
(
true
)
//是否在锁屏场景支持展示广告落地页
.
allowShowNotify
(
true
)
//是否允许sdk展示通知栏提示
.
debug
(
false
)
//测试阶段打开,可以通过日志排查问题,上线时去除该调用
.
allowShowPageWhenScreenLock
(
true
)
//是否在锁屏场景支持展示广告落地页
.
directDownloadNetworkType
(
.
debug
(
false
)
//测试阶段打开,可以通过日志排查问题,上线时去除该调用
TTAdConstant
.
NETWORK_STATE_WIFI
,
.
directDownloadNetworkType
(
TTAdConstant
.
NETWORK_STATE_4G
TTAdConstant
.
NETWORK_STATE_WIFI
,
)
//允许直接下载的网络状态集合
TTAdConstant
.
NETWORK_STATE_4G
.
supportMultiProcess
(
false
)
//是否支持多进程,true支持
)
//允许直接下载的网络状态集合
//.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
.
supportMultiProcess
(
false
)
//是否支持多进程,true支持
.
build
());
//.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
.
build
());
});
}
}
public
static
void
initYLB
(
String
appId
){
public
static
void
initYLB
(
Activity
context
,
String
appId
){
WNAdSdk
.
initialize
(
new
WNAdConfig
.
Builder
()
context
.
runOnUiThread
(()
->
{
.
setAppId
(
appId
)
// 平台申请的appId
WNAdSdk
.
initialize
(
new
WNAdConfig
.
Builder
()
.
setDebug
(
false
)
// 是否是debug模式, 默认为false
.
setAppId
(
appId
)
// 平台申请的appId
.
setContext
(
AppliContext
.
get
())
.
setDebug
(
false
)
// 是否是debug模式, 默认为false
.
build
());
.
setContext
(
AppliContext
.
get
())
.
build
());
});
}
}
}
}
Assets/AdSDK/AD/Demo/AdDemo.cs
View file @
84859580
...
@@ -15,6 +15,18 @@ public class AdDemo : MonoBehaviour
...
@@ -15,6 +15,18 @@ public class AdDemo : MonoBehaviour
private
string
FullVideo
=
"fullvideo"
;
private
string
FullVideo
=
"fullvideo"
;
private
string
Reward
=
"video"
;
private
string
Reward
=
"video"
;
private
string
Interstitial
=
"Interstitial"
;
private
string
Interstitial
=
"Interstitial"
;
private
void
Awake
()
{
//AdManager.Instance.LoadSplshAd(new SplshAdListener(this));
}
private
void
Start
()
{
AdManager
.
Instance
.
InitAd
(
new
System
.
Action
<
bool
>((
cb
)
=>
{
OnClickPlaySplshAd
();
}));
}
public
void
OnClickLoadRewardAd
()
public
void
OnClickLoadRewardAd
()
{
{
AdManager
.
Instance
.
LoadCacheRewardVideoAd
(
"video"
);
AdManager
.
Instance
.
LoadCacheRewardVideoAd
(
"video"
);
...
@@ -31,7 +43,6 @@ public class AdDemo : MonoBehaviour
...
@@ -31,7 +43,6 @@ public class AdDemo : MonoBehaviour
//private Thread loadThread = new Thread(new LoadNextVideo());
//private Thread loadThread = new Thread(new LoadNextVideo());
private
void
LoadNextVideo
()
private
void
LoadNextVideo
()
{
{
Debug
.
unityLogger
.
Log
(
"开启子线程"
);
AdManager
.
Instance
.
LoadCacheRewardVideoAd
(
"video"
);
AdManager
.
Instance
.
LoadCacheRewardVideoAd
(
"video"
);
}
}
public
sealed
class
RewardAdListener
:
ZXADRewardVideoListener
public
sealed
class
RewardAdListener
:
ZXADRewardVideoListener
...
@@ -112,11 +123,12 @@ public class AdDemo : MonoBehaviour
...
@@ -112,11 +123,12 @@ public class AdDemo : MonoBehaviour
public
void
onError
(
string
errorMsg
)
public
void
onError
(
string
errorMsg
)
{
{
this
.
demo
.
RewardAdResult
.
text
=
"开屏错误"
+
errorMsg
;
this
.
demo
.
RewardAdResult
.
text
=
"开屏错误"
+
errorMsg
;
Debug
.
unityLogger
.
Log
(
"开屏1Error"
+
errorMsg
);
}
}
public
void
onLastError
()
public
void
onLastError
()
{
{
Debug
.
unityLogger
.
Log
(
"开屏2Error"
);
}
}
}
}
...
...
Assets/AdSDK/AD/Demo/AdDemo.unity
View file @
84859580
...
@@ -3028,7 +3028,7 @@ PrefabInstance:
...
@@ -3028,7 +3028,7 @@ PrefabInstance:
-
target
:
{
fileID
:
2853166085728200634
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
-
target
:
{
fileID
:
2853166085728200634
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
type
:
3
}
propertyPath
:
IS_TEST
propertyPath
:
IS_TEST
value
:
0
value
:
1
objectReference
:
{
fileID
:
0
}
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
type
:
3
}
...
...
Assets/AdSDK/AD/ZXHC/ZXHCDemo/Example.cs
View file @
84859580
...
@@ -31,7 +31,8 @@ namespace ZXHC
...
@@ -31,7 +31,8 @@ namespace ZXHC
public
void
OnClickFeed
()
public
void
OnClickFeed
()
{
{
AdEntity
entity
=
new
AdEntity
();
AdEntity
entity
=
new
AdEntity
();
entity
.
codeId
=
"1100023"
;
//entity.codeId = "1100437";
entity
.
codeId
=
"2100156"
;
ZXHCFeedUtil
.
Instance
.
LoadCacheFeedAd
(
entity
,
new
Action
<
bool
>((
cb
)
=>
ZXHCFeedUtil
.
Instance
.
LoadCacheFeedAd
(
entity
,
new
Action
<
bool
>((
cb
)
=>
{
{
Debug
.
unityLogger
.
Log
(
"LoadCacheFeedAd"
+
cb
);
Debug
.
unityLogger
.
Log
(
"LoadCacheFeedAd"
+
cb
);
...
@@ -42,9 +43,13 @@ namespace ZXHC
...
@@ -42,9 +43,13 @@ namespace ZXHC
Debug
.
unityLogger
.
Log
(
"ShowCacheFeedAd"
+
cb
);
Debug
.
unityLogger
.
Log
(
"ShowCacheFeedAd"
+
cb
);
}));
}));
}
}
}));
}));
}
}
public
void
OnClickCloseFeed
()
{
ZXHCFeedUtil
.
Instance
.
CloseFeedAd
();
}
private
sealed
class
SplshAdListener
:
ZXADSplashListener
private
sealed
class
SplshAdListener
:
ZXADSplashListener
...
...
Assets/AdSDK/AD/ZXHC/ZXHCDemo/ZXHCDemo.unity
View file @
84859580
...
@@ -202,7 +202,7 @@ Transform:
...
@@ -202,7 +202,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&130740052
---
!u!1
&130740052
GameObject
:
GameObject
:
...
@@ -360,6 +360,136 @@ CanvasRenderer:
...
@@ -360,6 +360,136 @@ CanvasRenderer:
m_PrefabAsset
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
467396071
}
m_GameObject
:
{
fileID
:
467396071
}
m_CullTransparentMesh
:
0
m_CullTransparentMesh
:
0
---
!u!1
&568385589
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
568385590
}
-
component
:
{
fileID
:
568385593
}
-
component
:
{
fileID
:
568385592
}
-
component
:
{
fileID
:
568385591
}
m_Layer
:
5
m_Name
:
CloseFeed
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&568385590
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
568385589
}
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_Children
:
-
{
fileID
:
1319697699
}
m_Father
:
{
fileID
:
2103191286
}
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchorMax
:
{
x
:
0.5
,
y
:
0.5
}
m_AnchoredPosition
:
{
x
:
132
,
y
:
286
}
m_SizeDelta
:
{
x
:
221.93564
,
y
:
66.367256
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&568385591
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
568385589
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
4e29b1a8efbd4b44bb3f3716e73f07ff
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Navigation
:
m_Mode
:
3
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
:
568385592
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
2103191287
}
m_MethodName
:
OnClickCloseFeed
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
&568385592
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
568385589
}
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_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
&568385593
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
568385589
}
m_CullTransparentMesh
:
0
---
!u!1
&718195566
---
!u!1
&718195566
GameObject
:
GameObject
:
m_ObjectHideFlags
:
0
m_ObjectHideFlags
:
0
...
@@ -438,6 +568,75 @@ CanvasRenderer:
...
@@ -438,6 +568,75 @@ CanvasRenderer:
m_PrefabAsset
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
718195566
}
m_GameObject
:
{
fileID
:
718195566
}
m_CullTransparentMesh
:
0
m_CullTransparentMesh
:
0
---
!u!1001
&734889873
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
0
}
m_Modifications
:
-
target
:
{
fileID
:
2853166085728200632
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_Name
value
:
HTTP
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
2853166085728200635
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
1053be02c113a7a45adf322c929b0cb6
,
type
:
3
}
---
!u!1
&1256318123
---
!u!1
&1256318123
GameObject
:
GameObject
:
m_ObjectHideFlags
:
0
m_ObjectHideFlags
:
0
...
@@ -698,6 +897,84 @@ CanvasRenderer:
...
@@ -698,6 +897,84 @@ CanvasRenderer:
m_PrefabAsset
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1285899837
}
m_GameObject
:
{
fileID
:
1285899837
}
m_CullTransparentMesh
:
0
m_CullTransparentMesh
:
0
---
!u!1
&1319697698
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1319697699
}
-
component
:
{
fileID
:
1319697701
}
-
component
:
{
fileID
:
1319697700
}
m_Layer
:
5
m_Name
:
Text
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&1319697699
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1319697698
}
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_Children
:
[]
m_Father
:
{
fileID
:
568385590
}
m_RootOrder
:
0
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
&1319697700
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1319697698
}
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_Maskable
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_FontData
:
m_Font
:
{
fileID
:
10102
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
m_FontSize
:
14
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
:
CloseFeed
---
!u!222
&1319697701
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1319697698
}
m_CullTransparentMesh
:
0
---
!u!1
&1433212422
---
!u!1
&1433212422
GameObject
:
GameObject
:
m_ObjectHideFlags
:
0
m_ObjectHideFlags
:
0
...
@@ -762,7 +1039,7 @@ Transform:
...
@@ -762,7 +1039,7 @@ Transform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
2
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1728463832
---
!u!1
&1728463832
GameObject
:
GameObject
:
...
@@ -988,8 +1265,9 @@ RectTransform:
...
@@ -988,8 +1265,9 @@ RectTransform:
-
{
fileID
:
1728463833
}
-
{
fileID
:
1728463833
}
-
{
fileID
:
1256318124
}
-
{
fileID
:
1256318124
}
-
{
fileID
:
1285899838
}
-
{
fileID
:
1285899838
}
-
{
fileID
:
568385590
}
m_Father
:
{
fileID
:
0
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
1
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
0
,
y
:
0
}
...
...
Assets/AdSDK/AD/ZXHC/ZXHCDemo/ZXHCFeedUtil.cs
View file @
84859580
...
@@ -43,10 +43,18 @@ public class ZXHCFeedUtil
...
@@ -43,10 +43,18 @@ public class ZXHCFeedUtil
/// </summary>
/// </summary>
public
void
CloseFeedAd
()
public
void
CloseFeedAd
()
{
{
if
(
feedAd
!=
null
)
Debug
.
unityLogger
.
Log
(
"CloseFeed1"
);
{
//if (feedAd != null)
feedAd
.
CLoseAD
();
//{
}
// Debug.unityLogger.Log("CloseFeed2");
//}
//else
//{
// Debug.unityLogger.Log("CloseFeed3");
// feedAd.CLoseAD();
//}
feedAd
.
CLoseAD
();
}
}
/// <summary>
/// <summary>
...
@@ -55,7 +63,7 @@ public class ZXHCFeedUtil
...
@@ -55,7 +63,7 @@ public class ZXHCFeedUtil
/// <param name="entity"></param>
/// <param name="entity"></param>
public
void
ShowCacheFeedAd
(
AdEntity
entity
,
Action
<
bool
>
callback
)
public
void
ShowCacheFeedAd
(
AdEntity
entity
,
Action
<
bool
>
callback
)
{
{
CloseFeedAd
();
//
CloseFeedAd();
if
(
feedAdCacheList
.
Count
>
0
)
if
(
feedAdCacheList
.
Count
>
0
)
{
{
feedAd
=
feedAdCacheList
.
Dequeue
();
feedAd
=
feedAdCacheList
.
Dequeue
();
...
...
Assets/AdSDK/AD/ZXHC/ZxHCSDK/Feed/ZXHCFeedAd.cs
View file @
84859580
...
@@ -5,7 +5,7 @@ namespace ZXHC
...
@@ -5,7 +5,7 @@ namespace ZXHC
{
{
public
class
ZXHCFeedAd
:
MonoBehaviour
public
class
ZXHCFeedAd
:
MonoBehaviour
{
{
private
AndroidJavaObject
splash
Ad
;
private
AndroidJavaObject
feed
Ad
;
internal
AndroidJavaObject
container
;
internal
AndroidJavaObject
container
;
private
string
posId
;
private
string
posId
;
private
int
width
;
private
int
width
;
...
@@ -24,9 +24,9 @@ namespace ZXHC
...
@@ -24,9 +24,9 @@ namespace ZXHC
private
void
init
()
private
void
init
()
{
{
if
(
splash
Ad
==
null
)
if
(
feed
Ad
==
null
)
{
{
splash
Ad
=
new
AndroidJavaObject
(
"com.ym.zxhcsdk.view.ZXHCFeedAD"
,
ZXHCUtils
.
GetActivity
(),
posId
,
width
,
height
,
listenerProxy
);
feed
Ad
=
new
AndroidJavaObject
(
"com.ym.zxhcsdk.view.ZXHCFeedAD"
,
ZXHCUtils
.
GetActivity
(),
posId
,
width
,
height
,
listenerProxy
);
}
}
}
}
...
@@ -43,18 +43,18 @@ namespace ZXHC
...
@@ -43,18 +43,18 @@ namespace ZXHC
}
}
// 由于 Android 的 fetchDelay 和 skipView 不允许动态设置,故只能延迟初始化
// 由于 Android 的 fetchDelay 和 skipView 不允许动态设置,故只能延迟初始化
init
();
init
();
this
.
splash
Ad
.
Call
(
"loadAD"
);
this
.
feed
Ad
.
Call
(
"loadAD"
);
}
}
public
void
Show
(
object
container
)
public
void
Show
(
object
container
)
{
{
AndroidJavaObject
splash
Container
=
(
AndroidJavaObject
)
container
;
AndroidJavaObject
feed
Container
=
(
AndroidJavaObject
)
container
;
if
(
CheckNotReady
())
if
(
CheckNotReady
())
{
{
return
;
return
;
}
}
this
.
splashAd
.
Call
(
"showAd"
,
splash
Container
);
this
.
feedAd
.
Call
(
"showAd"
,
feed
Container
);
this
.
container
=
splash
Container
;
this
.
container
=
feed
Container
;
}
}
public
void
CLoseAD
()
public
void
CLoseAD
()
...
@@ -63,7 +63,13 @@ namespace ZXHC
...
@@ -63,7 +63,13 @@ namespace ZXHC
{
{
return
;
return
;
}
}
this
.
splashAd
.
Call
(
"destroyFeedAd"
,
container
);
if
(
container
!=
null
)
{
this
.
feedAd
.
Call
(
"destroyFeedAd"
,
container
);
container
=
null
;
}
}
}
/* 检查是否未准备好 */
/* 检查是否未准备好 */
...
@@ -73,7 +79,7 @@ namespace ZXHC
...
@@ -73,7 +79,7 @@ namespace ZXHC
{
{
return
true
;
return
true
;
}
}
if
(
splash
Ad
==
null
)
if
(
feed
Ad
==
null
)
{
{
Debug
.
Log
(
"请先加载广告"
);
Debug
.
Log
(
"请先加载广告"
);
return
true
;
return
true
;
...
...
Assets/AdSDK/AD/ZXHC/ZxHCSDK/Plugins/Android/zxhcsdk-release.aar
View file @
84859580
No preview for this file type
Assets/AdSDK/AD/ZXHC/ZxHCSDK/common/ZXHCUtils.cs
View file @
84859580
...
@@ -10,7 +10,7 @@ namespace ZXHC
...
@@ -10,7 +10,7 @@ namespace ZXHC
private
static
AndroidJavaObject
activity
;
private
static
AndroidJavaObject
activity
;
public
static
AndroidJavaObject
GetActivity
()
public
static
AndroidJavaObject
GetActivity
()
{
{
#if UNITY_ANDROID
#if UNITY_ANDROID
&&!UNITY_EDITOR
if
(
activity
==
null
)
if
(
activity
==
null
)
{
{
var
unityPlayer
=
new
AndroidJavaClass
(
"com.unity3d.player.UnityPlayer"
);
var
unityPlayer
=
new
AndroidJavaClass
(
"com.unity3d.player.UnityPlayer"
);
...
@@ -43,8 +43,11 @@ namespace ZXHC
...
@@ -43,8 +43,11 @@ namespace ZXHC
public
static
string
GetDeviceOaid
()
public
static
string
GetDeviceOaid
()
{
{
#if UNITY_ANDROID&&!UNITY_EDITOR
AndroidJavaObject
phoneUtil
=
new
AndroidJavaClass
(
"com.ym.zxhcsdk.PhoneUtils"
).
CallStatic
<
AndroidJavaObject
>(
"getInstance"
);
AndroidJavaObject
phoneUtil
=
new
AndroidJavaClass
(
"com.ym.zxhcsdk.PhoneUtils"
).
CallStatic
<
AndroidJavaObject
>(
"getInstance"
);
return
phoneUtil
.
Call
<
string
>(
"getoaid"
);
return
phoneUtil
.
Call
<
string
>(
"getoaid"
);
#endif
return
""
;
}
}
}
}
}
}
...
...
Assets/AdSDK/NetWork/Demo/AndroidPhoneUtils.cs
0 → 100644
View file @
84859580
using
System.Collections
;
using
System.Collections.Generic
;
using
UnityEngine
;
using
ZXHC
;
public
class
AndroidPhoneUtils
{
public
static
string
GetAppVC
()
{
#if !UNITY_EDITOR && UNITY_ANDROID
AndroidJavaObject
util
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.AndroidPhoneUtils"
).
CallStatic
<
AndroidJavaObject
>(
"getInstance"
);
return
util
.
Call
<
int
>(
"getAppVersionCode"
,
ZXHCUtils
.
GetActivity
())+
""
;
#endif
return
""
;
}
public
static
string
GetAppVN
()
{
#if !UNITY_EDITOR && UNITY_ANDROID
AndroidJavaObject
util
=
new
AndroidJavaClass
(
"com.unity.adcommon.unity.AndroidPhoneUtils"
).
CallStatic
<
AndroidJavaObject
>(
"getInstance"
);
return
util
.
Call
<
string
>(
"getAppVersionName"
,
ZXHCUtils
.
GetActivity
());
#endif
return
""
;
}
}
Assets/AdSDK/NetWork/Demo/AndroidPhoneUtils.cs.meta
0 → 100644
View file @
84859580
fileFormatVersion: 2
guid: 305391ce50409ce4ba054c8a1e7c45b4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Assets/AdSDK/NetWork/HTTP/HttpTool.cs
View file @
84859580
...
@@ -10,7 +10,7 @@ using System.Net.Http;
...
@@ -10,7 +10,7 @@ using System.Net.Http;
using
System.Net
;
using
System.Net
;
using
System.Net.Http.Headers
;
using
System.Net.Http.Headers
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
ZXHC
;
public
class
HttpTool
:
MonoBehaviour
public
class
HttpTool
:
MonoBehaviour
{
{
...
@@ -370,15 +370,17 @@ public class HttpTool : MonoBehaviour
...
@@ -370,15 +370,17 @@ public class HttpTool : MonoBehaviour
paragrams
[
"device_uuid"
]
=
PrefenceUtils
.
GetInstance
().
getUUid
();
paragrams
[
"device_uuid"
]
=
PrefenceUtils
.
GetInstance
().
getUUid
();
paragrams
[
"vendor"
]
=
SystemInfo
.
deviceModel
;
paragrams
[
"vendor"
]
=
SystemInfo
.
deviceModel
;
paragrams
[
"model"
]
=
SystemInfo
.
deviceName
;
paragrams
[
"model"
]
=
SystemInfo
.
deviceName
;
paragrams
[
"oaid"
]
=
PrefenceUtils
.
GetInstance
().
get
Oaid
();
paragrams
[
"oaid"
]
=
ZXHCUtils
.
GetDevice
Oaid
();
paragrams
[
"ip"
]
=
PrefenceUtils
.
GetInstance
().
getIp
();
paragrams
[
"ip"
]
=
PrefenceUtils
.
GetInstance
().
getIp
();
paragrams
[
"h"
]
=
Screen
.
height
;
paragrams
[
"h"
]
=
Screen
.
height
;
paragrams
[
"svn"
]
=
PrefenceUtils
.
GetInstance
().
getSVN
();
paragrams
[
"svn"
]
=
PrefenceUtils
.
GetInstance
().
getSVN
();
paragrams
[
"ntt"
]
=
PrefenceUtils
.
GetInstance
().
getNTT
();
paragrams
[
"ntt"
]
=
PrefenceUtils
.
GetInstance
().
getNTT
();
paragrams
[
"carrier"
]
=
PrefenceUtils
.
GetInstance
().
getCarrier
();
paragrams
[
"carrier"
]
=
PrefenceUtils
.
GetInstance
().
getCarrier
();
paragrams
[
"w"
]
=
Screen
.
width
;
paragrams
[
"w"
]
=
Screen
.
width
;
paragrams
[
"vc"
]
=
PrefenceUtils
.
GetInstance
().
getVC
();
paragrams
[
"vc"
]
=
AndroidPhoneUtils
.
GetAppVC
();
paragrams
[
"vn"
]
=
PrefenceUtils
.
GetInstance
().
getVN
();
paragrams
[
"vn"
]
=
AndroidPhoneUtils
.
GetAppVN
();
paragrams
[
"adsdk_vc"
]
=
ZXADConfig
.
ZXAD_VC
;
paragrams
[
"adsdk_vn"
]
=
ZXADConfig
.
ZXAD_VN
;
paragrams
[
"imei"
]
=
PrefenceUtils
.
GetInstance
().
getImei
();
paragrams
[
"imei"
]
=
PrefenceUtils
.
GetInstance
().
getImei
();
paragrams
[
"aid"
]
=
PrefenceUtils
.
GetInstance
().
getAid
();
paragrams
[
"aid"
]
=
PrefenceUtils
.
GetInstance
().
getAid
();
#if UNITY_EDITOR
#if UNITY_EDITOR
...
...
Assets/AdSDK/NetWork/HTTP/unity/AndroidPhoneUtils.java
0 → 100644
View file @
84859580
package
com
.
unity
.
adcommon
.
unity
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageManager
;
import
android.graphics.Point
;
import
android.location.Address
;
import
android.location.Geocoder
;
import
android.location.Location
;
import
android.location.LocationManager
;
import
android.net.ConnectivityManager
;
import
android.net.NetworkInfo
;
import
android.net.Uri
;
import
android.net.wifi.WifiInfo
;
import
android.net.wifi.WifiManager
;
import
android.os.Build
;
import
android.provider.Settings
;
import
android.telephony.TelephonyManager
;
import
android.text.TextUtils
;
import
android.util.DisplayMetrics
;
import
android.view.Display
;
import
java.io.BufferedReader
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.LineNumberReader
;
import
java.io.Reader
;
import
java.io.UnsupportedEncodingException
;
import
java.lang.reflect.Method
;
import
java.math.BigDecimal
;
import
java.net.InetAddress
;
import
java.net.NetworkInterface
;
import
java.net.SocketException
;
import
java.net.URLEncoder
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.Enumeration
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Map
;
import
java.util.UUID
;
public
class
AndroidPhoneUtils
{
private
static
AndroidPhoneUtils
instance
=
new
AndroidPhoneUtils
();
public
static
AndroidPhoneUtils
getInstance
()
{
return
instance
;
}
/**
* 获取设备AndroidID
*
* @return AndroidID
*/
public
String
getAndroidID
(
Context
context
)
{
try
{
String
androidId
=
Settings
.
Secure
.
getString
(
context
.
getContentResolver
(),
Settings
.
Secure
.
ANDROID_ID
);
if
(
androidId
!=
null
)
{
return
androidId
;
}
else
{
return
""
;
}
}
catch
(
Exception
e
)
{
return
UUID
.
randomUUID
().
toString
();
}
}
/**
* 获取当前的运营商
*
* @param context
* @return 运营商名字
*/
public
String
getOperator
(
Context
context
)
{
String
ProvidersName
=
""
;
TelephonyManager
telephonyManager
=
(
TelephonyManager
)
context
.
getSystemService
(
Context
.
TELEPHONY_SERVICE
);
String
IMSI
=
""
;
try
{
IMSI
=
telephonyManager
.
getSubscriberId
();
}
catch
(
SecurityException
e
)
{
// Toast.makeText(context, "请开启读取手机权限", Toast.LENGTH_SHORT).show()
return
"0"
;
}
if
(
IMSI
!=
null
)
{
if
(
IMSI
.
startsWith
(
"46000"
)
||
IMSI
.
startsWith
(
"46002"
)
||
IMSI
.
startsWith
(
"46007"
))
{
// ProvidersName = "移动";
ProvidersName
=
"1"
;
}
else
if
(
IMSI
.
startsWith
(
"46001"
)
||
IMSI
.
startsWith
(
"46006"
))
{
ProvidersName
=
"2"
;
// ProvidersName = "联通";
}
else
if
(
IMSI
.
startsWith
(
"46003"
))
{
ProvidersName
=
"3"
;
// ProvidersName = "电信";
}
return
ProvidersName
;
}
else
{
return
"0"
;
// return "没有获取到sim卡信息";
}
}
public
String
getRealFilePath
(
Context
context
,
Uri
uri
)
{
return
"方法未实现"
;
}
/**
* @Description: 获取屏幕的宽度
* @param: context
* @return: int
*/
public
int
getScreenWidth
(
Context
context
)
{
return
context
.
getResources
().
getDisplayMetrics
().
widthPixels
;
}
/**
* 获取屏幕高度
*
* @param context
* @return int
*/
public
int
getScreenHeight
(
Context
context
)
{
return
context
.
getResources
().
getDisplayMetrics
().
heightPixels
;
}
/**
* 获取屏幕高度
*
* @param context
* @return int
*/
public
int
getScreenDpi
(
Context
context
)
{
return
context
.
getResources
().
getDisplayMetrics
().
densityDpi
;
}
/**
* 获取屏幕尺寸
*
* @param context
* @return int
*/
public
double
getScreenSize
(
Activity
context
)
{
double
mInch
=
0
;
try
{
int
realWidth
=
0
,
realHeight
=
0
;
Display
display
=
context
.
getWindowManager
().
getDefaultDisplay
();
DisplayMetrics
metrics
=
new
DisplayMetrics
();
display
.
getMetrics
(
metrics
);
if
(
Build
.
VERSION
.
SDK_INT
>=
17
)
{
Point
size
=
new
Point
();
display
.
getRealSize
(
size
);
realWidth
=
size
.
x
;
realHeight
=
size
.
y
;
}
else
if
(
Build
.
VERSION
.
SDK_INT
<
17
&&
Build
.
VERSION
.
SDK_INT
>=
14
)
{
Method
mGetRawH
=
Display
.
class
.
getMethod
(
"getRawHeight"
);
Method
mGetRawW
=
Display
.
class
.
getMethod
(
"getRawWidth"
);
realWidth
=
(
Integer
)
mGetRawW
.
invoke
(
display
);
realHeight
=
(
Integer
)
mGetRawH
.
invoke
(
display
);
}
else
{
realWidth
=
metrics
.
widthPixels
;
realHeight
=
metrics
.
heightPixels
;
}
mInch
=
formatDouble
(
Math
.
sqrt
((
realWidth
/
metrics
.
xdpi
)
*
(
realWidth
/
metrics
.
xdpi
)
+
(
realHeight
/
metrics
.
ydpi
)
*
(
realHeight
/
metrics
.
ydpi
)),
1
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
mInch
;
}
/**
* Double类型保留指定位数的小数,返回double类型(四舍五入)
* newScale 为指定的位数
*/
private
static
double
formatDouble
(
double
d
,
int
newScale
)
{
BigDecimal
bd
=
new
BigDecimal
(
d
);
return
bd
.
setScale
(
newScale
,
BigDecimal
.
ROUND_HALF_UP
).
doubleValue
();
}
/**
* 获取屏幕分辨率
*
* @param context
* @return int
*/
public
float
getScreenDensity
(
Context
context
)
{
return
context
.
getResources
().
getDisplayMetrics
().
density
;
}
/**
* 获取设备型号
*
* @return 设备型号
*/
public
String
getModel
()
{
String
model
=
Build
.
MODEL
;
return
model
;
}
/**
* 获取App版本码
*
* @return App版本码
*/
public
int
getAppVersionCode
(
Context
context
)
{
PackageManager
manager
=
context
.
getPackageManager
();
int
code
=
0
;
try
{
PackageInfo
info
=
manager
.
getPackageInfo
(
context
.
getPackageName
(),
0
);
code
=
info
.
versionCode
;
}
catch
(
PackageManager
.
NameNotFoundException
e
)
{
e
.
printStackTrace
();
}
return
code
;
}
/**
* 获取App版本号
*
* @return App版本号
*/
public
String
getAppVersionName
(
Context
context
)
{
String
versionName
=
null
;
try
{
PackageManager
pm
=
context
.
getPackageManager
();
PackageInfo
pi
=
pm
.
getPackageInfo
(
context
.
getPackageName
(),
0
);
versionName
=
pi
.
versionName
;
}
catch
(
Exception
e
)
{
return
""
;
}
return
versionName
;
}
/**
* 获取App包名
*
* @return App版本码
*/
public
String
getAppPackage
(
Activity
context
)
{
return
context
.
getPackageName
();
}
/**
* 获取应用程序名称
*/
public
String
getAppName
(
Context
context
)
{
try
{
PackageManager
packageManager
=
context
.
getPackageManager
();
PackageInfo
packageInfo
=
packageManager
.
getPackageInfo
(
context
.
getPackageName
(),
0
);
int
labelRes
=
packageInfo
.
applicationInfo
.
labelRes
;
return
context
.
getResources
().
getString
(
labelRes
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
""
;
}
/**
* 获取IP地址
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.INTERNET"/>`
*
* @param useIPv4 是否用IPv4
* @return IP地址
*/
public
String
getIPAddress
(
boolean
useIPv4
)
{
try
{
Enumeration
<
NetworkInterface
>
nis
=
NetworkInterface
.
getNetworkInterfaces
();
while
(
nis
.
hasMoreElements
())
{
NetworkInterface
ni
=
nis
.
nextElement
();
if
(
ni
.
isUp
())
{
continue
;
}
Enumeration
<
InetAddress
>
addresses
=
ni
.
getInetAddresses
();
while
(
addresses
.
hasMoreElements
())
{
InetAddress
inetAddress
=
addresses
.
nextElement
();
if
(!
inetAddress
.
isLoopbackAddress
())
{
String
hostAddress
=
inetAddress
.
getHostAddress
();
boolean
isIPv4
=
hostAddress
.
indexOf
(
':'
)
<
0
;
if
(
useIPv4
)
{
if
(
isIPv4
)
return
hostAddress
;
}
else
{
if
(!
isIPv4
)
{
int
index
=
hostAddress
.
indexOf
(
'%'
);
if
(
index
<
0
)
{
return
hostAddress
.
toUpperCase
();
}
else
{
return
hostAddress
.
substring
(
0
,
index
).
toUpperCase
();
}
}
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
""
;
}
public
String
getDeviceId
(
Context
context
)
{
return
getMd5Value
(
getAndroidID
(
context
)
+
getImei
(
context
));
}
public
String
getMd5Value
(
String
sSecret
)
{
try
{
MessageDigest
bmd5
=
MessageDigest
.
getInstance
(
"MD5"
);
bmd5
.
update
(
sSecret
.
getBytes
());
}
catch
(
NoSuchAlgorithmException
e
)
{
}
return
""
;
}
public
String
getImei
(
Context
context
)
{
try
{
TelephonyManager
telephonyManager
=
(
TelephonyManager
)
context
.
getSystemService
(
Context
.
TELEPHONY_SERVICE
);
return
telephonyManager
.
getDeviceId
();
}
catch
(
SecurityException
e
)
{
// Toast.makeText(context, "请开启读取手机权限", Toast.LENGTH_SHORT).show()
// In some devices, we are not able to get device id, and may cause some exception,
// so catch it.
return
""
;
}
}
public
String
getMac
(
Context
context
)
{
String
strMac
=
""
;
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
M
)
{
strMac
=
getLocalMacAddressFromWifiInfo
(
context
);
return
strMac
;
}
else
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
N
&&
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
strMac
=
getMacAddress
(
context
);
return
strMac
;
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
N
)
{
if
(!
TextUtils
.
isEmpty
(
getMacAddress
(
context
)))
{
strMac
=
getMacAddress
(
context
);
return
strMac
;
}
else
if
(!
TextUtils
.
isEmpty
(
getMachineHardwareAddress
()))
{
strMac
=
getMachineHardwareAddress
();
return
strMac
;
}
else
{
strMac
=
getLocalMacAddressFromBusybox
();
return
strMac
;
}
}
return
""
;
}
public
String
getLocalMacAddressFromWifiInfo
(
Context
context
)
{
WifiManager
wifi
=
(
WifiManager
)
context
.
getSystemService
(
context
.
WIFI_SERVICE
);
WifiInfo
info
=
wifi
.
getConnectionInfo
();
String
str
=
info
.
getMacAddress
();
if
(
str
==
null
)
{
str
=
""
;
}
return
str
;
}
public
String
getLocalMacAddressFromBusybox
()
{
String
result
=
""
;
String
Mac
=
""
;
result
=
callCmd
(
"busybox ifconfig"
,
"HWaddr"
);
// 如果返回的result == null,则说明网络不可取
if
(
TextUtils
.
isEmpty
(
result
))
{
// return "网络异常";
return
""
;
}
// 对该行数据进行解析
// 例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67
if
(
result
.
length
()
>
0
&&
result
.
contains
(
"HWaddr"
))
{
Mac
=
result
.
substring
(
result
.
indexOf
(
"HWaddr"
)
+
6
,
result
.
length
()
-
1
);
result
=
Mac
;
}
return
result
;
}
private
String
callCmd
(
String
cmd
,
String
filter
)
{
String
result
=
""
;
String
line
=
""
;
try
{
Process
proc
=
Runtime
.
getRuntime
().
exec
(
cmd
);
InputStreamReader
mInputStream
=
new
InputStreamReader
(
proc
.
getInputStream
());
BufferedReader
br
=
new
BufferedReader
(
mInputStream
);
while
((
line
.
equals
(
br
.
readLine
()))
&&
!
line
.
contains
(
filter
))
{
result
+=
line
;
if
(
TextUtils
.
isEmpty
(
result
))
{
return
""
;
}
}
result
=
line
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
result
;
}
/**
* android 7.0及以上 (2)扫描各个网络接口获取mac地址
*
*/
/**
* 获取设备HardwareAddress地址
*
* @return
*/
public
String
getMachineHardwareAddress
()
{
Enumeration
<
NetworkInterface
>
interfaces
=
null
;
try
{
interfaces
=
NetworkInterface
.
getNetworkInterfaces
();
}
catch
(
SocketException
e
)
{
e
.
printStackTrace
();
}
String
hardWareAddress
=
""
;
NetworkInterface
iF
=
null
;
if
(
interfaces
==
null
)
{
return
""
;
}
while
(
interfaces
.
hasMoreElements
())
{
iF
=
interfaces
.
nextElement
();
try
{
hardWareAddress
=
bytesToString
(
iF
.
getHardwareAddress
());
if
(
hardWareAddress
!=
null
)
break
;
}
catch
(
SocketException
e
)
{
e
.
printStackTrace
();
}
}
return
hardWareAddress
;
}
/***
* byte转为String
*
* @param bytes
* @return
*/
private
String
bytesToString
(
byte
[]
bytes
)
{
if
(
bytes
==
null
||
bytes
.
length
<=
0
)
{
return
""
;
}
StringBuilder
buf
=
new
StringBuilder
();
for
(
byte
b
:
bytes
)
{
buf
.
append
(
String
.
format
(
"%02X:"
,
b
));
}
if
(
buf
.
length
()
>
0
)
{
buf
.
deleteCharAt
(
buf
.
length
()
-
1
);
}
return
buf
.
toString
();
}
private
String
getMacAddress
(
Context
context
)
{
// 如果是6.0以下,直接通过wifimanager获取
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
M
)
{
String
macAddress0
=
getMacAddress0
(
context
);
if
(!
TextUtils
.
isEmpty
(
macAddress0
))
{
return
macAddress0
;
}
}
String
str
=
""
;
String
macSerial
=
""
;
try
{
Process
pp
=
Runtime
.
getRuntime
().
exec
(
"cat /sys/class/net/wlan0/address"
);
InputStreamReader
ir
=
new
InputStreamReader
(
pp
.
getInputStream
());
LineNumberReader
input
=
new
LineNumberReader
(
ir
);
while
(
null
!=
str
)
{
str
=
input
.
readLine
();
if
(
str
!=
null
)
{
macSerial
=
str
.
trim
();
break
;
}
}
}
catch
(
Exception
ex
)
{
}
if
(
macSerial
==
null
||
""
==
macSerial
)
{
try
{
String
loadFileAsString
=
loadFileAsString
(
"/sys/class/net/eth0/address"
);
if
(!
TextUtils
.
isEmpty
(
loadFileAsString
)
&&
loadFileAsString
.
length
()
>
17
)
{
return
loadFileAsString
.
toUpperCase
().
substring
(
0
,
17
);
}
else
{
return
loadFileAsString
.
toUpperCase
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
macSerial
;
}
private
String
getMacAddress0
(
Context
context
)
{
if
(
isAccessWifiStateAuthorized
(
context
))
{
WifiManager
wifiMgr
=
(
WifiManager
)
context
.
getSystemService
(
Context
.
WIFI_SERVICE
);
WifiInfo
wifiInfo
=
null
;
try
{
wifiInfo
=
wifiMgr
.
getConnectionInfo
();
return
wifiInfo
.
getMacAddress
();
}
catch
(
Exception
e
)
{
}
}
return
""
;
}
/**
* Check whether accessing wifi state is permitted
*
* @param context
* @return
*/
private
boolean
isAccessWifiStateAuthorized
(
Context
context
)
{
if
(
PackageManager
.
PERMISSION_GRANTED
==
context
.
checkCallingOrSelfPermission
(
"android.permission.ACCESS_WIFI_STATE"
)
)
{
return
true
;
}
else
return
false
;
}
private
String
loadFileAsString
(
String
fileName
)
{
try
{
FileReader
reader
=
new
FileReader
(
fileName
);
String
text
=
loadReaderAsString
(
reader
);
reader
.
close
();
return
text
;
}
catch
(
Exception
e
)
{
return
""
;
}
}
private
String
loadReaderAsString
(
Reader
reader
)
throws
IOException
{
StringBuilder
builder
=
new
StringBuilder
();
char
[]
buffer
=
new
char
[
4096
];
int
readLength
=
reader
.
read
(
buffer
);
while
(
readLength
>=
0
)
{
builder
.
append
(
buffer
,
0
,
readLength
);
readLength
=
reader
.
read
(
buffer
);
}
return
builder
.
toString
();
}
/**
* 获取当前网络类型
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>`
*
* @return 网络类型
*/
private
enum
NetworkType
{
NETWORK_WIFI
,
NETWORK_4G
,
NETWORK_3G
,
NETWORK_2G
,
NETWORK_UNKNOWN
,
NETWORK_NO
}
public
String
getNetwork
(
Context
context
)
{
String
s
=
""
;
switch
(
getNetworkType
(
context
))
{
case
NETWORK_2G:
s
=
"2"
;
break
;
case
NETWORK_3G:
s
=
"3"
;
break
;
case
NETWORK_4G:
s
=
"4"
;
break
;
case
NETWORK_WIFI:
s
=
"1"
;
break
;
default
:
s
=
"5"
;
break
;
}
return
s
;
}
public
NetworkType
getNetworkType
(
Context
context
)
{
NetworkType
netType
=
NetworkType
.
NETWORK_NO
;
NetworkInfo
info
=
getActiveNetworkInfo
(
context
);
if
(
info
!=
null
&&
info
.
isAvailable
())
{
if
(
info
.
getType
()
==
ConnectivityManager
.
TYPE_WIFI
)
{
netType
=
NetworkType
.
NETWORK_WIFI
;
}
else
if
(
info
.
getType
()
==
ConnectivityManager
.
TYPE_MOBILE
)
{
switch
(
info
.
getSubtype
())
{
case
TelephonyManager
.
NETWORK_TYPE_GSM
:
case
TelephonyManager
.
NETWORK_TYPE_GPRS
:
case
TelephonyManager
.
NETWORK_TYPE_CDMA
:
case
TelephonyManager
.
NETWORK_TYPE_EDGE
:
case
TelephonyManager
.
NETWORK_TYPE_1xRTT
:
case
TelephonyManager
.
NETWORK_TYPE_IDEN
:
netType
=
NetworkType
.
NETWORK_2G
;
break
;
case
TelephonyManager
.
NETWORK_TYPE_TD_SCDMA
:
case
TelephonyManager
.
NETWORK_TYPE_EVDO_A
:
case
TelephonyManager
.
NETWORK_TYPE_UMTS
:
case
TelephonyManager
.
NETWORK_TYPE_EVDO_0
:
case
TelephonyManager
.
NETWORK_TYPE_HSDPA
:
case
TelephonyManager
.
NETWORK_TYPE_HSUPA
:
case
TelephonyManager
.
NETWORK_TYPE_HSPA
:
case
TelephonyManager
.
NETWORK_TYPE_EVDO_B
:
case
TelephonyManager
.
NETWORK_TYPE_EHRPD
:
case
TelephonyManager
.
NETWORK_TYPE_HSPAP
:
netType
=
NetworkType
.
NETWORK_3G
;
break
;
case
TelephonyManager
.
NETWORK_TYPE_IWLAN
:
case
TelephonyManager
.
NETWORK_TYPE_LTE
:
netType
=
NetworkType
.
NETWORK_4G
;
break
;
default
:
String
subtypeName
=
info
.
getSubtypeName
();
if
(
subtypeName
.
equalsIgnoreCase
(
"TD-SCDMA"
)
||
subtypeName
.
equalsIgnoreCase
(
"WCDMA"
)
||
subtypeName
.
equalsIgnoreCase
(
"CDMA2000"
)
)
{
netType
=
NetworkType
.
NETWORK_3G
;
}
else
{
netType
=
NetworkType
.
NETWORK_UNKNOWN
;
}
break
;
}
}
else
{
netType
=
NetworkType
.
NETWORK_UNKNOWN
;
}
}
return
netType
;
}
/**
* 获取活动网络信息
* <p>
* 需添加权限 `<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>`
*
* @return NetworkInfo
*/
@SuppressLint
(
"MissingPermission"
)
private
NetworkInfo
getActiveNetworkInfo
(
Context
context
)
{
ConnectivityManager
manager
=
(
ConnectivityManager
)
context
.
getSystemService
(
Context
.
CONNECTIVITY_SERVICE
);
try
{
return
manager
.
getActiveNetworkInfo
();
}
catch
(
Exception
e
)
{
return
null
;
}
}
private
String
buildMap
(
Map
<
String
,
String
>
map
)
{
StringBuffer
sb
=
new
StringBuffer
();
if
(
map
.
size
()
>
0
)
{
for
(
String
key
:
map
.
keySet
())
{
sb
.
append
(
key
+
"="
);
if
(
TextUtils
.
isEmpty
(
map
.
get
(
key
)))
{
sb
.
append
(
"&"
);
}
else
{
String
value
=
map
.
get
(
key
);
try
{
value
=
URLEncoder
.
encode
(
value
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
sb
.
append
(
value
+
"&"
);
}
}
}
return
sb
.
toString
();
}
@SuppressLint
(
"MissingPermission"
)
private
String
getBSSID
(
Context
context
)
{
WifiManager
mWifiManager
=
(
WifiManager
)
context
.
getSystemService
(
Context
.
WIFI_SERVICE
);
WifiInfo
mWifiInfo
=
mWifiManager
.
getConnectionInfo
();
String
s
=
""
;
if
(
mWifiInfo
!=
null
)
{
s
=
mWifiInfo
.
getBSSID
();
}
return
s
;
}
/**
* 获取手机IMSI号
*/
@SuppressLint
(
"MissingPermission"
)
public
String
getIMSI
(
Context
context
)
{
try
{
TelephonyManager
mTelephonyMgr
=
(
TelephonyManager
)
context
.
getSystemService
(
Context
.
TELEPHONY_SERVICE
);
return
mTelephonyMgr
.
getSubscriberId
();
}
catch
(
Exception
e
)
{
return
""
;
}
}
}
Assets/AdSDK/NetWork/HTTP/unity/AndroidPhoneUtils.java.meta
0 → 100644
View file @
84859580
fileFormatVersion: 2
guid: be6033d9795d4d14f88e76c80f27f2a6
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Android: Android
second:
enabled: 1
settings: {}
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:
Assets/AdSDK/NetWork/HTTP/unity/LitJson.dll.meta
View file @
84859580
fileFormatVersion: 2
fileFormatVersion: 2
guid:
08abcf21e7d2d224596f1ce2fd2178d4
guid:
88ddd43a224c76940ba78451fceeabe9
PluginImporter:
PluginImporter:
externalObjects: {}
externalObjects: {}
serializedVersion: 2
serializedVersion: 2
...
...
Assets/AdSDK/Oaid/OaidUtil.cs
View file @
84859580
...
@@ -6,7 +6,7 @@ public class OaidUtil
...
@@ -6,7 +6,7 @@ public class OaidUtil
public
static
void
GetOaid
(
Action
<
string
>
callback
)
public
static
void
GetOaid
(
Action
<
string
>
callback
)
{
{
#if UNITY_ANDROID
#if UNITY_ANDROID
&&!UNITY_EDITOR
AndroidJavaObject
util
=
new
AndroidJavaObject
(
"com.ym.zxhcsdkaar.OaidUtils"
);
AndroidJavaObject
util
=
new
AndroidJavaObject
(
"com.ym.zxhcsdkaar.OaidUtils"
);
util
.
Call
(
"GetOaid"
,
ZXHCUtils
.
GetActivity
(),
new
OaidListenerProxy
(
callback
));
util
.
Call
(
"GetOaid"
,
ZXHCUtils
.
GetActivity
(),
new
OaidListenerProxy
(
callback
));
#else
#else
...
...
ProjectSettings/ProjectSettings.asset
View file @
84859580
...
@@ -131,7 +131,7 @@ PlayerSettings:
...
@@ -131,7 +131,7 @@ PlayerSettings:
16:10
:
1
16:10
:
1
16:9
:
1
16:9
:
1
Others
:
1
Others
:
1
bundleVersion
:
1.0.
2
bundleVersion
:
1.0.
3
preloadedAssets
:
[]
preloadedAssets
:
[]
metroInputSource
:
0
metroInputSource
:
0
wsaTransparentSwapchain
:
0
wsaTransparentSwapchain
:
0
...
@@ -184,7 +184,7 @@ PlayerSettings:
...
@@ -184,7 +184,7 @@ PlayerSettings:
Standalone
:
0
Standalone
:
0
iPhone
:
0
iPhone
:
0
tvOS
:
0
tvOS
:
0
AndroidBundleVersionCode
:
1
AndroidBundleVersionCode
:
4
AndroidMinSdkVersion
:
21
AndroidMinSdkVersion
:
21
AndroidTargetSdkVersion
:
0
AndroidTargetSdkVersion
:
0
AndroidPreferredInstallLocation
:
1
AndroidPreferredInstallLocation
:
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment