Начиная с января 2014 года, в своих приложениях я использовал Vungle. На тот момент это была одна из самых прибыльных рекламных сетей для мобильных приложений и одна из немногих, поддерживающих рекламные видеоролики.
Интерфейс Vungle в 2014 году
Общий доход, суммарный и по месяцам, можно было посмотреть на странице аккаунта. Ключевое слово — «было».
Через 2 года ситуация изменилась — Unity представила свою рекламную сеть, куда ушло множество разработчиков и рекламодателей, а Vungle решил сделать редизайн.
Изначально показалось, что все нормально, но ровно до того момента, как я решил посмотреть баланс на аккаунте. Облазив все страницы, найти его так не получилось, кроме вкладки с отчетами о доходах, которые загружаются в виде .csv файла. Выглядят они примерно так:
Благодаря формулам в Excel кое-как удалось вычленить данные о доходах и сложить, но это, мягко говоря, было не очень удобно. Тогда же было принято решение в новых приложениях использовать Unity Ads. Спустя время решил зайти и посмотреть доход у старых приложений за прошедший год, но тут ждал сюрприз.
Сначала очень удивился, подумал, что баг, но потом заметил плашку сверху.
Перейдя по ссылке, нахожу единственный способ посмотреть доход. Вот он. К сожалению, только для конкретного приложения, а не для всего аккаунта.
Ладно. Подумал, что API вернет мне немного текста, где я увижу общий доход. Получил ключ аккаунта, составил ссылку и перешел. API вернуло мне ЭТО. Как и раньше, доход высвечивался только для одного дня, без каких-либо итогов, но теперь еще и с разбивкой по странам. Большое спасибо.
Разозлившись, решил дойти до конца. Написал приложение на Unity, которое загружает по ссылкам json, обрабатывает и складывает общий доход.
#pragma strict
import System;
class MainMainVungle{
var mvungle: MainVungle;
}
class MainVungle {
var vungle: Vungle[];
}
class Vungle {
var date: String;
var impressions: int;
var views: int;
var completes: int;
var clicks: int;
var revenue: float;
var eCPM: float;
var geo_eCPMs: VunlgeCounty[];
}
class VunlgeCounty {
var country: String;
var views: int;
var clicks: int;
var revenue: float;
var eCPM: float;
}
var apps: String[];
private var url: String = "https://ssl.vungle.com/api/applications/{0}?key=[ВАШ КЛЮЧ API]&start={1}&end={2}&geo=all";
private var templateJson: String = '{"vungle":';
var startDate = "2016-09-27";
var mmvungle: MainMainVungle[];
var revenue: float;
function Start () {
var cTime: Date = System.DateTime.Now;
var i: int;
for (i = 0; i< apps.Length; i++){
var cUrl = String.Format(url, apps[i], startDate, cTime.Year+"-"+StringTime(cTime.Month)+"-"+StringTime(cTime.Day));
var www : WWW = new WWW(cUrl);
yield www;
var json: String = templateJson+ www.text+"}";
mmvungle[i].mvungle = JsonUtility.FromJson(json, MainVungle);
Debug.Log("Loading "+apps[i]);
}
for (i = 0; i< mmvungle.Length; i++){
for (var v: int = 0; v< mmvungle[i].mvungle.vungle.Length; v++){
revenue+=mmvungle[i].mvungle.vungle[v].revenue;
}
}
Debug.Log("Revenue: "+revenue);
}
function StringTime(v: int){
if (v < 10){return "0"+v;}
else {return ""+v;}
}
В итоге, все же удалось получить данные о доходе.
Интересно, зачем Vungle так старательно пытается усложнить жизнь своим пользователям?
Автор: varlamov5264