Beispiel #1
0
    /// <summary>
    /// 获取下一个广告并播放
    /// </summary>
    /// <param name="_AdPlayType"></param>
    void ShowAdHandler(AdPlayType _AdPlayType)
    {
        IAD nextAd = adSdkList[nextAdSdk].Ad;

        AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_Start(nextAd.Name, _AdPlayType, false);

        switch (_AdPlayType)
        {
        case AdPlayType.Banner:
            nextAd.ShowBanner();
            break;

        case AdPlayType.Interstitial:
            Debug.Log("ShowAdHandler Interstitial ==test==插页播放成功: timeScale=" + Time.timeScale);
            nextAd.ShowInterstitial();
            break;

        case AdPlayType.RewardedVideo:
            Debug.Log("ShowAdHandler ShowRewardedVideo ==test==插页播放成功: timeScale=" + Time.timeScale);
            nextAd.ShowRewardedVideo();
            break;

        default:
            break;
        }
    }
Beispiel #2
0
 /// <summary>
 /// 购买去除广告
 /// </summary>
 public void OnPurchaseClicked()
 {
     currentBuy            = buy_adRemove;
     buyItemCompleteEvent += buyItemDic[currentBuy].OnBuy;
     controller.InitiatePurchase(currentBuy);
     AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_Start("RemoveAd");
 }
Beispiel #3
0
 /// <summary>
 /// 展示视屏奖励
 /// </summary>
 public void ShowRewardedVideo()
 {
     AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_Start(adSdkList[0].Ad.Name, AdPlayType.RewardedVideo);
     adSdkList[0].Ad.ShowRewardedVideo();
     //GameParse();
     Debug.Log("==test==视频奖励广告开始播放: timeScale=" + Time.timeScale);
 }
Beispiel #4
0
 void DisplayBanner()
 {
     timer   = 0;
     isClick = true;
     bannerImage.gameObject.SetActive(true);
     isBannerOn = true;
     AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_NativeAd(Name, "show", currentBanner.name, currentJumpUrl);
     AllSDKManager.SDKDebug("++++++ texture.name;" + NativeAdAssetsDataWWW.GetAssets(currentIndex).texture.name, "cyan");
 }
Beispiel #5
0
    private void Start()
    {
        instance = this;
        name     = "SDKController";
        DontDestroyOnLoad(this.gameObject);
        // Config.setUUID();//获取并设置设备ID
        MyUtili.MyUtilities.initUUID();
        //针对UnityAds做的特殊初始化处理(=======Start
        //它为啥和别的Ad初始化不一样?
        //因为unity的广告调用要开他娘的携程,
        //开携程就要继承mono,
        //继承mono就他娘的不能用new,
        //这就是下面这几行蛋疼的代码在这里的原因
        GameObject unityAds = new GameObject();

        unityAds.name = "UnityAds";
        unityAds.AddComponent <UnityAds>();
        DontDestroyOnLoad(unityAds);
        //================End)

        ////对于AppsFlyerManager的初始化处理
        //GameObject AppsFlyerManager = new GameObject();
        //AppsFlyerManager.name = "AppsFlyerManager";
        //AppsFlyerManager.AddComponent<AppsFlyerManager>();
        //DontDestroyOnLoad(AppsFlyerManager);

        //对于NativeAnalytics的初始化处理
        GameObject NativeAnalytics = new GameObject();

        NativeAnalytics.name = "NativeAnalytics";
        NativeAnalytics.AddComponent <NativeAnalytics>();
        DontDestroyOnLoad(NativeAnalytics);

        //对于原生广告的初始化处理
        //GameObject nativeAds = new GameObject();
        //nativeAds.name = "NativeAds";
        //nativeAds.AddComponent<NativeAds>();
        //DontDestroyOnLoad(nativeAds);
        AllSDKManager.Init();
        MyUtili.MyUtilities.initUUID();
        AllSDKManager.GetSDK <AdSdk>().IsEnable = Config.isRemovedAD() ? false : true;
        //AllSDKManager.GetSDK<AdSdk>().IsEnable = true;
        AllSDKManager.SDKDebug(Config.isRemovedAD().ToString());



        AdShowControl.GameContinueCountNumber  = 2;
        AdShowControl.CompleteRetryCountNumber = 2;
        AdShowControl.CompleteGameCountNumber  = 3;
    }
