Esempio n. 1
0
 public void AdRequest(AdUnitData adData, Action <string> callback)
 {
     if (adData.adType == AdsConfiguration.AdType.Fullscreen)
     {
         if (callback != null)
         {
             Garter.I._AddCatchCbListener <string>(Garter._CachedListener._AdState, callback);
         }
         if (!adData.editorMode)
         {
             _gb_adRequest(JsonUtility.ToJson(new SpData(2, adData.mutedGame, adData.cursorLockState, adData.visibleCursor)));
         }
         else
         {
             Debug.LogWarning("Ads work after uploading to GameArter and using GameArter gameplayer");
         }
     }
     else
     {
         Debug.Log("Only fullscreen ads are supported on web platform");
         if (callback != null)
         {
             callback("unsupported");
         }
     }
 }
Esempio n. 2
0
    public void AdRequest(AdUnitData adData, Action <string> callback)
    {
        if (Garter.I.adMobAds != null)
        {
            switch (adData.adType)
            {
            case AdsConfiguration.AdType.Fullscreen:
                Garter.I.adMobAds.FullscreenAd(adData.channelId, callback);
                break;

            case AdsConfiguration.AdType.Rewarded:
                Garter.I.adMobAds.RewardedAds(adData.channelId, callback);
                break;

            case AdsConfiguration.AdType.Banner:
                Garter.I.adMobAds.BannerAd(adData, callback);
                break;

            case AdsConfiguration.AdType.Native:
                if (callback != null)
                {
                    callback("unsupported");                    // in progress
                }
                break;
            }
        }
        else
        {
            Debug.LogError("adMob instance does not exist");
        }
    }
Esempio n. 3
0
        public async Task <IActionResult> Modify([FromBody] AdUnitModels.Modify.Request request)
        {
            // Check session validation
            if (await CheckSessionValidationAndSignOutAsync() == false)
            {
                return(APIResponse(ErrorCode.InvalidSession));
            }

            // Check valid parameters
            if (request == null || request.IsValidParameters() == false)
            {
                return(APIResponse(ErrorCode.InvalidParameters));
            }

            DBKey      adUnitId   = request.AdUnitId;
            AdUnitData adUnitData = new AdUnitData();

            // Check validation
            if (await adUnitData.FromDBAsync(adUnitId) == false)
            {
                return(APIResponse(ErrorCode.InvalidParameters));
            }

            if (UserId != adUnitData.UserId)
            {
                return(APIResponse(ErrorCode.BadRequest));
            }

            // Update to db
            var updateQuery = new DBQuery_AdUnit_Update();
            var item        = updateQuery.IN.Item;

            request.Copy(item);
            item.UserId = UserId;
            if (await DBThread.Instance.ReqQueryAsync(updateQuery) == false)
            {
                return(APIResponse(ErrorCode.DatabaseError));
            }

            // Response
            var response = new AdUnitModels.Modify.Response();

            if (await response.FromDBAsync(item.AdUnitId) == false)
            {
                return(APIResponse(ErrorCode.DatabaseError));
            }

            return(Success(response));
        }
