public void SetUpPurchasePlaneOnAndroid(string productID)
        {
            AdRewardType rewardType = AdRewardType.BagSlot_2;

            MyAdType adType = MyAdType.CPAd;

            if (productID.Equals(PurchaseManager.extra_bag_2_id))
            {
                rewardType = AdRewardType.BagSlot_2;
                adType     = MyAdType.RewardedVideoAd;
            }
            else if (productID.Equals(PurchaseManager.extra_bag_3_id))
            {
                rewardType = AdRewardType.BagSlot_3;
                adType     = MyAdType.RewardedVideoAd;
            }
            else if (productID.Equals(PurchaseManager.extra_equipmentSlot_id))
            {
                rewardType = AdRewardType.EquipmentSlot;
                adType     = MyAdType.RewardedVideoAd;
            }
            else if (productID.Equals(PurchaseManager.gold_100_id))
            {
                rewardType = AdRewardType.Gold;
                adType     = MyAdType.RewardedVideoAd;
            }

            switch (Application.internetReachability)
            {
            case NetworkReachability.NotReachable:
                hintHUD.SetUpSingleTextTintHUD("无网络连接");
                break;

            case NetworkReachability.ReachableViaCarrierDataNetwork:
            case NetworkReachability.ReachableViaLocalAreaNetwork:
                if (productID.Equals(PurchaseManager.gold_100_id))
                {
                    purchasePendingHUD.SetUpPurchasePendingHUDOnAndroid(productID, adType, rewardType, delegate
                    {
                        BuyRecord.Instance.RecordLastGoldAdTime();
                        Player.mainPlayer.totalGold += 100;
                        GameManager.Instance.persistDataManager.UpdateBuyGoldToPlayerDataFile();
                        if (ExploreManager.Instance != null)
                        {
                            ExploreManager.Instance.expUICtr.UpdatePlayerGold();
                        }
                    }, null);
                }
                else
                {
                    purchasePendingHUD.SetUpPurchasePendingHUDOnAndroid(productID, adType, rewardType, delegate
                    {
                        bagItemsDisplay.UpdateBagTabs();
                    }, null);
                }

                break;
            }
        }
Ejemplo n.º 2
0
        private void OnRewardFail(MyAdType adType)
        {
            if (adFailCallBack != null)
            {
                adFailCallBack(adType);
            }

            string purchaseResult = "广告未播放完成,请稍后重试";

            tintHUD.SetUpSingleTextTintHUD(purchaseResult);

            QuitPurchasePendingHUD();
        }
Ejemplo n.º 3
0
        public void SetUpPurchasePlaneOnAndroid(string productID)
        {
            AdRewardType rewardType = AdRewardType.Life;

            MyAdType adType = MyAdType.RewardedVideoAd;

            if (productID.Equals(PurchaseManager.skill_point_id))
            {
                rewardType = AdRewardType.SkillPoint;
                adType     = MyAdType.CPAd;
            }
            else if (productID.Equals(PurchaseManager.new_life_id))
            {
                rewardType = AdRewardType.Life;
                adType     = MyAdType.RewardedVideoAd;
            }

            switch (Application.internetReachability)
            {
            case NetworkReachability.NotReachable:
                hintHUD.SetUpSingleTextTintHUD("无网络连接");
                break;

            case NetworkReachability.ReachableViaCarrierDataNetwork:
            case NetworkReachability.ReachableViaLocalAreaNetwork:
                if (productID.Equals(PurchaseManager.new_life_id))
                {
                    QuitFight();
                    HideFullMask();
                    purchaseHUD.SetUpPurchasePendingHUDOnAndroid(productID, adType, rewardType, delegate(MyAdType myAdType) {
                        PlayerPartlyRecomeToLifeCallBack();
                    }, delegate {
                        buyLifeQueryHUD.SetUpWhenADUnexpectedFailOnAndroid(delegate {
                            SetUpPurchasePlaneOnAndroid(PurchaseManager.new_life_id);
                        }, CancelBuyLife);
                    });
                }
                else if (productID.Equals(PurchaseManager.skill_point_id))
                {
                    enterExitHUD.QuitEnterExitHUD();
                    purchaseHUD.SetUpPurchasePendingHUDOnAndroid(productID, adType, rewardType, delegate(MyAdType myAdType) {
                        PlayerGetASkillPointReward();
                    }, null);
                }
                break;
            }
        }
Ejemplo n.º 4
0
        private void OnWatchAdSuccess(MyAdType adType)
        {
            string purchaseResult = string.Empty;

            if (currentPurchasingItemId.Equals(PurchaseManager.extra_bag_2_id))
            {
                purchaseResult = "解锁背包2";
            }
            else if (currentPurchasingItemId.Equals(PurchaseManager.extra_bag_3_id))
            {
                purchaseResult = "解锁背包3";
            }
            else if (currentPurchasingItemId.Equals(PurchaseManager.extra_bag_4_id))
            {
                purchaseResult = "解锁背包4";
            }
            else if (currentPurchasingItemId.Equals(PurchaseManager.extra_equipmentSlot_id))
            {
                purchaseResult = "解锁装备槽7";
            }
            else if (currentPurchasingItemId.Equals(PurchaseManager.gold_100_id))
            {
                //needUpdatePlayerGold = true;
                int goldGain = 0;
                if (currentPurchasingItemId == PurchaseManager.gold_100_id)
                {
                    goldGain = 100;
                }

                purchaseResult = string.Format("金币 + {0}", goldGain);
            }
            else if (currentPurchasingItemId.Equals(PurchaseManager.skill_point_id))
            {
                purchaseResult = "技能点 + 1";
            }

            tintHUD.SetUpSingleTextTintHUD(purchaseResult);

            BuyRecord.Instance.PurchaseSuccess(currentPurchasingItemId);

            if (adSuccessCallBack != null)
            {
                adSuccessCallBack(adType);
            }

            QuitPurchasePendingHUD();
        }