Beispiel #6
0
    /// <summary>
    /// 内购失败
    /// </summary>
    /// <param name="i"></param>
    /// <param name="p">失败原因</param>
    public void OnPurchaseFailed(Product i, PurchaseFailureReason p)
    {
        string failed = "内购失败";

        AllSDKManager.SDKDebug(Name + "内购失败");
        switch (p)
        {
        case PurchaseFailureReason.PurchasingUnavailable:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("系统购买功能不可用");
            break;

        case PurchaseFailureReason.ExistingPurchasePending:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("在请求新购买时,购买已在进行中");
            break;

        case PurchaseFailureReason.ProductUnavailable:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("该商品无法在商店购买");
            break;

        case PurchaseFailureReason.SignatureInvalid:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("购买收据的签名验证失败");
            break;

        case PurchaseFailureReason.UserCancelled:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("用户选择取消而不是继续购买");
            break;

        case PurchaseFailureReason.PaymentDeclined:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("付款有问题");
            break;

        case PurchaseFailureReason.DuplicateTransaction:
            AllSDKManager.GetSDK <AdSdk>().IsEnable = false;
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("事务已成功完成时出现重复的事务错误");
            break;

        case PurchaseFailureReason.Unknown:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End("未知失败");
            break;

        default:
            break;
        }
        if (buyItemCompleteEvent != null)
        {
            buyItemCompleteEvent(failed);
        }
        AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End(failed);
    }
Beispiel #7
0
 /// <summary>
 /// 展示插页
 /// </summary>
 public void ShowInterstitial()
 {
     if (IsEnable)//如果广告是开启的并且是播放广告的时间 再播放广告
     {
         //  if (IsEnable && (GameManager.levelLoaded > 10))
         // {
         AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_Start(adSdkList[0].Ad.Name, AdPlayType.Interstitial);
         adSdkDic[typeof(IronSourceAds)].Ad.ShowInterstitial();
         //adSdkDic[typeof(ApplovinAds)].Ad.ShowInterstitial();
         //GameParse();
         //Time.timeScale = 0;
         Debug.Log("==test==插页广告开始播放: timeScale=" + Time.timeScale);
         // isAdTime = false;
     }
 }
Beispiel #8
0
    public void ClickBanner()
    {
        if (NativeAdAssetsDataWWW.GetAssets(currentIndex) != null)
        {
            string jumpUrl = NativeAdAssetsDataWWW.GetAssets(currentIndex).jumpUrl;
            currentJumpUrl = jumpUrl;
        }

        if (isClick)
        {
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_NativeAd(Name, "click", currentBanner.name, currentJumpUrl);
            isClick = false;
        }
        AllSDKManager.SDKDebug("点击了原生Banner", "cyan");
        Application.OpenURL(currentJumpUrl);
    }
Beispiel #9
0
    /// <summary>
    /// 展示横幅
    /// </summary>
    public void ShowBanner()
    {
        AllSDKManager.SDKDebug(Name + " 展示横幅");
        switch (adType)
        {
        case AdType.Native:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_Start(NativeAds.Instance.Name, AdPlayType.Banner);
            NativeAds.Instance.ShowBanner();
            break;

        case AdType.Third:
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_Start(adSdkList[0].Ad.Name, AdPlayType.Banner);
            adSdkList[0].Ad.ShowBanner();
            break;

        default:
            break;
        }
    }
Beispiel #10
0
 /// <summary>
 /// 视频奖励广告回调
 /// </summary>
 /// <param name="result"></param>
 void RewardedFinished(ShowResult result)
 {
     if (result == ShowResult.Finished)
     {
         Debug.Log(Name + " RewardedVideo播放成功");
         AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, true, AdPlayType.RewardedVideo);
     }
     else
     if (result == ShowResult.Failed)
     {
         Debug.Log(Name + " RewardedVideo播放失败");
         AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, false, AdPlayType.RewardedVideo, "播放失败");
     }
     else
     if (result == ShowResult.Skipped)
     {
         Debug.Log(Name + " RewardedVideo跳过播放");
         AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, true, AdPlayType.RewardedVideo, "跳过播放");
     }
 }