Esempio n. 4
0
 public bool FromDataTable(DataTable table)
 {
     try
     {
         foreach (DataRow row in table.Rows)
         {
             var item = new AdUnitData();
             item.FromDBTable(row);
             Items.Add(item);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 5
0
        public async Task <IActionResult> Delete([FromBody] AdUnitModels.Delete.Request request)
        {
            // Check session validation
            if (await CheckSessionValidationAndSignOutAsync() == false)
            {
                return(APIResponse(ErrorCode.InvalidSession));
            }

            // Check valid parameters
            if (request == null || request.IsValidParameters() == false)
            {
                return(APIResponse(ErrorCode.InvalidParameters));
            }

            DBKey      adUnitId   = request.AdUnitId;
            AdUnitData adUnitData = new AdUnitData();

            // Check validation
            if (await adUnitData.FromDBAsync(adUnitId) == false)
            {
                return(APIResponse(ErrorCode.DatabaseError));
            }

            if (UserId != adUnitData.UserId)
            {
                return(APIResponse(ErrorCode.BadRequest));
            }

            // Delete from db
            var deleteQuery = new DBQuery_AdUnit_Delete();

            deleteQuery.IN.DBKey = request.AdUnitId;
            if (await DBThread.Instance.ReqQueryAsync(deleteQuery) == false)
            {
                return(APIResponse(ErrorCode.DatabaseError));
            }

            // Response
            return(Success());
        }
Esempio n. 6
0
    public void AdRequest(AdUnitData adData, Action <string> callback)
    {
        if (adData.defined)
        {
            string  adText     = "Ad " + adData.unitId + ". Adtype: " + adData.adType.ToString();
            Vector2 adSize     = new Vector2(0, 0);
            Vector2 adPosition = new Vector2(0, 0);;
            string  adName     = adData.unitId;

            if (adData.adType != AdsConfiguration.AdType.Banner)
            {
                adSize     = new Vector2(Screen.width - 30, Screen.height - 120);
                adPosition = new Vector2(0, -50);

                /*
                 * switch (adData.adType)
                 * {
                 *  case AdsConfiguration.AdType.Fullscreen:
                 *      adSize = new Vector2(Screen.width - 50, Screen.height - 50);
                 *      adPosition = new Vector2(0, 0);
                 *      break;
                 *  case AdsConfiguration.AdType.Rewarded:
                 *      adSize = new Vector2(Screen.width - 50, Screen.height - 50);
                 *      adPosition = new Vector2(0, 0);
                 *      break;
                 * }
                 */
                IllustrateFeature(adName, adText, adSize, adPosition, false, callback);
            }
            else
            {
                // on basis of action
                if (adData.action == Garter.BannerAction.Display)
                {
                    if (adData.mPosition)
                    {
                        adSize = new Vector2(adData.sizeXY[0], adData.sizeXY[1]);
                        float xDist = -(Screen.width / 2) + adData.positionXY[0];
                        float yDist = -(Screen.height / 2) + adData.positionXY[1];
                        adPosition = new Vector2(xDist, yDist);
                    }
                    else
                    {
                        adSize = new Vector2(320, 50);
                        // convert size
                        switch (adData.size)
                        {
                        case Garter.BannerSize.Banner: adSize = new Vector2(320, 50); break;

                        case Garter.BannerSize.IABBanner: adSize = new Vector2(468, 60); break;

                        case Garter.BannerSize.MediumRectangle: adSize = new Vector2(300, 250); break;

                        case Garter.BannerSize.Leaderboard: adSize = new Vector2(728, 90); break;

                        case Garter.BannerSize.SmartBanner: adSize = new Vector2(320, 50); break;
                        }

                        float xDist = 0;
                        float yDist = 0;
                        // convert position
                        switch (adData.position)
                        {
                        case Garter.BannerPosition.Bottom:
                            xDist = 0;
                            yDist = -(Screen.height / 2) + (adSize[1] / 2);
                            break;

                        case Garter.BannerPosition.BottomLeft:
                            xDist = -(Screen.width / 2);
                            yDist = -(Screen.height / 2) + (adSize[1] / 2);
                            break;

                        case Garter.BannerPosition.BottomRight:
                            xDist = (Screen.width / 2) - adSize[0];
                            yDist = -(Screen.height / 2) + (adSize[1] / 2);
                            break;

                        case Garter.BannerPosition.Center:
                            xDist = 0;
                            yDist = 0;
                            break;

                        case Garter.BannerPosition.Top:
                            xDist = 0;
                            yDist = (Screen.height / 2) - (adSize[1] / 2);
                            break;

                        case Garter.BannerPosition.TopLeft:
                            xDist = -(Screen.width / 2);
                            yDist = (Screen.height / 2) - (adSize[1] / 2);
                            break;

                        case Garter.BannerPosition.TopRight:
                            xDist = (Screen.width / 2) - adSize[0];
                            yDist = (Screen.height / 2) - (adSize[1] / 2);
                            break;
                        }
                        adPosition = new Vector2(xDist, yDist);
                        IllustrateFeature(adName, adText, adSize, adPosition, true, callback);
                    }
                }
                else
                {
                    RemoveSelectedFeatureBox(adName);
                }
            }
        }
    }