Ejemplo n.º 5
0
        //广告进行展示
        static public void ShowAd(MyAdType myAdType, AdCallBack successCallBack, AdCallBack failCallBack, AdCallBack adRewardFailCallBack)
        {
            // 传入当前广告的播放回调
            TGController.adSuccessCallBack    = successCallBack;
            TGController.adFailureCallBack    = failCallBack;
            TGController.adRewardFailCallBack = adRewardFailCallBack;

            isRewardVedioSuccuss  = false;
            isRewardVedioComplete = false;

            string sceneId = "";

            switch (myAdType)
            {
            case MyAdType.CPAd:
                sceneId = cpAdId;
                break;

            case MyAdType.RewardedVideoAd:
                sceneId = rewardedVideoId;
                break;
            }

            Debug.Log(TGSDK.CouldShowAd(sceneId));

            // 如果可以播放广告,则播放广告
            if (TGSDK.CouldShowAd(sceneId))
            {
                currentAdType = myAdType;
                TGSDK.ShowAd(sceneId);
            }
            else
            {
                if (failCallBack != null)
                {
                    failCallBack(myAdType);
                }
                Debug.Log(sceneId);
            }
        }
Ejemplo n.º 6
0
        public void SetUpPurchasePendingHUDOnAndroid(string productId, MyAdType myAdType, AdRewardType adRewardType, AdCallBack sucessCallBack, AdCallBack failCallBack)
        {
#if !UNITY_ANDROID && !UNITY_EDITOR
            return;
#endif

            this.currentAdType = myAdType;

            Time.timeScale = 0;

            currentPurchasingItemId = productId;

            this.adSuccessCallBack = sucessCallBack;
            this.adFailCallBack    = failCallBack;

            gameObject.SetActive(true);

            pendingTint.gameObject.SetActive(false);

            string query = string.Empty;

            switch (adRewardType)
            {
            case AdRewardType.BagSlot_2:
                query = "观看广告后可\n<color=orange>解锁背包2</color>\n是否确认观看广告?";
                queryWatchADHUD.SetUpQueryWatchAdHUD(query, OnConfirmWatchAd, QuitPurchasePendingHUD);
                break;

            case AdRewardType.BagSlot_3:
                query = "观看广告后可\n<color=orange>解锁背包3</color>\n是否确认观看广告?";
                queryWatchADHUD.SetUpQueryWatchAdHUD(query, OnConfirmWatchAd, QuitPurchasePendingHUD);
                break;

            case AdRewardType.EquipmentSlot:
                query = "观看广告后可\n<color=orange>解锁装饰槽</color>\n是否确认观看广告?";
                queryWatchADHUD.SetUpQueryWatchAdHUD(query, OnConfirmWatchAd, QuitPurchasePendingHUD);
                break;

            case AdRewardType.Gold:
                double timeSpanInSeconds = 0;
                bool   canRewatch        = CheckCanReWatchGoldAd(out timeSpanInSeconds);
                if (canRewatch)
                {
                    query = "观看广告后可\n<color=orange>获得100金币</color>\n是否确认观看广告?";
                    queryWatchADHUD.SetUpQueryWatchAdHUD(query, OnConfirmWatchAd, QuitPurchasePendingHUD);
                }
                else
                {
                    int minuteLeft  = (1800 - (int)timeSpanInSeconds) / 60;
                    int secondsLeft = (1800 - (int)timeSpanInSeconds) % 60;
                    query = string.Format("<color=orange>{0}{1}:{2}{3}</color>后可以重新观看广告",
                                          minuteLeft < 10 ? "0" : "",
                                          minuteLeft,
                                          secondsLeft < 10 ? "0": "",
                                          secondsLeft);
                    queryWatchADHUD.SetUpQueryWatchAdHUDWhenCantWatch(query, timeSpanInSeconds, delegate {
                        query = "观看广告后可\n<color=orange>获得100金币</color>\n是否确认观看广告?";
                        queryWatchADHUD.SetUpQueryWatchAdHUD(query, OnConfirmWatchAd, QuitPurchasePendingHUD);
                    }, QuitPurchasePendingHUD);
                }

                break;

            case AdRewardType.Life:
                OnConfirmWatchAd();
                QuitPurchasePendingHUD();
                break;

            case AdRewardType.SkillPoint:
                OnConfirmWatchAd();
                QuitPurchasePendingHUD();
                break;
            }
        }