Beispiel #11
0
    /// <summary>
    /// 插页广告回调
    /// </summary>
    /// <param name="result"></param>
    void VideoFinished(ShowResult result)
    {
        switch (result)
        {
        case ShowResult.Failed:
            Debug.Log(Name + " Interstitial播放失败");
            AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, false, AdPlayType.Interstitial, "播放失败");
            break;

        case ShowResult.Skipped:
            Debug.Log(Name + " Interstitial跳过播放");
            AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, true, AdPlayType.Interstitial, "跳过播放");
            break;

        case ShowResult.Finished:
            Debug.Log(Name + " Interstitial播放成功");
            AllSDKManager.GetSDK <AdSdk>().IsAdDone(Name, true, AdPlayType.Interstitial);
            break;

        default:
            break;
        }
    }
Beispiel #12
0
 public void ShowInterstitial()
 {
     AllSDKManager.GetSDK <AdSdk>().ShowInterstitial();
 }
Beispiel #13
0
 public void ShowBanner()
 {
     AllSDKManager.GetSDK <AdSdk>().ShowBanner();
 }
Beispiel #14
0
 public void Event_Button()
 {
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <UmengSdk>().Event_Button("测试页面", "测试按钮");
 }
Beispiel #15
0
 public void Init()
 {
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <UmengSdk>().Init();
 }
Beispiel #16
0
    //public void Event_Level_Source()
    //{
    //   AllSDKManager.GetSDK<UmengSdk>().Event_Button("关卡得分");

    //    AllSDKManager.GetSDK<UmengSdk>().Event_Level_Source(1.ToString(),100.ToString());
    //}
    //public void Event_Level_Pass()
    //{
    //    AllSDKManager.GetSDK<UmengSdk>().Event_Button("通关");

    //    AllSDKManager.GetSDK<UmengSdk>().Event_Level_Pass(1.ToString(),"通过");

    //}
    //public void Event_Level_Star()
    //{
    //   AllSDKManager.GetSDK<UmengSdk>().Event_Button("关卡得星");

    //    AllSDKManager.GetSDK<UmengSdk>().Event_Level_Star(1.ToString(), 3.ToString());
    //}

    //public void Event_Level_Hint()
    //{
    //    AllSDKManager.GetSDK<UmengSdk>().Event_Button("提示");
    //    AllSDKManager.GetSDK<UmengSdk>().Event_Level_Hint("-1");
    //}
    //public void Event_Level_Ad()
    //{
    //    AllSDKManager.GetSDK<UmengSdk>().Event_Level_Ad(1.ToString(),"没看广告");
    //    AllSDKManager.GetSDK<UmengSdk>().Event_Button("广告");


    //}
    public void Event_Test_Level()
    {
        AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <UmengSdk>().Event_Test("-1", "我是第一句话", "我是第二句话");
    }
Beispiel #17
0
 public void Event_Level_Leave()
 {
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <UmengSdk>().Event_Button("测试页面", "退出关卡");
     //AllSDKManager.GetSDK<UmengSdk>().Event_Button("测试页面", "离开关卡");
     //AllSDKManager.GetSDK<UmengSdk>().Event_Level_Leave("-1",1, "1000", 3);
 }
Beispiel #18
0
 public void Event_Level_Enter()
 {
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <UmengSdk>().Event_Button("测试页面", "进入关卡");
     //AllSDKManager.GetSDK<UmengSdk>().Event_Level_Enter("-1");
 }
Beispiel #19
0
 public void sendMessage111111111111()
 {
     Debug.Log("666");
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <NativeAnalytics>().Event_Button("TestPage", "Quit");
     AllSDKManager.GetSDK <AllAnalyticsSdk>().GetAnalythicsSdk <NativeAnalytics>().Test();
 }
Beispiel #20
0
    /// <summary>
    /// 内购完成
    /// </summary>
    /// <param name="e"></param>
    /// <returns></returns>
    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
    {
        Debug.Log(Name + "=======内购完成的函数执行Start");
        if (buyItemDic.ContainsKey(args.purchasedProduct.definition.storeSpecificId))//如果商品id匹配则执行其恢复购买
        {
            buyItemDic[args.purchasedProduct.definition.storeSpecificId].OnReStore();
            Debug.Log(Name + "price:" + args.purchasedProduct.metadata.localizedPriceString);
            Debug.Log(Name + args.purchasedProduct.metadata.localizedTitle + args.purchasedProduct.metadata.localizedDescription);

            //交易号
            Debug.Log(Name + "storeSpecificId:" + args.purchasedProduct.definition.storeSpecificId);

            //回执单
            Debug.Log(Name + "receipt:" + args.purchasedProduct.receipt);

            //商品的id号
            Debug.Log(Name + "transactionID:" + args.purchasedProduct.transactionID);

            Debug.Log(Name + "成功了!!!!");
        }
        if (String.Equals(args.purchasedProduct.definition.id, buy_adRemove, StringComparison.Ordinal))
        {
            AllSDKManager.GetSDK <AdSdk>().IsEnable = false;
            //移除广告
            Config.RemovedAD();
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_End();
            Debug.Log("去除广告");
            var    product  = controller.products.WithID(buy_adRemove);
            string receipt  = product.receipt;
            string currency = product.metadata.isoCurrencyCode;
            int    amount   = decimal.ToInt32(product.metadata.localizedPrice * 100);
#if UNITY_ANDROID
            Receipt        receiptAndroid = JsonUtility.FromJson <Receipt>(receipt);
            PayloadAndroid receiptPayload = JsonUtility.FromJson <PayloadAndroid>(receiptAndroid.Payload);
            //AllSDKManager.GetSDK<AppsFlyerManager>().Event_BusinessGooglePlay(currency, amount, "Ad");
#endif
#if UNITY_IOS
            Receipt receiptiOS     = JsonUtility.FromJson <Receipt>(receipt);
            string  receiptPayload = receiptiOS.Payload;
            //AppsFlyerManager.Instance.Event_BusinessAppStore(currency, amount, "Ad");
#endif
        }
        else if (String.Equals(args.purchasedProduct.definition.id, buy_goldBrick, StringComparison.Ordinal))
        {
            var    product  = controller.products.WithID(buy_goldBrick);
            string receipt  = product.receipt;
            string currency = product.metadata.isoCurrencyCode;
            int    amount   = decimal.ToInt32(product.metadata.localizedPrice * 100);
#if UNITY_ANDROID
            Receipt        receiptAndroid = JsonUtility.FromJson <Receipt>(receipt);
            PayloadAndroid receiptPayload = JsonUtility.FromJson <PayloadAndroid>(receiptAndroid.Payload);
            //AllSDKManager.GetSDK<AppsFlyerManager>().Event_BusinessGooglePlay(currency, amount, "Ad");
#endif
#if UNITY_IOS
            Receipt receiptiOS     = JsonUtility.FromJson <Receipt>(receipt);
            string  receiptPayload = receiptiOS.Payload;
            //AppsFlyerManager.Instance.Event_BusinessAppStore(currency, amount, "Ad");
#endif
            Debug.Log("购买金币");
            if (PlayerPrefs.HasKey("goldBrick"))
            {
                Globle.goldBrickNum = PlayerPrefs.GetInt("goldBrick");
                PlayerPrefs.DeleteKey("goldBrick");
            }
            Globle.goldBrickNum += 200;
            PlayerPrefs.SetInt("goldBrick", Globle.goldBrickNum);
        }
        return(PurchaseProcessingResult.Complete);
    }
Beispiel #21
0
 public void ShowRewardedVideo()
 {
     AllSDKManager.GetSDK <AdSdk>().ShowRewardedVideo();
 }
