Commit c1818644 authored by 王雪伟's avatar 王雪伟

分目录

parent 2a244c94
fileFormatVersion: 2
guid: 231e41b78eb80914b987134df2a038a7
guid: f6f42fcdaf8c574459cf2121df2a09d6
folderAsset: yes
DefaultImporter:
externalObjects: {}
......
using LitJson;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;
public class AdHttpUtil : MonoBehaviour
{
private static string HttpLogTag = "UnityHttp";
private static AdHttpUtil _instacne = null;
private string TEST_BASE_GAEM_URL = "http://feedapitest.zhangxinhulian.com/";//测试游戏域名
private string TEST_BASE_AD_URL = "https://bstest.zhangxinhulian.com/";//测试广告域名
private string PRODUCT_BASE_GAEM_URL = "https://feedapi.zhangxinhulian.com/";//正式游戏域名
private string PRODUCT_BASE_AD_URL = "https://bs.zhangxinhulian.com/";//正式广告域名
private string BaseGameUrl;
private string BaseAdUrl;
private int timeOut = 10;//超时时间
Dictionary<string, object> requestHeader = new Dictionary<string, object>(); // header
public static AdHttpUtil Instance
{
get
{
if (_instacne == null)
{
GameObject obj = new GameObject();
_instacne = obj.AddComponent<AdHttpUtil>();
obj.name = "AdHttpUtil";
}
return _instacne;
}
}
private void Awake()
{
if (FindObjectsOfType(typeof(AdHttpUtil)).Length > 1)
{
Destroy(transform.gameObject);
}
if (Constant.Instance.IsTestNet)
{
BaseAdUrl = TEST_BASE_AD_URL;
}
else
{
BaseAdUrl = PRODUCT_BASE_AD_URL;
}
AdHttpUtil._instacne = gameObject.GetComponent<AdHttpUtil>();
DontDestroyOnLoad(gameObject);
//unityhttp header 的内容
requestHeader.Add("Content-Type", "application/json");
}
public void _GetAD<T>(string methodName, Dictionary<string, object> getParas, Action<T> success, Action<string, string> failed)
{
StartCoroutine(GetRequest(BaseAdUrl, methodName, getParas, success, failed));
}
public void _Get<T>(string methodName, Dictionary<string, object> getParas, Action<T> success, Action<string, string> failed)
{
StartCoroutine(GetRequest(BaseGameUrl, methodName, getParas, success, failed));
}
private IEnumerator GetRequest<T>(string BaseURL, string methodName, Dictionary<string, object> getParas, Action<T> success, Action<string, string> failed)
{
string url = BaseURL + methodName + "?" + HttpUtil.addParams(getParas);
using (UnityWebRequest webRequest = UnityWebRequest.Get(url))
{
//设置header
foreach (var v in requestHeader)
{
webRequest.SetRequestHeader(v.Key, (string)v.Value);
}
webRequest.timeout = timeOut;
yield return webRequest.SendWebRequest();
if (webRequest.isHttpError || webRequest.isNetworkError)
{
if (failed != null)
{
failed(webRequest.error, webRequest.downloadHandler.text);
}
}
else
{
string json = webRequest.downloadHandler.text;
RequestResult("GET RequestUrl=> " + url, json, success, failed);
}
}
}
//jsonString 为json字符串,post提交的数据包为json
public void _Post<T>(string methodName, Dictionary<string, object> postParas, Action<T> success, Action<string, string> failed)
{
StartCoroutine(PostRequest(BaseGameUrl, methodName, "", postParas, success, failed));
}
private IEnumerator PostRequest<T>(string BaseURL, string methodName, string jsonString, Dictionary<string, object> postParas, Action<T> success, Action<string, string> failed)
{
string url = BaseURL + methodName + "?" + HttpUtil.addParams(postParas);
using (UnityWebRequest webRequest = new UnityWebRequest(url, "POST"))
{
if (jsonString != null && jsonString.Length > 0)
{
byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
}
webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
foreach (var v in requestHeader)
{
webRequest.SetRequestHeader(v.Key, (string)v.Value);
}
webRequest.timeout = timeOut;
yield return webRequest.SendWebRequest();
if (webRequest.isHttpError || webRequest.isNetworkError)
{
Debug.unityLogger.Log("error:"+webRequest.error + "\n" + webRequest.downloadHandler.text);
if (failed != null)
{
failed(webRequest.error, webRequest.downloadHandler.text);
}
}
else
{
string json = webRequest.downloadHandler.text;
RequestResult("POST RequestUrl=> " + url, json, success, failed);
}
}
}
private void RequestResult<T>(string debugUrl, string json, Action<T> success, Action<string, string> failed)
{
Debug.unityLogger.Log(HttpLogTag, debugUrl);
Debug.unityLogger.Log(HttpLogTag, "Json=> " + json);
if (success != null)
{
try
{
Response<T> response = JsonMapper.ToObject<Response<T>>(json);
if (response.status == 200)
{
if (response.security != null && response.security.Equals("SECURITY"))
{
string signResult = HttpUtil.DeCode(response.enc, "as09384io03lmp78", "e2e7d664d72f710c");
Response<T> response2 = JsonMapper.ToObject<Response<T>>(json);
success(response2.result.data);
}
else
{
success(response.result.data);
}
}
else
{
if (failed != null)
{
failed(response.status.ToString(), response.msg);
}
}
}
catch (Exception e)
{
if (failed != null)
{
failed("-2", e.Message);
}
}
}
}
}
fileFormatVersion: 2
guid: 788e2a3a769e26b459cd63d4a5de7d76
guid: 18c160d3c82f6e645bb0aba57dfc3993
MonoImporter:
externalObjects: {}
serializedVersion: 2
......
fileFormatVersion: 2
guid: 9edc7e5b2cf2447c485e018bece1aa33
guid: 8954176cb17345b44af8f10f11c856d5
PluginImporter:
externalObjects: {}
serializedVersion: 2
......
This diff is collapsed.
......@@ -14,8 +14,8 @@ public class ZXADConfig
}
}
public const int ZXAD_VC = 135;
public const string ZXAD_VN = "1.3.5";
public const int ZXAD_VC = 136;
public const string ZXAD_VN = "1.3.6";
public const string ADManagerTAG = "AdManager";
public const string PLANTFORM_AD_TT = "chuanshanjia"; //穿山甲
......@@ -45,7 +45,7 @@ public class ZXADConfig
}
/// <summary>
/// 穿山甲广告ID
/// 穿山甲广告APPID
/// </summary>
private string csj_ad_app_id;
public string CSJ_AD_APP_ID
......@@ -56,9 +56,9 @@ public class ZXADConfig
/// <summary>
/// 广点通广告ID
/// 广点通广告APPID
/// </summary>
private string gdt_ad_app_id= "1101152570";
private string gdt_ad_app_id;
public string GDT_AD_APP_ID
{
......@@ -66,6 +66,34 @@ public class ZXADConfig
set { gdt_ad_app_id = value; }
}
/// <summary>
/// 快手APPID
/// </summary>
private string ks_ad_app_id;
public string KS_AD_APP_ID
{
get { return ks_ad_app_id; }
set { ks_ad_app_id = value; }
}
/// <summary>
/// 优良宝APPID
/// </summary>
private string ylb_ad_app_id;
public string YLB_AD_APP_ID
{
get { return ylb_ad_app_id; }
set { ylb_ad_app_id = value; }
}
/// <summary>
/// 掌心汇川APPID
/// </summary>
private string hc_ad_app_id;
public string HC_AD_APP_ID
{
get { return hc_ad_app_id; }
set { hc_ad_app_id = value; }
}
private Dictionary<string, List<AdEntity>> AdCacheMap = new Dictionary<string, List<AdEntity>>();
......
......@@ -75,7 +75,7 @@ public class CSJRewardUtil
#endif
}
ExpressRewardVideoAd rewardAd;
/// <summary>
/// 播放缓存的穿山甲激励视频广告
/// </summary>
......@@ -88,7 +88,7 @@ public class CSJRewardUtil
#if UNITY_ANDROID
RewardVideoAd rewardAd = GetRewardVideoAdForAndroid(entity.codeGroup + entity.slotName);
#elif UNITY_IOS
ExpressRewardVideoAd rewardAd = GetRewardVideoAdForIOS(entity.codeGroup + entity.slotName);
rewardAd = GetRewardVideoAdForIOS(entity.codeGroup + entity.slotName);
#endif
if (rewardAd != null)
{
......
......@@ -9,6 +9,7 @@ PluginImporter:
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Android: Android
......
......@@ -18,12 +18,18 @@ public class AdDemo : MonoBehaviour
private void Awake()
{ //AdManager.Instance.LoadSplshAd(new SplshAdListener(this));
AppConfig.Instance.InitProgect(true, true, "c4f628fe0c45566f");
}
private void Start()
{
AdManager.Instance.InitAd(new System.Action<bool>((cb) => {
ZXADConfig.Instance.CSJ_AD_APP_ID = null;
ZXADConfig.Instance.GDT_AD_APP_ID = null;
ZXADConfig.Instance.KS_AD_APP_ID = null;
ZXADConfig.Instance.YLB_AD_APP_ID = null;
ZXADConfig.Instance.HC_AD_APP_ID = null;
AdManager.Instance.InitAd(new System.Action<bool>((cb) =>
{
//OnClickPlaySplshAd();
}));
}
......@@ -33,8 +39,6 @@ public class AdDemo : MonoBehaviour
//loadThread.Start();
}
public void OnClickPlayRewardAd()
{
AdManager.Instance.PlayCacheRewardVideoAd("video", "test", new RewardAdListener(this));
......
......@@ -623,7 +623,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -753,7 +753,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -883,7 +883,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -1326,7 +1326,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -1456,7 +1456,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -1586,7 +1586,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -1971,7 +1971,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
......@@ -2111,7 +2111,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -2319,7 +2319,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -2449,8 +2449,8 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
......@@ -2657,7 +2657,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -2732,7 +2732,7 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 3}
m_FontSize: 40
m_FontStyle: 0
m_BestFit: 0
......@@ -2865,7 +2865,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -2995,7 +2995,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -3013,80 +3013,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1827600641}
m_CullTransparentMesh: 0
--- !u!1001 &2009802841
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: 2853166085728200634, guid: 1053be02c113a7a45adf322c929b0cb6,
type: 3}
propertyPath: IS_TEST
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2853166085728200635, guid: 1053be02c113a7a45adf322c929b0cb6,
type: 3}
propertyPath: m_RootOrder
value: 4
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 &2016039772
GameObject:
m_ObjectHideFlags: 0
......@@ -3343,7 +3269,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -3473,7 +3399,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......
......@@ -35,7 +35,7 @@ public class FSManager
// rewardVideoAd = new AndroidJavaObject("com.ym.admodule.ylb.YLBManager");
// //Utils.GetActivity(), posId, listenerProxy, volumeOn);
//}
fsManager.Call("loadReward", Utils.GetActivity(), codeId, listenerLoadProxy);
fsManager.Call("loadReward", Utils.GetActivity(), codeId, Constant.Instance.Oaid, listenerLoadProxy);
}
// 展示激励视频
......@@ -47,12 +47,12 @@ public class FSManager
// rewardVideoAd = new AndroidJavaObject("com.ym.admodule.ylb.YLBManager");
// //Utils.GetActivity(), posId, listenerProxy, volumeOn);
//}
fsManager.Call("showReward", Utils.GetActivity(), codeId, codeGroup, listenerProxy);
fsManager.Call("showReward", Utils.GetActivity(), codeId, Constant.Instance.Oaid, codeGroup, listenerProxy);
}
public void loadSplash(string codeId, string codeGroup)
{
fsManager.Call("loadSplash", Utils.GetActivity(),codeId, splashProxy);
fsManager.Call("loadSplash", Utils.GetActivity(),codeId,Constant.Instance.Oaid,splashProxy);
}
}
#endif
......@@ -10,7 +10,6 @@ import com.fun.xm.ad.callback.FSSplashAdCallBack;
import com.fun.xm.ad.fsadview.FSRewardVideoView;
import com.fun.xm.ad.fsadview.FSSplashAD;
import com.fun.xm.ad.listener.FSRewardVideoADListener;
import com.unity.adcommon.unity.AndroidPreference;
import com.unity.adcommon.unity.AppliContext;
import java.util.ArrayList;
......@@ -29,10 +28,10 @@ public class FunShionManager {
private ArrayList<FSRewardVideoView> rewradArray = new ArrayList<>();
public void loadSplash(Activity activity,String codeId, FsADSplashListener listener){
public void loadSplash(Activity activity,String codeId,String oaid, FsADSplashListener listener){
FSSplashAdLoader fsSplashAdLoader = new FSSplashAdLoader(activity);
fsSplashAdLoader.loadAD(codeId, AndroidPreference.getOaid(), new FSSplashAdCallBack() {
fsSplashAdLoader.loadAD(codeId, oaid, new FSSplashAdCallBack() {
@Override
public void onAdsTimeUpdate(int sec) {
mFSSplashAD.setSkipViewContent("跳过 " + sec / 1000);
......@@ -90,9 +89,9 @@ public class FunShionManager {
});
}
public void loadReward(Activity activity,String codeId,FSRewardVideoAdLoadListener listener){
public void loadReward(Activity activity,String codeId,String oaid,FSRewardVideoAdLoadListener listener){
FSRewardVideoAdLoader fsRewardVideoAdLoader = new FSRewardVideoAdLoader(activity);
fsRewardVideoAdLoader.loadAD(codeId, AndroidPreference.getOaid(), new FSRewardVideoADListener() {
fsRewardVideoAdLoader.loadAD(codeId, oaid, new FSRewardVideoADListener() {
@Override
public void onLoadStart() {
......@@ -149,7 +148,7 @@ public class FunShionManager {
}
private FSRewardVideoAdListener fsListener;
public void showReward(Activity activity, String codeId, String codeGroup, FSRewardVideoAdListener listener){
public void showReward(Activity activity, String codeId, String oaid, String codeGroup, FSRewardVideoAdListener listener){
if (activity != null && codeId != null &&rewradArray != null && !rewradArray.isEmpty() && rewradArray.get(rewradArray.size()-1) != null) {
FSRewardVideoView mTTad = rewradArray.get(rewradArray.size()-1);
if (mTTad != null) {
......@@ -158,13 +157,13 @@ public class FunShionManager {
}
}else{
//没有缓存的情况
loadRewardVideo(activity,codeId,codeGroup,listener);
loadRewardVideo(activity,codeId,oaid,codeGroup,listener);
}
}
private void loadRewardVideo(Activity activity, String codeId, String codeGroup, FSRewardVideoAdListener fsListener){
private void loadRewardVideo(Activity activity, String codeId, String oaid, String codeGroup, FSRewardVideoAdListener fsListener){
FSRewardVideoAdLoader fsRewardVideoAdLoader = new FSRewardVideoAdLoader(activity);
fsRewardVideoAdLoader.loadAD(codeId, AndroidPreference.getOaid(), new FSRewardVideoADListener() {
fsRewardVideoAdLoader.loadAD(codeId, oaid, new FSRewardVideoADListener() {
@Override
public void onLoadStart() {
......
fileFormatVersion: 2
guid: 1ce90202173eb411e904f5932583b2a0
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
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:
......@@ -79,9 +79,6 @@ namespace ZXHC
public void OnClickOaid()
{
OaidUtil.GetOaid(new Action<string>((oaid)=> {
Debug.unityLogger.Log("Test oaid" + oaid);
}));
}
......
......@@ -14,9 +14,9 @@ namespace ZXHC
#if UNITY_ANDROID
AndroidJavaObject hcAdManager = new AndroidJavaClass("com.ym.zxhcsdk.manager.ZXHCADManager").CallStatic<AndroidJavaObject>("getInstance");
hasInit = hcAdManager.Call<bool>("InitAd",ZXHCUtils.GetActivity(),appId, IsDebug);
OaidUtil.GetOaid(new Action<string>((oaid) => {
ZXHCUtils.SetDeviceOaid(oaid);
}));
//OaidUtil.GetOaid(new Action<string>((oaid) => {
// ZXHCUtils.SetDeviceOaid(oaid);
//}));
return hasInit;
#elif UNITY_IOS
return hasInit;
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
namespace ZXHC
{
......@@ -37,13 +35,15 @@ namespace ZXHC
public static void SetDeviceOaid(string oaid)
{
#if UNITY_ANDROID && !UNITY_EDITOR
AndroidJavaObject phoneUtil = new AndroidJavaClass("com.ym.zxhcsdk.PhoneUtils").CallStatic<AndroidJavaObject>("getInstance");
phoneUtil.Call("setOaid", oaid);
#endif
}
public static string GetDeviceOaid()
{
#if UNITY_ANDROID&&!UNITY_EDITOR
#if UNITY_ANDROID && !UNITY_EDITOR
AndroidJavaObject phoneUtil = new AndroidJavaClass("com.ym.zxhcsdk.PhoneUtils").CallStatic<AndroidJavaObject>("getInstance");
return phoneUtil.Call<string>("getoaid");
#endif
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &232745211
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: 1
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 &1990259245
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1990259248}
- component: {fileID: 1990259247}
- component: {fileID: 1990259246}
- component: {fileID: 1990259249}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1990259246
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1990259245}
m_Enabled: 1
--- !u!20 &1990259247
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1990259245}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1990259248
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1990259245}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1990259249
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1990259245}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 788e2a3a769e26b459cd63d4a5de7d76, type: 3}
m_Name:
m_EditorClassIdentifier:
using LitJson;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Android;
using UnityEngine.SceneManagement;
using ZXHC;
public class InitProject : MonoBehaviour
{
private string[] strs = new string[] { "android.permission.READ_PHONE_STATE",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.READ_EXTERNAL_STORAGE",
};
// Start is called before the first frame update
void Start()
{
#if UNITY_ANDROID
StartCoroutine(StartApp());
#endif
}
private IEnumerator StartApp()
{
yield return GetPermission();
#if UNITY_ANDROID && !UNITY_EDITOR
//Android初始化参数
var jc = new AndroidJavaClass("com.unity.adcommon.unity.AndroidConfig");
jc.CallStatic("init");
#elif UNITY_IOS && !UNITY_EDITOR
#endif
if (IsOk())
{
OaidUtil.GetOaid(new Action<string>((oaid) => {
ZXHCUtils.SetDeviceOaid(oaid);
EventUtils.OnEvent("app_active");
}));
Gettd();
}
else
{
Application.Quit();
}
}
public object GetPermission()
{
#if UNITY_ANDROID
strs.ToList().ForEach(s =>
{
if (!Permission.HasUserAuthorizedPermission(s))
{
Permission.RequestUserPermission(s);
}
else
{
}
});
#elif UNITY_IOS
#endif
return null;
}
private static void Gettd()
{
#if UNITY_ANDROID
AndroidJavaObject util = new AndroidJavaObject("com.ym.zxhcsdkaar.TDUtils");
util.Call("TD", GetActivity(), new TdListenerProxy((s)=> {
//td 上报
Dictionary<string, string> map = new Dictionary<string, string>();
map["event"] = "";
map["action"] = "checkDevice";
map["data"] = "";
HttpTool.Instance.TdEvent(JsonMapper.ToJson(map), s);
//加载游戏场景
SceneManager.LoadSceneAsync(1);
}));
#else
//加载游戏场景
SceneManager.LoadSceneAsync(1);
#endif
}
private bool IsOk()
{
#if UNITY_EDITOR
return true;
#endif
#if UNITY_ANDROID
// 获取Android的PackageManager
AndroidJavaClass Player = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject Activity = Player.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject PackageManager = Activity.Call<AndroidJavaObject>("getPackageManager");
// 获取当前Android应用的包名
string packageName = Activity.Call<string>("getPackageName");
// 调用PackageManager的getPackageInfo方法来获取签名信息数组
int GET_SIGNATURES = PackageManager.GetStatic<int>("GET_SIGNATURES");
AndroidJavaObject PackageInfo = PackageManager.Call<AndroidJavaObject>("getPackageInfo", packageName, GET_SIGNATURES);
AndroidJavaObject[] Signatures = PackageInfo.Get<AndroidJavaObject[]>("signatures");
// 获取当前的签名的哈希值,判断其与我们签名的哈希值是否一致
if (Signatures != null && Signatures.Length > 0)
{
int hashCode = Signatures[0].Call<int>("hashCode");
return hashCode == 1068458861;//我们签名的哈希值
}
#endif
return false;
}
public static AndroidJavaObject GetActivity()
{
AndroidJavaObject activity=null;
#if UNITY_ANDROID && !UNITY_EDITOR
if (activity == null)
{
var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
#endif
return activity;
}
}
fileFormatVersion: 2
guid: a75f8ac9bc3f8414cb9b1aca48735084
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 06c34b504913f0a4fabfff68335304a0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
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 "";
}
}
This diff is collapsed.
using LitJson;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.Android;
using UnityEngine.UI;
public class HttpTest : MonoBehaviour
{
public string A;
public string B;
public Text result;
private void Awake()
{
}
public void OnClikGet()
{
Debug.Log("测试GET");
//app/v1/game/xynt/land_list
//app/v1/game/xynt/home_info
HttpTool.Instance._Get("app/v1/tianzi/question", null, new Action<TestBean>((bean) =>
{
Debug.Log("Get 请求成功111");
}), new Action<string, string>((code, errMsg) =>
{
Debug.Log("Get 请求失败"+code + errMsg);
}));;
}
public void OnClickPost()
{
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add("type", "1");
//HttpTool.Instance._Post("app/v1/game/xynt/use_fertilize", "", null, actionRes);
HttpTool.Instance._Post("app/v1/game/xynt/box_reward", d, new Action<TestBean>((bean) =>
{
Debug.Log("Post 请求成功");
}), new Action<string, string>((code, errMsg) =>
{
Debug.Log("Post 请求失败" + errMsg);
}));
}
private string[] strs = new string[] { "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE",
"android.permission.READ_PHONE_STATE"};
//请求权限
public void getPermission()
{
#if UNITY_ANDROID
strs.ToList().ForEach(s =>
{
if (!Permission.HasUserAuthorizedPermission(s))
{
Permission.RequestUserPermission(s);
}
});
#elif UNITY_IOS
#endif
}
//初始化
public void initConfig()
{
AndroidJavaClass cpuUtils = new AndroidJavaClass(
"com.unity.adcommon.unity.CpuUtils");
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add("md5", PrefenceUtils.GetInstance().getMd5());
d.Add("type", cpuUtils.CallStatic<string>("getArchType"));
HttpTool.Instance._Get("app/v1/novel/info", d, new Action<TestBean>((bean) =>
{
}), new Action<string, string>((code, errMsg) =>
{
}));
}
//设备登陆
public void deviceLogin()
{
//JObject obj = JObject.Parse(str);
//JObject resultObj = JObject.Parse(obj["result"].ToString());
//JObject dataObj = JObject.Parse(resultObj["data"].ToString());
//string token = dataObj["token"].ToString();
//string uid = dataObj["uid"].ToString();
//PrefenceUtils.GetInstance().setTokenAndUid(token, uid);
//Debug.Log("游客登陆:" + str + "\n token: " + token + " \n uid:" + uid);
//result.text = str;
HttpTool.Instance._Post("app/v1/auth/tourist-login", null, new Action<TestBean>((bean) =>
{
}), new Action<string, string>((code, errMsg) =>
{
}));
}
//string enc = "cYMqfCFXX1qTbOitQJVqOtUsXx/8ZeTXIjnsq9MpqMXkx+v92z5wAWjM5l+RPAHjih2CmDKTljKPuY4DaAQ2FxUXl05hUN0Kc84g0WOZFEDeVsQ2UB/Dhp6KTtSlVGVPlQ1hWZpkEq3ZhE4H2EY2KVKNYW0B9rlRyOYGLCumeGMsMXR1Vnz+l8MLXSshdzBh6ZqksdPYeU1qk3FuXWN71Y54kM8JIun7DW5uL2EVxjYVgvbcgtMxWdIBQxlbE0wQWDwQ3XnPn8j7nQ/v+TB9r3q10k837ZfkO+t5UpSCIQwZFA7/ZUyf9t/HJoklRJGDmtL+ua5F4xTi+amBdlCkmlnnr4PNqgpnP/AojVCkpDfhoO96CH/H9tbkoyrt2fueCTjHfoQYV/HKV0RrvYTG789JUGn2/brzL2MWSv0EkFYNihTGPzifG9C1gvSyIH/wkghFNl7zeOUzWalKw3NFRj1bLyjDy8oHjnGsMbQA4iZZKPz/YUZekXrNY/KAFuVQYHXLsMVLn2vYLg+It/TkDDyxOUI+OUGClqpWwZ64QMTwIk0BEjdmQTmnlIiQNDYNEe4Ghi5cQ0kpjA1/EUHk2CA7tHkqaUsYA7/8DzgG9QJIk0PRcjXViWzw8cndJ+fn0F9pxa9JtCblupwAxqToWdlGK5z7e5Tu0vYo5QQTa1f2VdC1ndlA9tdwFkYGpumQaJA3v04OgWqbp6mBdC460ctVa+kvFeh3/V0KrnhYtiryen/lm63gAen2wc66M4LgCOB27Exz6Cbcj5HYkpHI66tDOAq87Kke9LaHUFgfxG6sqocSSso+ngRFBAmggIp5eo4vI7KiUa1YNeEKqv8181BF2FzkHtYeA7127GsSD/f7UacLm78HhM/tBeBhptnXkwoqicjeL8vOYMSnG1X3wINvtVYPS/bPesxO693vmAIYrDlLd0s6dyUHdB5BQL5zeG7wsgYe9lyM/FclqvT23gcar+ukA1ObUzrcoqOYkmTQMu7J7TxxWl+Zrv1abU+p4nMJ0QVOb+1s066VIVyGbY/Ayz0ihdpWKsjSy8jb9VxvjcbNfz6F8p3OLnFr9LTR63f7kHrUFLgInX1azqYGm6TtgDFttVi/6iSgGvP6c3NILwJH0ckbhOqKy7NX7pX03c7kCXxOgME+5khbT1KfOca7INZxhku6ZAVRjSqrusItcvTHkIxfNuDyN7kaVSP5wmWKZB9vbpxnM1F9K8LQezHapJ1fFNm51CiMucIZTJtLkXo1Qr9hmplKIu3TnZ0csG+wuUDToo12VrG6/WIVmv8gshf6Xbunxah/GK52c6GQfAKQmTGCJufwXWHMIkyoLHbhvWDZ+1jMT7UUcwOoM4vL7OXHAxafBAZ5JbVEL26S7sJzs/V30OcH6fpaXHc3F7s/xABOzzF0iiuO1DtZv5jib8sWHizIEXsgenbkQHfNo+y77z0k/HUmIrybKNMqgOzDRp3d2ttSzaT2e+oSrt7LJFXitvMuRxGKA/rwowagqOkO/cqSrAIqRXpp4j33AmmtvS5vm0fj3eDVpAhP8/ZCcEDVEWFKRPZYGIY7EbYuV4o3ixNihsLoDK7qLVYx/xXi8kRBUpyu5+Q3dRDjkJWMIaYt65rmLJj3encjx7x9KrVWgWiApgjkclcqezqd5CuoAZFAAneTo+FH+1jgz0Y+9DIEj9eEynTAqyUSZH4=";
string json = "{\"status\":200,\"msg\":\"请求成功\",\"sign\":\"39f6aa71fedc6ae9\",\"result\":null,\"enc\":\"cYMqfCFXX1qTbOitQJVqOtUsXx/8ZeTXIjnsq9MpqMWS/Dyo9c1/c/KndeCJOKWk5MeP6xnE7t5PuRNtTj24nDYE+qmTxyS1e4JgtDEn8F/PIbraKoAaEZHk4pUc80LlSNt5b5Uguih31+qaldnLX9LIR8RjfO7kDoKCbK1JVpTt2+yNZTnT+klFA43qjd3+v9JuMEKb6W2aFz16hFk2FOOetf/FOgE0SCGRhuT69OrcHaIshq1zEtxCuo7B7yI8nPIX8XHttPBEHE5ffFbo14msd0NhSBTSnxn4MNqMdQ7So94oZQ2DwTmEQbwcU2aGbiG70zjawj7GHPHK0sJmgg/qlMfcSwcLsYg7jGiJieWkKDHDQIUYovjyVKuu1uWKvQb68OTWLFwmCa4Fo1ianbnB+ZYz6ns+UykouCXVszpdm/E4GRato/U+ZPFOjP91RF0Sy2hlqYlZvw7D93PX+pXkkx9d6884o+Tz5w5pZf+5GdMVsj/4sEoFjVMBcP8i/gmI1gHHZI2QoV8CDYPVwf0eZYeM1fqk5Wf8OYFqc+l9c92Duxfh2vML7xDEXjjUHj8+1lztUIEfR9bVkvNCWUk+4PoltzrU9lQ/CWb7nzGpKExG3UdHaP0Xzu11sssdolPZ3jPAKaElW+CWN2ZDr57BIKEPNrhcTL3vCqTYDhtgCPyvg7DPKvxaSAEJL/aEkOrsTcSi/mTS5lw+OwHm/WYuvbrPD8Zq7ybyytR9j78z34joZftiXV2adk899iF3IAEPO1m9EdqsExCrgW57qB88vPs46C9yLC7L6YBSa6uwHN+jTvArFrR3f45c9/R3rrSVsxVdacAUEyqeccu4P3kyZXYNQUAJydH7FLrhQLHM98GSGJ0eqcES7znG7AtdsQj5H4O+B5B0l44zcvwPrsh0WSzzvsIi5r+IkgdKzZZ//hvCgqcLmn78Mkpm60kuf8KyOUbhVjvUKh1cdmzFetN87wnSIKHsgaLDeSgbwlW9m/yht0W6LjRyXX5IU8fR\",\"security\":\"SECURITY\"}";
public void OnClickTestSign()
{
Response<TestBean> response = JsonMapper.ToObject<Response<TestBean>>(json);
String signResult = EncryptHelper.EncryptHelper.DeCode(response.enc, "as09384io03lmp78", "e2e7d664d72f710c");
try
{
//String signResult = DataSignVerify(response.enc, response.sign);
Debug.unityLogger.Log("DecryptInterceptor", "signResult: " + signResult);
if (("OK").Equals(signResult))
{
//String decryptResult = DecryptData(response.enc);
//Debug.unityLogger.Log("DecryptInterceptor", "decryptResult: " + decryptResult);
}
else
{
Debug.unityLogger.Log("DecryptInterceptor", "decryptResult: error");
}
}
catch (Exception e)
{
Debug.unityLogger.Log("DecryptInterceptor", "error" + e.ToString());
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PrefenceUtils
{
private bool IsShowDeviceMsg = false;
private AndroidJavaClass mAndroidUtils = new AndroidJavaClass(
"com.unity.adcommon.unity.AndroidPreference");
private static PrefenceUtils game = new PrefenceUtils();
public static PrefenceUtils GetInstance()
{
return game;
}
//获取 oaid
public string getOaid()
{
return mAndroidUtils.CallStatic<string>("getOaid");
}
//获取 mac
public string getMac()
{
if (IsShowDeviceMsg)
{
Debug.Log("mac:" + mAndroidUtils.CallStatic<string>("getMac"));
}
return mAndroidUtils.CallStatic<string>("getMac");
}
//获取 device
public string getDevice()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam device:" + mAndroidUtils.CallStatic<string>("getDevice"));
}
return mAndroidUtils.CallStatic<string>("getDevice");
}
//获取 imei
public string getImei()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam imei:" + mAndroidUtils.CallStatic<string>("getImei"));
}
return mAndroidUtils.CallStatic<string>("getImei");
}
//获取 imei
public string getImsi()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam imsi:" + mAndroidUtils.CallStatic<string>("getImsi"));
}
return mAndroidUtils.CallStatic<string>("getImsi");
}
//获取 carrier
public string getCarrier()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getCarrier:" + mAndroidUtils.CallStatic<string>("getCarrier"));
}
return mAndroidUtils.CallStatic<string>("getCarrier");
}
//获取 网络类型
public string getNTT()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getNTT:" + mAndroidUtils.CallStatic<string>("getNTT"));
}
return mAndroidUtils.CallStatic<string>("getNTT");
}
//获取 浏览器类型
public string getUA()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getNTT:" + mAndroidUtils.CallStatic<string>("getUA"));
}
return mAndroidUtils.CallStatic<string>("getUA");
}
//获取 AndroidId aid
public string getAid()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getAndroidId:" + mAndroidUtils.CallStatic<string>("getAndroidId"));
}
return mAndroidUtils.CallStatic<string>("getAndroidId");
}
//获取 Ip
public string getIp()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getIp:" + mAndroidUtils.CallStatic<string>("getIp"));
}
return mAndroidUtils.CallStatic<string>("getIp");
}
//获取 SVN
public string getSVN()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getSVN:" + mAndroidUtils.CallStatic<string>("getSVN"));
}
return mAndroidUtils.CallStatic<string>("getSVN");
}
//获取 VC
public string getVC()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getVC:" + mAndroidUtils.CallStatic<string>("getVC"));
}
return mAndroidUtils.CallStatic<string>("getVC");
}
//获取 VN
public string getVN()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getVN:" + mAndroidUtils.CallStatic<string>("getVN"));
}
return mAndroidUtils.CallStatic<string>("getVN");
}
//获取 source
public string getSource()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getSource:" + mAndroidUtils.CallStatic<string>("getSource"));
}
return mAndroidUtils.CallStatic<string>("getSource");
}
//获取 device_uuid
public string getUUid()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getUUid:" + mAndroidUtils.CallStatic<string>("getUUid"));
}
return mAndroidUtils.CallStatic<string>("getUUid");
}
public string getMd5()
{
if (IsShowDeviceMsg)
{
Debug.Log("commonparam getMd5:" + mAndroidUtils.CallStatic<string>("getMd5"));
}
return mAndroidUtils.CallStatic<string>("getMd5");
}
public string getToken()
{
return PlayerPrefs.GetString(token, "");
}
public string getUid()
{
return PlayerPrefs.GetString(uid, "");
}
// ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ====
// 设置参数 ====
// ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ====
private string token = "unity_token";
private string uid = "unity_uid";
public void setTokenAndUid(string t, string u)
{
PlayerPrefs.SetString(token,t);
PlayerPrefs.SetString(uid, u);
}
}
fileFormatVersion: 2
guid: 467826dae71404a90b9fedba00da8111
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
public interface Response
{
void onSuccess(string s);
void onError(string s);
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
[Serializable]
public class TestBean
{
public int landId { set; get; }
public int status { set; get; }
}
fileFormatVersion: 2
guid: 931c8b55a859f3142ad13460f4c9bd6f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
[Serializable]
public class UserInfoBean
{
public string token { get; set; }
public string source { get; set; }
public int uid { get; set; }
}
fileFormatVersion: 2
guid: ed66dd4a35fb5fc438c97795ffc4f77c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
public abstract class BaseBean<T>
{
public int status = 0;
public string msg = "";
public Result<T> result;
public class Result<T>
{
T data;
}
public abstract void onSuccess(T t);
public abstract void onFailure(string code,string errorMsg);
}
fileFormatVersion: 2
guid: f842454345150463e981057d9513978a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 332726b17b21c024ea520c60575fafbb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameConfig : MonoBehaviour
{
private static GameConfig _instacne = null;
public static GameConfig Instance
{
get
{
if (_instacne == null)
{
Debug.LogError("GameConfig Awake error");
}
return _instacne;
}
}
private void Awake()
{
GameConfig._instacne = this;
}
}
fileFormatVersion: 2
guid: 07c173d43eddd5941931c772e900e6bc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2853166085728200632
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2853166085728200635}
- component: {fileID: 2853166085728200634}
- component: {fileID: -2993611056400550530}
m_Layer: 0
m_Name: HTTP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2853166085728200635
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2853166085728200632}
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: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2853166085728200634
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2853166085728200632}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 055de3c5eb4e4b44983fb5f6569eb6be, type: 3}
m_Name:
m_EditorClassIdentifier:
IS_TEST: 1
IS_TGYZ: 0
IsShowLog: 1
appLs:
appkey: faba1d018f76086
--- !u!114 &-2993611056400550530
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2853166085728200632}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07c173d43eddd5941931c772e900e6bc, type: 3}
m_Name:
m_EditorClassIdentifier:
fileFormatVersion: 2
guid: 1053be02c113a7a45adf322c929b0cb6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 9f6e642ff9f94da479baec78a06cf00c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 9db55c0ded0ac472b923beadd6958f07
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
package com.unity.adcommon.unity;
import android.util.Base64;
import java.io.UnsupportedEncodingException;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* Created by gaoleichao on 2018/9/6.
*/
public class AESUtils {
private static String CIPHERMODEPADDING = "AES/CBC/PKCS7Padding";// AES/CBC/PKCS7Padding
private static String ivParameter = "e2e7d664d72f710b";// 密钥默认偏移,可更改
private static String sKey = "c20505927997d952";// key必须为16位,可更改为自己的key
// /** 算法/模式/填充 **/
// /** 创建密钥 **/
private static SecretKeySpec createKey(String key) {
byte[] data = null;
if (key == null) {
key = "";
}
StringBuffer sb = new StringBuffer(16);
sb.append(key);
while (sb.length() < 16) {
sb.append("0");
}
if (sb.length() > 16) {
sb.setLength(16);
}
try {
data = sb.toString().getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return new SecretKeySpec(data, "AES");
}
private static IvParameterSpec createIV(String password) {
byte[] data = null;
if (password == null) {
password = "";
}
StringBuffer sb = new StringBuffer(16);
sb.append(password);
while (sb.length() < 16) {
sb.append("0");
}
if (sb.length() > 16) {
sb.setLength(16);
}
try {
data = sb.toString().getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return new IvParameterSpec(data);
}
// /** 加密字节数据 **/
public static byte[] encrypt(byte[] content, String password, String iv) {
try {
SecretKeySpec key = createKey(password);
Cipher cipher = Cipher.getInstance(CIPHERMODEPADDING);
cipher.init(Cipher.ENCRYPT_MODE, key, createIV(iv));
byte[] result = cipher.doFinal(content);
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// /** 加密(结果为16进制字符串) **/
public static String encrypt(String content) {
byte[] data = null;
try {
data = content.getBytes("UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
data = encrypt(data, sKey, ivParameter);
String result = Utils.getBase64(data);
return result;
}
public static String decrypt(String sSrc) throws Exception {
try {
byte[] raw = sKey.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = Base64.decode(sSrc,Base64.DEFAULT);// 先用base64解密
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original, "utf-8");
return originalString;
} catch (Exception ex) {
return null;
}
}
public static String decrypt(String sSrc,String key) throws Exception {
try {
byte[] raw = key.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec("4kbnwmth98nnjy94".getBytes());
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = Base64.decode(sSrc,Base64.DEFAULT);// 先用base64解密
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original, "utf-8");
return originalString;
} catch (Exception ex) {
return null;
}
}
}
This diff is collapsed.
fileFormatVersion: 2
guid: 99038ce9da7d844819e576815153f5b6
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:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment