Commit 5eb0cbaa authored by 王雪伟's avatar 王雪伟

加入掌心汇川广告 修改穿山甲banner轮询问题 修改关闭大图和bannner广告的问题

parent d16bc4c4
......@@ -4,6 +4,8 @@ using UnityEngine;
using System;
using Tencent.GDT;
using System.Runtime.InteropServices;
using ByteDance.Union;
using ZXHC;
public class AdManager
{
......@@ -50,7 +52,7 @@ public class AdManager
private string AdLoadUrl = "v4/ads";
private bool IsFirstLoadRewardAd = false;
private bool IsFirstLoadFSAd = false;
public void InitAd()
public void InitAd(Action<bool> callback)
{
IsFirstLoadRewardAd = true;
IsFirstLoadFSAd = true;
......@@ -68,6 +70,8 @@ public class AdManager
#if UNITY_ANDROID
AndroidJavaClass jc = new AndroidJavaClass("com.unity.adcommon.unity.TTADManager");
jc.CallStatic("init", id.codeAppId);
//获取穿山甲权限
SDK.RequestPermissionIfNecessary();
#elif UNITY_IOS
InitCSJSDK(id.codeAppId);
#endif
......@@ -85,17 +89,29 @@ public class AdManager
AndroidJavaClass jc2 = new AndroidJavaClass("com.unity.adcommon.unity.TTADManager");
jc2.CallStatic("initYLB", id.codeAppId);
}
#endif
break;
case ZXADConfig.PLANTFORM_AD_ZXHC:
#if UNITY_ANDROID
if (id.codeAppId != null && id.codeAppId != "")
{
ZXHCADManager.Init(id.codeAppId);
//掌心汇川拉取广告需要oaid
ZXHCUtils.SetDeviceOaid("1231wsd3242f");
}
#endif
break;
default:
Debug.unityLogger.Log(ZXADConfig.ADManagerTAG, "不支持初始化" + id.adPlatform + "的广告");
break;
}
}
callback(true);
IsInitAd = true;
}), new Action<string, string>((code, errMsg) =>
{
callback(false);
Debug.unityLogger.Log(ZXADConfig.ADManagerTAG, code + "AdInit 请求失败" + errMsg);
}));
......@@ -205,6 +221,10 @@ public class AdManager
case ZXADConfig.PLANTFORM_AD_GDT:
//广点通开屏广告
GDTSplshAdUtils.Instance.LoadSplshAd(entity, listener, callback);
break;
case ZXADConfig.PLANTFORM_AD_ZXHC:
//掌心汇川开屏广告
ZXHCSplashUtil.Instance.LoadSplshAd(entity, listener, callback);
break;
default:
Debug.unityLogger.Log(ZXADConfig.ADManagerTAG, "不支持加载" + entity.adPlatform + "的Splash广告");
......@@ -217,7 +237,7 @@ public class AdManager
//==================================================================Banner START================================================
/// <summary>
/// 关闭大图广告
/// 关闭Banner广告
/// </summary>
public void CloseBannerAd()
{
......@@ -442,12 +462,16 @@ public class AdManager
switch (entity.adPlatform)
{
case ZXADConfig.PLANTFORM_AD_TT:
//穿山甲插屏广告加载
//穿山甲大图广告加载
CSJFeedUtil.Instance.LoadCacheFeedAd(entity, callback);
break;
case ZXADConfig.PLANTFORM_AD_GDT:
//广点通插屏广告加载
//广点通大图广告加载
GDTFeedAdUtil.Instance.LoadCacheFeedAd(entity, callback);
break;
case ZXADConfig.PLANTFORM_AD_ZXHC:
//掌心汇川大图广告加载
ZXHCFeedUtil.Instance.LoadCacheFeedAd(entity, callback);
break;
default:
Debug.unityLogger.Log(ZXADConfig.ADManagerTAG, "不支持加载" + entity.adPlatform + "的大图广告");
......@@ -495,6 +519,10 @@ public class AdManager
case ZXADConfig.PLANTFORM_AD_GDT:
//广点通大图广告加载
GDTFeedAdUtil.Instance.ShowCacheFeedAd(entity, callback);
break;
case ZXADConfig.PLANTFORM_AD_ZXHC:
//掌心汇川大图广告加载
ZXHCFeedUtil.Instance.ShowCacheFeedAd(entity, callback);
break;
default:
Debug.unityLogger.Log(ZXADConfig.ADManagerTAG, "不支持Show"+entity.adPlatform+"的大图广告");
......@@ -510,6 +538,7 @@ public class AdManager
{
CSJFeedUtil.Instance.CloseFeedAd();
GDTFeedAdUtil.Instance.CloseFeedAd();
ZXHCFeedUtil.Instance.CloseFeedAd();
}
......
......@@ -29,6 +29,7 @@ public class ZXADConfig
public const string PLANTFORM_AD_SH = "shanhu";//珊瑚
public const string PLANTFORM_AD_RS = "ruishi";//瑞狮
public const string PLANTFORM_AD_NEWS = "news";//新闻站
public const string PLANTFORM_AD_ZXHC = "zxhc";//掌心汇川
......
......@@ -33,7 +33,7 @@ public class CSJBannerUtil
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......@@ -59,9 +59,10 @@ public class CSJBannerUtil
#if UNITY_ANDROID
if (mBanneAd != null)
{
mBanneAd.Dispose();
NativeAdManager.Instance().DestoryExpressAd(mBanneAd.handle);
mBanneAd = null;
}
#elif UNITY_IOS
if (mBanneAd != null)
{
......@@ -118,7 +119,7 @@ public class CSJBannerUtil
mBanneAd = bannerAdCacheListAndroid.Dequeue();
//设置轮播间隔 30s--120s;不设置则不开启轮播
mBanneAd.SetSlideIntervalTime(30 * 1000);
//mBanneAd.SetSlideIntervalTime(30 * 1000);
ExpressAdInteractionListener expressAdInteractionListener = new ExpressAdInteractionListener(this,entity,callback,1);
ExpressAdDislikeCallback dislikeCallback = new ExpressAdDislikeCallback(this, 1);
NativeAdManager.Instance().ShowExpressBannerAd(GetActivity(), mBanneAd.handle, expressAdInteractionListener, dislikeCallback);
......
......@@ -33,7 +33,7 @@ public class CSJFeedUtil : MonoBehaviour
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......@@ -43,8 +43,14 @@ public class CSJFeedUtil : MonoBehaviour
{
if (feedAd != null)
{
#if UNITY_ANDROID
NativeAdManager.Instance().DestoryExpressAd(feedAd.handle);
feedAd = null;
#elif UNITY_IOS
feedAd.Dispose();
feedAd = null;
#endif
}
}
......@@ -66,7 +72,7 @@ public class CSJFeedUtil : MonoBehaviour
#else
.SetCodeId(entity.codeId)
////期望模板广告view的size,单位dp,//高度设置为0,则高度会自适应
.SetExpressViewAcceptedSize(350, 0)
.SetExpressViewAcceptedSize(Screen.width, 0)
#endif
.SetSupportDeepLink(true)
.SetImageAcceptedSize(1080, 1920)
......
......@@ -33,7 +33,7 @@ public class CSJFullScreenUtil : MonoBehaviour
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......
......@@ -33,7 +33,7 @@ public class CSJInterstitialUtil
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......
......@@ -32,7 +32,7 @@ public class CSJRewardUtil
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......
......@@ -34,7 +34,7 @@ public class CSJSplshADUtils
this.adNative = SDK.CreateAdNative();
}
#if UNITY_ANDROID
SDK.RequestPermissionIfNecessary();
//SDK.RequestPermissionIfNecessary();
#endif
return this.adNative;
}
......
......@@ -50,6 +50,15 @@ public sealed class Example : MonoBehaviour
private ExpressAd mExpressBannerAd;
private ExpressAd mExpressInterstitialAd;
private void OnApplicationFocus(bool focus)
{
Debug.unityLogger.Log("CSJOnApplicationFocus" + focus);
}
private void OnApplicationPause(bool pause)
{
Debug.unityLogger.Log("CSJOnApplicationPause" + pause);
}
// 激励和全屏,开屏的横竖屏配置
public int getScreenOrientationConfig ()
......
......@@ -9,6 +9,7 @@ PluginImporter:
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Android: Android
......
......@@ -9,6 +9,7 @@ PluginImporter:
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Android: Android
......
......@@ -80,7 +80,10 @@ public class AdDemo : MonoBehaviour
public void OnClickInitAd()
{
//AdManager.Instance.LoadSplshAd(new SplshAdListener(this));
AdManager.Instance.InitAd();
AdManager.Instance.InitAd(new System.Action<bool>((cb)=> {
}));
}
......@@ -128,7 +131,7 @@ public class AdDemo : MonoBehaviour
public void OnClickShowBannerAd()
{
//CSJRewardUtil.Instance.LoadExpressRewardAd();
AdManager.Instance.ShowCacheBannerAd(Banner,"test");
AdManager.Instance.ShowCacheBannerAd(Banner, "test");
}
public void OnClickCloseBanner()
{
......@@ -136,12 +139,32 @@ public class AdDemo : MonoBehaviour
}
public void OnClickLoadFeed()
{
//StartCoroutine(GetAd());
AdManager.Instance.LoadCacheFeedAd(Feed);
Debug.unityLogger.Log("GetAd1");
}
private void OnApplicationFocus(bool focus)
{
Debug.unityLogger.Log("OnApplicationFocus" + focus);
}
private void OnApplicationPause(bool pause)
{
Debug.unityLogger.Log("OnApplicationPause" + pause);
}
//private IEnumerator GetAd()
//{
// yield return AdManager.Instance.LoadCacheFeedAd(Feed);
// Debug.unityLogger.Log("GetAd2");
//}
public void OnClickShowFeed()
{
AdManager.Instance.ShowCacheFeedAd(Feed, "test");
//OnClickLoadFeed();
}
public void OnClickCloseFeed()
{
......@@ -165,7 +188,7 @@ public class AdDemo : MonoBehaviour
public void OnClickPlayFullScreeVideoAd()
{
AdManager.Instance.PlayCacheFSVideoAd("fullvideo","test", new FullScreenAdListener(this));
AdManager.Instance.PlayCacheFSVideoAd("fullvideo", "test", new FullScreenAdListener(this));
//AdManager.Instance.PlayCacheFSVideoAd(new FullScreenAdListener(this));
}
......
......@@ -3025,6 +3025,11 @@ PrefabInstance:
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
......
fileFormatVersion: 2
guid: 88b26881a74130a45b9947c4b55755c1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 8bbd35f52d6a7954e9fb66f3d3f9b44a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class Example : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
ZXHCADManager.Init("1000127");
ZXHCUtils.SetDeviceOaid("1231wsd3242f");
}
// Update is called once per frame
void Update()
{
}
public void OnClickSplash()
{
AdEntity entity = new AdEntity();
entity.codeId = "1100028";
ZXHCSplashUtil.Instance.LoadSplshAd(entity, new SplshAdListener(), new Action<bool>((cb) => {
Debug.unityLogger.Log("开屏jiazai"+ cb);
}));
}
public void OnClickFeed()
{
AdEntity entity = new AdEntity();
entity.codeId = "1100023";
ZXHCFeedUtil.Instance.LoadCacheFeedAd(entity, new Action<bool>((cb) =>
{
Debug.unityLogger.Log("LoadCacheFeedAd" + cb);
if (cb)
{
ZXHCFeedUtil.Instance.ShowCacheFeedAd(entity, new Action<bool>((cb2) =>
{
Debug.unityLogger.Log("ShowCacheFeedAd" + cb);
}));
}
}));
}
private sealed class SplshAdListener : ZXADSplashListener
{
public void onAdShow()
{
Debug.unityLogger.Log("开屏展示");
}
public void onAdSkip()
{
Debug.unityLogger.Log("开屏跳过");
}
public void onError(string errorMsg)
{
Debug.unityLogger.Log("开屏错误"+ errorMsg);
}
}
}
}
fileFormatVersion: 2
guid: 4945238a353523d47b31f6151e693571
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: cb50b98bfef171a4ea884c941dd43fa3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ZXHC;
public class ZXHCFeedUtil
{
private ZXHCFeedUtil() { }
private static readonly ZXHCFeedUtil singleInstance = new ZXHCFeedUtil();
public static ZXHCFeedUtil Instance
{
get
{
return singleInstance;
}
}
//FeedAd
private ZXHCFeedAd feedAd;
/// <summary>
/// 大图广告缓存队列
/// </summary>
private static Queue<ZXHCFeedAd> feedAdCacheList = new Queue<ZXHCFeedAd>();
/// <summary>
/// 缓存加载FeedAd
/// </summary>
/// <param name="entity"></param>
/// <param name="callback"></param>
public void LoadCacheFeedAd(AdEntity entity, Action<bool> callback)
{
ZXHCFeedAd ad = new ZXHCFeedAd(entity.codeId, Screen.width, (Screen.width / 3) * 2);
ad.SetListener(new FeedAdListener(entity, ad, callback));
ad.LoadAd();
}
/// <summary>
/// 关闭大图广告
/// </summary>
public void CloseFeedAd()
{
if (feedAd != null)
{
feedAd.CLoseAD();
}
}
/// <summary>
/// 展示缓存的FeedAd
/// </summary>
/// <param name="entity"></param>
public void ShowCacheFeedAd(AdEntity entity, Action<bool> callback)
{
CloseFeedAd();
if (feedAdCacheList.Count > 0)
{
feedAd = feedAdCacheList.Dequeue();
#if UNITY_ANDROID
// Android 要求开屏 container 必须是 c# 的 AndroidJavaObject 类型,必须是 Java(Android)上的 ViewGroup 类型
AndroidJavaObject container = ZXHCUtils.NewAdContainer();
ZXHCUtils.ShowView(container, true);
feedAd.Show(container);
callback(true);
#elif UNITY_IOS
callback(false);
#endif
}
else
{
callback(false);
Debug.Log("ZXHC Feed广告没有缓存数据了");
}
}
private sealed class FeedAdListener : IZXHCFeedAdListener
{
private AdEntity entity;
private ZXHCFeedAd feedAd;
private Action<bool> callback;
public FeedAdListener(AdEntity entity, ZXHCFeedAd feedAd, Action<bool> callback)
{
this.entity = entity;
this.feedAd = feedAd;
this.callback = callback;
}
public void OnAdClicked()
{
//EventUtils.onEventAdClick(entity);
}
public void OnAdClosed()
{
//EventUtils.onEventAdComplete(entity);
}
public void OnAdLoaded()
{
//EventUtils.onEventPullSuccess(entity);
feedAdCacheList.Enqueue(feedAd);
callback(true);
}
public void OnAdShow()
{
//EventUtils.onEventShowSuccess(entity);
}
public void OnError(string code, string error)
{
//EventUtils.onEventPullFail(entity, code, error);
callback(false);
}
}
}
fileFormatVersion: 2
guid: 9aebc90bcdd21be458bd8295feb2c270
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ZXHC;
public class ZXHCSplashUtil
{
private ZXHCSplashUtil() { }
private static readonly ZXHCSplashUtil singleInstance = new ZXHCSplashUtil();
public static ZXHCSplashUtil Instance
{
get
{
return singleInstance;
}
}
private ZXHCSplashAd hcSplshad;
#if UNITY_ANDROID
private static AndroidJavaObject container;
#elif UNITY_IOS
#endif
#if UNITY_IOS
#endif
/// <summary>
/// ZXHC 开屏广告
/// </summary>
/// <param name="listener"></param>
public void LoadSplshAd(AdEntity entity, ZXADSplashListener listener, Action<bool> callback)
{
//Constants.splashPosId
hcSplshad = new ZXHCSplashAd(entity.codeId);
hcSplshad.SetListener(new SplshAdListener(entity, this, listener, callback));
hcSplshad.SetFetchDelay(3);
// SetListener, SetFetchDelay要在 LoadAd 之前调用
hcSplshad.LoadAd();
}
/// <summary>
/// ZXHC开屏回调
/// </summary>
private sealed class SplshAdListener : IZXHCSplashAdListener
{
private AdEntity entity;
private ZXADSplashListener listener;
private ZXHCSplashUtil hcAdUtils;
private Action<bool> callback;
public SplshAdListener(AdEntity entity, ZXHCSplashUtil hcAdUtils, ZXADSplashListener listener, Action<bool> callback)
{
this.entity = entity;
this.listener = listener;
this.hcAdUtils = hcAdUtils;
this.callback = callback;
}
public void OnAdClicked()
{
//EventUtils.onEventAdClick(entity);
}
public void OnAdClosed()
{
//EventUtils.onEventAdComplete(entity);
this.listener.onAdSkip();
}
public void OnAdLoaded()
{
callback(true);
//EventUtils.onEventPullSuccess(entity);
#if UNITY_ANDROID
// Android 要求开屏 container 必须是 c# 的 AndroidJavaObject 类型,必须是 Java(Android)上的 ViewGroup 类型
container = ZXHCUtils.NewAdContainer();
ZXHCUtils.ShowView(container, false);
#elif UNITY_IOS
#endif
this.hcAdUtils.hcSplshad.Show(container);
}
public void OnAdShow()
{
//EventUtils.onEventShowSuccess(entity);
this.listener.onAdShow();
}
public void OnError(string code, string error)
{
//EventUtils.onEventPullFail(entity, code, error);
this.listener.onError("ZXHC Splsh Error Code" + code + " Msg " + error);
callback(false);
}
}
}
fileFormatVersion: 2
guid: 32c6743a9ccb56f4ab53d4b34d227cb4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a388757555eaef7439df233015d9905a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c7472a95da0a2494985db19787072df4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class ZXHCFeedAd : MonoBehaviour
{
private AndroidJavaObject splashAd;
internal AndroidJavaObject container;
private string posId;
private int width;
private int height;
private AndroidJavaObject skipView;
private ZXHCFeedAdListenerProxy listenerProxy;
public ZXHCFeedAd(string posId ,int width, int height)
{
ZXHCADManager.CheckInit();
this.posId = posId;
this.width = width;
this.height = height;
this.listenerProxy = new ZXHCFeedAdListenerProxy(this);
}
private void init()
{
if (splashAd == null)
{
splashAd = new AndroidJavaObject("com.ym.zxhcsdk.view.ZXHCFeedAD", ZXHCUtils.GetActivity(), posId, width, height, listenerProxy);
}
}
public void SetListener(IZXHCFeedAdListener listener)
{
listenerProxy.listener = listener;
}
public void LoadAd()
{
if (!ZXHCADManager.CheckInit())
{
return;
}
// 由于 Android 的 fetchDelay 和 skipView 不允许动态设置,故只能延迟初始化
init();
this.splashAd.Call("loadAD");
}
public void Show(object container)
{
AndroidJavaObject splashContainer = (AndroidJavaObject)container;
if (CheckNotReady())
{
return;
}
this.splashAd.Call("showAd", splashContainer);
this.container = splashContainer;
}
public void CLoseAD()
{
if (CheckNotReady())
{
return;
}
this.splashAd.Call("destroyFeedAd", container);
}
/* 检查是否未准备好 */
private bool CheckNotReady()
{
if (!ZXHCADManager.CheckInit())
{
return true;
}
if (splashAd == null)
{
Debug.Log("请先加载广告");
return true;
}
return false;
}
}
}
fileFormatVersion: 2
guid: abd96e011f14f444ea01d94665ca9460
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class ZXHCFeedAdListenerProxy : AndroidJavaProxy
{
private ZXHCFeedAd ad;
internal IZXHCFeedAdListener listener = null;
public ZXHCFeedAdListenerProxy(ZXHCFeedAd ad) : base("com.ym.zxhcsdk.listener.FeedAdListener")
{
this.ad = ad;
}
void OnAdLoaded()
{
if (listener == null)
{
return;
}
listener.OnAdLoaded();
}
void OnError(string error)
{
if (listener == null)
{
return;
}
listener.OnError("204", error);
}
void OnAdClicked()
{
if (listener == null)
{
return;
}
listener.OnAdClicked();
}
void OnAdShow()
{
if (listener == null)
{
return;
}
listener.OnAdShow();
}
void OnAdClosed()
{
if (listener == null)
{
return;
}
listener.OnAdClosed();
}
}
}
fileFormatVersion: 2
guid: f7bcc1f7d5acfc240ae333aefa62ce58
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 1922dd319ebc3034b81367b003b5a124
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 8dd6145bf96a6544c98030870bb4bc7a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 404db19af6664974b8ff6c1960eaf29d
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:
fileFormatVersion: 2
guid: f6617ab52960bbd44b9ff372cea3b1eb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class ZXHCSplashAd
{
private AndroidJavaObject splashAd;
internal AndroidJavaObject container;
private string posId;
private int fetchDelay;
private AndroidJavaObject skipView;
private ZXHCSplashAdListenerProxy listenerProxy;
internal long expireTime;
public ZXHCSplashAd(string posId)
{
ZXHCADManager.CheckInit();
this.posId = posId;
this.listenerProxy = new ZXHCSplashAdListenerProxy(this);
}
private void init()
{
if (splashAd == null)
{
splashAd = new AndroidJavaObject("com.ym.zxhcsdk.view.ZXHCSplashAD", ZXHCUtils.GetActivity(),posId, listenerProxy, fetchDelay);
}
}
public void SetListener(IZXHCSplashAdListener listener)
{
listenerProxy.listener = listener;
}
public void LoadAd()
{
if (!ZXHCADManager.CheckInit())
{
return;
}
// 由于 Android 的 fetchDelay 和 skipView 不允许动态设置,故只能延迟初始化
init();
this.splashAd.Call("fetchAdOnly");
}
/**
* @param duration 单位秒
*/
public void SetFetchDelay(int duration)
{
this.fetchDelay = duration;
}
public void Show(object container)
{
AndroidJavaObject splashContainer = (AndroidJavaObject)container;
if (CheckNotReady())
{
return;
}
this.splashAd.Call("showAd", splashContainer);
this.container = splashContainer;
}
/* 检查是否未准备好 */
private bool CheckNotReady()
{
if (!ZXHCADManager.CheckInit())
{
return true;
}
if (splashAd == null)
{
Debug.Log("请先加载广告");
return true;
}
return false;
}
}
}
fileFormatVersion: 2
guid: abd4de4a9fb437243b5914900cc9d75b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class ZXHCSplashAdListenerProxy : AndroidJavaProxy
{
private ZXHCSplashAd ad;
internal IZXHCSplashAdListener listener = null;
public ZXHCSplashAdListenerProxy(ZXHCSplashAd ad) : base("com.ym.zxhcsdk.listener.SplashAdListener")
{
this.ad = ad;
}
void OnAdLoaded()
{
if (listener == null)
{
return;
}
listener.OnAdLoaded();
}
void OnError(string error)
{
if (listener == null)
{
return;
}
listener.OnError("204",error);
}
void OnAdClicked()
{
if (listener == null)
{
return;
}
listener.OnAdClicked();
}
void OnAdShow()
{
if (listener == null)
{
return;
}
listener.OnAdShow();
}
void OnAdClosed()
{
if (listener == null)
{
return;
}
listener.OnAdClosed();
}
}
}
fileFormatVersion: 2
guid: aeea6671fe19ff345bf67071f6aa7b2e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 65a027965c3bc93468ecc894567e248a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using Tencent.GDT;
using UnityEngine;
namespace ZXHC
{
public class ZXHCADManager
{
private static string appId;
private static bool hasInit = false;
public static bool Init(string appId)
{
#if UNITY_ANDROID
AndroidJavaObject hcAdManager = new AndroidJavaClass("com.ym.zxhcsdk.manager.ZXHCADManager").CallStatic<AndroidJavaObject>("getInstance");
hasInit = hcAdManager.Call<bool>("InitAd",ZXHCUtils.GetActivity(),appId);
return hasInit;
#elif UNITY_IOS
return hasInit;
#endif
}
internal static bool CheckInit()
{
if (!hasInit)
{
Debug.unityLogger.Log("ZXHC_UNITY_LOG", "请先初始化ZXHC SDK !");
}
return hasInit;
}
}
}
fileFormatVersion: 2
guid: 0c7b2f179e7637b4b96e70eaa9ede769
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZXHC
{
public class ZXHCUtils
{
// activity 对象,unity 只有一个 activity
private static AndroidJavaObject activity;
public static AndroidJavaObject GetActivity()
{
#if UNITY_ANDROID
if (activity == null)
{
var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
#endif
return activity;
}
public static void ShowView(AndroidJavaObject view, bool isWrapContent)
{
AndroidJavaObject adViewManager = new AndroidJavaClass("com.ym.zxhcsdk.manager.ZXHCAdViewManager").CallStatic<AndroidJavaObject>("getInstance");
adViewManager.Call("showAdView", GetActivity(), view, isWrapContent);
}
public static AndroidJavaObject NewAdContainer()
{
AndroidJavaObject adViewManager = new AndroidJavaClass("com.ym.zxhcsdk.manager.ZXHCAdViewManager").CallStatic<AndroidJavaObject>("getInstance");
return adViewManager.Call<AndroidJavaObject>("newFrameLayout", GetActivity());
}
public static void SetDeviceOaid(string oaid)
{
AndroidJavaObject phoneUtil = new AndroidJavaClass("com.ym.zxhcsdk.PhoneUtils").CallStatic<AndroidJavaObject>("getInstance");
phoneUtil.Call("setOaid", oaid);
}
public static string GetDeviceOaid()
{
AndroidJavaObject phoneUtil = new AndroidJavaClass("com.ym.zxhcsdk.PhoneUtils").CallStatic<AndroidJavaObject>("getInstance");
return phoneUtil.Call<string>("getoaid");
}
}
}
fileFormatVersion: 2
guid: ed556b1a4aba8e54f9645b0673dfbc3c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c49b41156b8258e44b507cc2a7851127
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
namespace ZXHC
{
public interface IZXHCFeedAdListener
{
/// <summary>
/// 广告数据拉取成功
/// </summary>
void OnAdLoaded();
/// <summary>
/// 广告加载失败
/// </summary>
void OnError(string code, string error);
/// <summary>
/// 当广告点击时发起的回调
/// </summary>
void OnAdClicked();
/// <summary>
/// 当广告被展示
/// </summary>
void OnAdShow();
/// <summary>
/// 当广告关闭时调用
/// </summary>
void OnAdClosed();
}
}
fileFormatVersion: 2
guid: f3bf4c46275706045a9c20b638041b4f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
namespace ZXHC
{
public interface IZXHCSplashAdListener
{
/// <summary>
/// 广告数据拉取成功
/// </summary>
void OnAdLoaded();
/// <summary>
/// 广告加载失败
/// </summary>
void OnError(string code,string error);
/// <summary>
/// 当广告点击时发起的回调
/// </summary>
void OnAdClicked();
/// <summary>
/// 当广告被展示
/// </summary>
void OnAdShow();
/// <summary>
/// 当广告关闭时调用
/// </summary>
void OnAdClosed();
}
}
fileFormatVersion: 2
guid: c3dc536e95b944c4189f8e8e69fb0bc6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a534c70bbf8b71248bc34f7d04ee2015
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public interface IOaidListener
{
void getOaid(string oaid);
}
fileFormatVersion: 2
guid: fee1cce6e89682442805dedaea6048d5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
package com.ym.zxhcsdkaar;
public interface IOaidListener {
void getOaid(String oaid);
}
fileFormatVersion: 2
guid: 38ed43c74b578884cb1293d3ac31da13
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:
package com.ym.zxhcsdkaar;
import android.content.Context;
import com.bun.miitmdid.core.ErrorCode;
import com.bun.miitmdid.core.MdidSdkHelper;
import com.bun.miitmdid.interfaces.IIdentifierListener;
import com.bun.miitmdid.interfaces.IdSupplier;
/**
* Created by zheng on 2019/8/22.
*/
public class MiitHelper implements IIdentifierListener {
private AppIdsUpdater _listener;
public MiitHelper(AppIdsUpdater callback) {
_listener = callback;
}
public boolean getDeviceIds(Context cxt) {
long timeb = System.currentTimeMillis();
int nres = CallFromReflect(cxt);
// int nres=DirectCall(cxt);
long timee = System.currentTimeMillis();
long offset = timee - timeb;
if (nres == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//1008612 不支持的设备
return false;
} else if (nres == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {//1008613 加载配置文件出错
return false;
} else if (nres == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//1008611 不支持的设备厂商
return false;
} else if (nres == ErrorCode.INIT_ERROR_RESULT_DELAY) {//1008614 获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程
return false;
} else if (nres == ErrorCode.INIT_HELPER_CALL_ERROR) {//1008615 反射调用出错
return false;
}else {
return true;
}
}
/*
* 通过反射调用,解决android 9以后的类加载升级,导至找不到so中的方法
*
* */
private int CallFromReflect(Context cxt) {
return MdidSdkHelper.InitSdk(cxt, true, this);
}
/*
* 直接java调用,如果这样调用,在android 9以前没有题,在android 9以后会抛找不到so方法的异常
* 解决办法是和JLibrary.InitEntry(cxt),分开调用,比如在A类中调用JLibrary.InitEntry(cxt),在B类中调用MdidSdk的方法
* A和B不能存在直接和间接依赖关系,否则也会报错
*
* */
/* private int DirectCall(Context cxt) {
MdidSdk sdk = new MdidSdk();
return sdk.InitSdk(cxt, this);
}*/
@Override
public void OnSupport(boolean b, IdSupplier idSupplier) {
if (idSupplier == null) {
return;
}
String oaid = idSupplier.getOAID();
if (_listener != null) {
_listener.OnIdsAvalid(oaid);
}
}
public interface AppIdsUpdater {
void OnIdsAvalid(String ids);
}
}
fileFormatVersion: 2
guid: 53f20e5066f683e40920e158cd939a81
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:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OaidListenerProxy : AndroidJavaProxy
{
internal IOaidListener listener = null;
public OaidListenerProxy() : base("com.ym.zxhcsdkaar.IOaidListener")
{
}
void getOaid(string oaid)
{
if (listener == null)
{
return;
}
listener.getOaid(oaid);
}
}
fileFormatVersion: 2
guid: 80f429c7dfbdc0341a8d065cf077335d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ZXHC;
public class OaidUtil
{
public void GetOaid()
{
AndroidJavaObject util = new AndroidJavaClass("com.ym.zxhcsdkaar.OaidUtils");
util.Call("GetOaid", ZXHCUtils.GetActivity(), new OaidListener());
}
private class OaidListener : IOaidListener
{
public void getOaid(string oaid)
{
}
}
}
fileFormatVersion: 2
guid: 102e9d3ec64affd43834416e32188cab
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
package com.ym.zxhcsdkaar;
import android.app.Activity;
import android.text.TextUtils;
public class OaidUtils {
private IOaidListener listener;
public void GetOaid(Activity activity, IOaidListener listener){
this.listener = listener;
new MiitHelper(appIdsUpdater).getDeviceIds(activity);
}
MiitHelper.AppIdsUpdater appIdsUpdater = ids -> {
if (!TextUtils.isEmpty(ids)) {
if (listener!=null){
listener.getOaid(ids);
}
}
};
}
fileFormatVersion: 2
guid: 13c80a00334ceb4408824e1b19183f84
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:
fileFormatVersion: 2
guid: 0f04dcd4b926bce449b856bbecf8d20b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 77bd1a3abc29cee49a59db7140c1af16
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 5c52c2d7272049446ac3794e540cf008
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:
fileFormatVersion: 2
guid: e3180a7cc4f188f428267651fe4618ae
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
{
"supplier":{
"vivo":{
"appid":"105390643"
},
"xiaomi":{
"appid":"2882303761518919626"
},
"huawei":{
"appid":"103530095"
},
"oppo":{
"appid":"30438717"
},
"meizu":{
"appid":"330148"
}
}
}
fileFormatVersion: 2
guid: 7058e8f39b9472943b67e34150ea0687
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -89,7 +89,10 @@ public class Splash : MonoBehaviour
#endif
Debug.unityLogger.Log("初始化广告");
AdManager.Instance.InitAd();
AdManager.Instance.InitAd(new Action<bool>((cb)=> {
}));
Debug.unityLogger.Log("加载开屏");
StartCoroutine(loadSplash());
}
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.product">
<!--必须要有的权限-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<!--最好能提供的权限-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--必须要有的权限-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<!--最好能提供的权限-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:name="com.bytedance.android.UnionApplication"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:allowBackup="true"
android:supportsRtl="true">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<application
android:name="com.bytedance.android.UnionApplication"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:allowBackup="true"
android:supportsRtl="true">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
android:authorities="${applicationId}.TTFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<provider
android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
android:authorities="${applicationId}.TTFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />
</application>
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />
</application>
</manifest>
......@@ -24,14 +24,14 @@ public final class UnionApplication extends Application {
AppliContext.init(this);
UMConfigure.setLogEnabled(true);
UMConfigure.init(this, "602f890b668f9e17b8b31413", "xynt", UMConfigure.DEVICE_TYPE_PHONE,"");
// TTAdConfig config = new TTAdConfig.Builder()
// //.appId("5001121")
// .appId("5145269")
// .useTextureView(false) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
// .appName("APP测试媒体")
// .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
// .allowShowNotify(true) //是否允许sdk展示通知栏提示
// .allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
//TTAdConfig config = new TTAdConfig.Builder()
// .appId("5001121")
// .appId("5145269")
// .useTextureView(false) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
// .appName("APP测试媒体")
// .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
// .allowShowNotify(true) //是否允许sdk展示通知栏提示
// .allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
// .debug(true) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
// .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI, TTAdConstant.NETWORK_STATE_3G) //允许直接下载的网络状态集合
// .supportMultiProcess(false) //是否支持多进程,true支持
......@@ -39,7 +39,7 @@ public final class UnionApplication extends Application {
// .build();
// // 强烈建议在应用对应的Application#onCreate()方法中调用,避免出现content为null的异常
// TTAdSdk.init(this, config);
//TTAdSdk.init(this, config);
//如果明确某个进程不会使用到广告SDK,可以只针对特定进程初始化广告SDK的content
//if (PROCESS_NAME_XXXX.equals(processName)) {
......@@ -48,44 +48,44 @@ public final class UnionApplication extends Application {
}
// private static TTCustomController getController() {
// MyTTCustomController customController = new MyTTCustomController();
// return customController;
// MyTTCustomController customController = new MyTTCustomController();
// return customController;
// }
// private static class MyTTCustomController extends TTCustomController{
// @Override
// public boolean isCanUseLocation() {
// return super.isCanUseLocation();
// private static class MyTTCustomController extends TTCustomController{
// @Override
// public boolean isCanUseLocation() {
// return super.isCanUseLocation();
// }
//
// @Override
// public TTLocation getTTLocation() {
// return super.getTTLocation();
// }
//
// @Override
// public boolean alist() {
// return super.alist();
// }
//
// @Override
// public boolean isCanUsePhoneState() {
// return super.isCanUsePhoneState();
// }
// @Override
// public TTLocation getTTLocation() {
// return super.getTTLocation();
// }
// @Override
// public boolean alist() {
// return super.alist();
// }
// @Override
// public boolean isCanUsePhoneState() {
// return super.isCanUsePhoneState();
// }
// @Override
// public String getDevImei() {
// return super.getDevImei();
// }
// @Override
// public boolean isCanUseWifiState() {
// return super.isCanUseWifiState();
//
// @Override
// public String getDevImei() {
//// return super.getDevImei();
//}
//
// @Override
//// public boolean isCanUseWifiState() {
// return super.isCanUseWifiState();
//}
//
// @Override
// public boolean isCanUseWriteExternal() {
// return super.isCanUseWriteExternal();
// }
// @Override
// public boolean isCanUseWriteExternal() {
// return super.isCanUseWriteExternal();
// }
// }
//}
}
......@@ -5,8 +5,11 @@ PluginImporter:
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Android: Android
......
fileFormatVersion: 2
guid: 31acb50e5e51909468062ece537a389a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor.Android;
using UnityEngine;
public class SupportAndroidXGradlePropertiesBuildProcessor : IPostGenerateGradleAndroidProject
{
public int callbackOrder
{
// 同种插件的优先级
get { return 999; }
}
public void OnPostGenerateGradleAndroidProject(string path)
{
Debug.Log("Bulid path : " + path);
string gradlePropertiesFile = path + "/gradle.properties";
if (File.Exists(gradlePropertiesFile))
{
File.Delete(gradlePropertiesFile);
}
StreamWriter writer = File.CreateText(gradlePropertiesFile);
writer.WriteLine("org.gradle.jvmargs=-Xmx4096M");
writer.WriteLine("android.useAndroidX=true");
writer.WriteLine("android.enableJetifier=true");
writer.Flush();
writer.Close();
}
}
fileFormatVersion: 2
guid: bbe54b3c994a4964785ac17301e39f4c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -20,4 +20,7 @@ EditorBuildSettings:
- enabled: 0
path: Assets/AdSDK/NetWork/Demo/HttpDemo.unity
guid: 1d254830c8b62484bb74d303cbb2cc3d
- enabled: 0
path: Assets/AdSDK/AD/ZXHC/ZXHCDemo/ZXHCDemo.unity
guid: cb50b98bfef171a4ea884c941dd43fa3
m_configObjects: {}
......@@ -175,7 +175,7 @@ PlayerSettings:
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier:
Android: com.ym.xynt
Android: com.ym.yzqj
Lumin: com.DefaultCompany.com.unity.template.mobile2D
Standalone: com.DefaultCompany.com.unity.template.mobile2D
iPhone: com.DefaultCompany.com.unity.template.mobile2D
......@@ -185,7 +185,7 @@ PlayerSettings:
iPhone: 0
tvOS: 0
AndroidBundleVersionCode: 1
AndroidMinSdkVersion: 19
AndroidMinSdkVersion: 21
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
aotOptions:
......@@ -282,36 +282,6 @@ PlayerSettings:
m_BuildTargetPlatformIcons:
- m_BuildTarget: Android
m_Icons:
- m_Textures: []
m_Width: 432
m_Height: 432
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 324
m_Height: 324
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 216
m_Height: 216
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 162
m_Height: 162
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 108
m_Height: 108
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 81
m_Height: 81
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 192
m_Height: 192
......@@ -372,6 +342,36 @@ PlayerSettings:
m_Height: 36
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 432
m_Height: 432
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 324
m_Height: 324
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 216
m_Height: 216
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 162
m_Height: 162
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 108
m_Height: 108
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 81
m_Height: 81
m_Kind: 2
m_SubKind:
m_BuildTargetBatching: []
m_BuildTargetEncrypting: []
m_BuildTargetGraphicsJobs:
......
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