Beispiel #22
0
 /// <summary>
 /// 购买金砖
 /// </summary>
 public void OnPurchaseClicked2()
 {
     controller.InitiatePurchase(buy_goldBrick);
     AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_IAP_Start("BuyGoldBrick");
 }
Beispiel #23
0
 public void OnClickBuy()
 {
     AllSDKManager.GetSDK <UnityIAP>().OnPurchaseClicked();
 }
Beispiel #24
0
 public void Init()
 {
     AllSDKManager.GetSDK <AdSdk>().Init();
 }
Beispiel #25
0
    /// <summary>
    /// 广告播放情况
    /// </summary>
    /// <param name="_isSuccess">是否播放成功</param>
    /// <param name="_AdPlayType">广告类型(banner/interstitial/rewardedVideo)</param>
    /// <param name="_failed">如果失败,失败原因</param>
    public void IsAdDone(string _adTeam, bool _isSuccess, AdPlayType _AdPlayType, string _failed = "")
    {
        AllSDKManager.SDKDebug(Name + "_isSuccess:" + _isSuccess + "  AdPlayType:" + _AdPlayType + " _failed:" + _failed);
        if (_isSuccess)//如果播放成功了
        {
            AllSDKManager.SDKDebug(Name + "播放成功");
            if (_AdPlayType != AdPlayType.Banner)//不是banner的情况下才可以记录广告观看状态
            {
                AllSDKManager.GetSDK <AllAnalyticsSdk>().IsLookAd = true;
            }
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_End(_adTeam, _AdPlayType);

            nextAdSdk = 0;

            //如果是视频奖励广告并且玩家没有跳过则去拿奖励,如果跳过则按失败处理
            if (_AdPlayType == AdPlayType.RewardedVideo)
            {
                if (_failed == "")
                {
                    GetRewarded();
                }
                else
                {
                    if (isAdRewardedDone != null)
                    {
                        isAdRewardedDone(false);
                    }
                }
                GameResume();
                Debug.Log("==test==视频奖励播放失败: timeScale=" + Time.timeScale);
            }
            else
            if (_AdPlayType == AdPlayType.Interstitial)
            {
                if (_failed == "")
                {
                    InterstitialDone();
                }
                else
                {
                    if (isAdInterstitialDone != null)
                    {
                        isAdInterstitialDone(false);
                    }
                }
                GameResume();
                Debug.Log("==test==插页播放失败: timeScale=" + Time.timeScale);
            }

            return;
        }
        else//当前的广告商的广告播放失败
        {
            AllSDKManager.SDKDebug(Name + " ==失败== " + "_isSuccess:" + _isSuccess + "  AdPlayType:" + _AdPlayType + " _failed:" + _failed);
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_End(_adTeam, _AdPlayType, _failed);
            GameResume();
            Debug.Log("==test==视频奖励播放失败222222: timeScale=" + Time.timeScale);
        }

        nextAdSdk++;                      //移位下一个广告商
        if (nextAdSdk >= adSdkList.Count) //没有可供播放的广告商的失败情况
        {
            AllSDKManager.SDKDebug(Name + "no can used team");
            AllSDKManager.GetSDK <AllAnalyticsSdk>().IsLookAd = false;
            AllSDKManager.GetSDK <AllAnalyticsSdk>().Event_Ad_End(_adTeam, _AdPlayType, "no");
            GameResume();
            nextAdSdk = 0;
            if (_AdPlayType == AdPlayType.RewardedVideo)//奖励视频通知不能获得奖励
            {
                if (isAdRewardedDone != null)
                {
                    GameResume();
                    Debug.Log("==test==视频奖励播放失败: timeScale=" + Time.timeScale);
                    isAdRewardedDone(false);
                }
            }
            else if (_AdPlayType == AdPlayType.Interstitial)//插页视频 失败要恢复游戏时间
            {
                if (isAdInterstitialDone != null)
                {
                    GameResume();
                    Debug.Log("==test==插页播放失败: timeScale=" + Time.timeScale);
                    isAdInterstitialDone(false);
                }
            }
            return;
        }

        ShowAdHandler(_AdPlayType);//如果上面那家广告商的广告没有成功投放 则取下一家的继续尝试播放
    }