Esempio n. 1
0
        IEnumerator RequestAd(VreoAdCanvas.MediaType mediaType, VreoAdCanvas.Category category, string spotId, bool isClickable, RandomAdRequestCallback callback = null)
        {
            // request and wait for advertiser id
            RequestAdvertisingIdentifier();
            yield return(new WaitWhile(() => HasAdvertiserId && _advertiserIdSupportEnabled));

            // create new request
            var randomAdRequest = new AdRequest
            {
                ID_GameDev         = developerId,
                str_DevAccessToken = developerAccessToken,
                ID_Game            = developerGameId,
                ID_MediaType       = (int)mediaType,
                ID_Category        = (int)category,
                ID_Spot            = spotId,
                str_Device         = DeviceId,
                dat_Timestamp      = GetTimestampString()
            };

            if (LocationServiceHelper.Instance.LocationReceived)
            {
                randomAdRequest.dec_Latitude  = LocationServiceHelper.Instance.LastLocation.latitude;
                randomAdRequest.dec_Longitude = LocationServiceHelper.Instance.LastLocation.longitude;
            }

            var jsonString = JsonUtility.ToJson(randomAdRequest);

            var pData = System.Text.Encoding.ASCII.GetBytes(jsonString.ToCharArray());

            var request = CreateWebRequest(isClickable ? RequestRandomClickableAdUrl : RequestRandomAdUrl, pData);

            // Wait until the response is returned
            yield return(request.SendWebRequest());

            if (!string.IsNullOrEmpty(request.error))
            {
                if (Debug.isDebugBuild)
                {
                    print("Error response: " + request.error);
                    print("Error Message: " + request.downloadHandler.text);
                }

                var randomVreoResponse = new VreoResponse
                {
                    success = false, result = new Result {
                        ID_MediaType = randomAdRequest.ID_MediaType
                    }
                };

                callback?.Invoke(randomVreoResponse);
            }
            else
            {
                var randomVreoResponse = JsonUtility.FromJson <VreoResponse>(request.downloadHandler.text);
                callback?.Invoke(randomVreoResponse);
            }
        }
Esempio n. 2
0
        // ==============================================================================
        // RequestRandomAd
        // ==============================================================================

        public static void RequestRandomAd(VreoAdCanvas.MediaType mediaType, VreoAdCanvas.Category category, string spotId, bool isClickable, RandomAdRequestCallback callback)
        {
            Instance.StartCoroutine(Instance.RequestAd(mediaType, category, spotId, isClickable, callback));
        }