Вывод рекламы в одобренном приложении (метод getAds)

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.

Вывод рекламы в одобренном приложении (метод getAds)

Сообщение Александр » 05 янв 2010, 14:15

Вывод рекламы в одобренном приложении (метод getAds)

Программирование на Action Script 3, в среде Adobe Flash CS4.

Если ваше приложение не одобрено, то реклама в нём не будет отображаться. Если вы хотите просто попробовать, то можно будет использовать тестовый режим (об этом в конце урока).

Для работы с ВКонтакте API, будет использована библиотека VkApi. http://vkontakte.ru/club10009135
Эта библиотека давно не обновлялась, но я внёс в неё небольшие изменения, для работы с getAds. Измененная библиотека находиться в архиве с исходником, в конце этого урока.
Если вам интересно какие это изменения, откройте файл VkApiNode.as и поищите в нём "getAds".

1. Создаём Новый документ (Flash File), создаём новый as-файл (называем Main.as). Сохраняем и подключаем Main.as к fla файлу.
Если не знаете как подключить Main.as, то посмотрите как это было сделано в этом уроке topic9.html (Пункт 7).

2. В файле Main.as пишем код:
  1. package {
  2.     import flash.net.*;
  3.     import flash.display.*;
  4.     import flash.events.*;
  5.     import flash.text.*;
  6.     import vk.VkApiNode;
  7.  
  8.     public class Main extends Sprite {
  9.         private var api_id:Number=1728947;// id вашего приложения
  10.         private var api_secret:String="3wRTB1OZo9";// секретный ключ
  11.         private var api:VkApiNode;
  12.         private var viewer_id;
  13.         private var url_loader:URLLoader;
  14.         private var url_request:URLRequest;
  15.         private var query:String;
  16.         private var photo_loader:Loader;
  17.         private var responseAds:XML;
  18.  
  19.         public function Main():void {
  20.             viewer_id=LoaderInfo(root.loaderInfo).parameters.viewer_id;
  21.             // создаем и выполняем запрос
  22.             api=new VkApiNode(viewer_id,api_id,api_secret);
  23.             query=api.getAds(1);// 1 - количество возвращаемых рекламных объявлений (максимум 20). Если поменяете это значение, то придётся менять и обработку полученного ответа
  24.             url_request=new URLRequest(query);
  25.             url_loader=new URLLoader  ;
  26.             url_loader.addEventListener(Event.COMPLETE,adsLoaded); // слушатель "когда запрос будет выполнен"
  27.             url_loader.load(url_request);
  28.         }
  29.  
  30.         public function adsLoaded(event:Event):void {
  31.             url_loader.removeEventListener(Event.COMPLETE,adsLoaded);
  32.             responseAds=XML(url_loader.data);// создаём XML из полученных данных
  33.             if (responseAds.error_code<=0) {// если нет сообщения об ошибке
  34.                 // загружаем изображение рекламы
  35.                 photo_loader=new Loader  ;
  36.                 photo_loader.load(new URLRequest(responseAds..photo));
  37.                 photo_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,photoLoaded);
  38.             } else {
  39.                 trace('Ошибка ' + responseAds..error_msg);
  40.             }
  41.         }
  42.  
  43.         public function photoLoaded(e:Event):void {
  44.             photo_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,photoLoaded);
  45.             // отображаем загруженное изображение
  46.             var photo:Loader=Loader(e.target.loader);
  47.             photo.x=10;
  48.             photo.y=10;
  49.             addChild(photo);
  50.  
  51.             // создаем стиль для текста
  52.             var myCSS = new StyleSheet();
  53.             myCSS.setStyle("p", {color:"#000000", fontFamily:"Tahoma", fontSize:11});
  54.             myCSS.setStyle("a:link", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"none"});
  55.             myCSS.setStyle("a:hover", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"underline"});
  56.  
  57.             // добавляем заголовок в виде ссылки
  58.             var ads_title_tf:TextField = new TextField();
  59.             ads_title_tf.styleSheet=myCSS;
  60.             ads_title_tf.autoSize=TextFieldAutoSize.LEFT;
  61.             ads_title_tf.selectable=false;
  62.             ads_title_tf.htmlText='<b><a href="event:' + responseAds..link + '">'+responseAds..title+'</a></b>';
  63.             ads_title_tf.x=100;
  64.             ads_title_tf.y=10;
  65.             addChild(ads_title_tf);
  66.             ads_title_tf.addEventListener(TextEvent.LINK, linkHandler);
  67.  
  68.             // добавляем описание
  69.             var ads_desc_tf:TextField = new TextField();
  70.             ads_desc_tf.styleSheet=myCSS;
  71.             ads_desc_tf.autoSize=TextFieldAutoSize.LEFT;
  72.             ads_desc_tf.selectable=false;
  73.             ads_desc_tf.htmlText='<p>'+responseAds..description+'</p>';
  74.             ads_desc_tf.x=100;
  75.             ads_desc_tf.y=30;
  76.             addChild(ads_desc_tf);
  77.         }
  78.  
  79.         public function linkHandler(event:TextEvent):void {
  80.             navigateToURL(new URLRequest(event.text), '_blank')
  81.         }
  82.     }
  83. }

Код достаточно прокомментирован. При наличии каких-то знаний, вы сможете его понять.
Если вам всё равно не понятен код, то вы можете спросить в этой теме, но лучше начните с изучения чего-то ещё более простого, т.к. причина непонимания кода в недостатке знаний, и даже если вам расписать каждую строку, то к вам не придёт понимание всего кода.

3. Сохраняем изменённый Main.as и экспортируем приложение (Ctrl + Enter).

4. Загружаем приложение в контакт.
Если не знаете как загрузить в контакт готовый swf, то посмотрите как это было сделано в этом уроке topic9.html (Пункт 9).

5. Проверяем настройки приложения.
Состояние: Приложение включено и видно всем.
Контейнер приложения: Без использования контейнера.

Теперь можно проверить как работает приложение.

Если ваше приложение не одобрено, то реклама не будет отображаться.
Чтобы увидеть тестовую рекламу, измените в коде строку

на


Создайте новый swf и загрузите его в контакт.
Протестируйте приложение.

Вы должны увидеть такое:
Изображение

Исходник приложения Чтобы увидеть ссылку - зарегистрируйтесь

За это сообщение автора Александр поблагодарил:
Petechkin
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение BIOS » 05 янв 2010, 14:56

Отличный урок!
Аватара пользователя
BIOS
КИДАЛА!
 
Сообщения: 68
Зарегистрирован: 04 ноя 2009, 10:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение psix55 » 05 янв 2010, 16:51

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
это получается если залить приложение в контакт!
Ошибка Incorrect signature
это получается если не заливать в контакт!!!
Приложение проверенно!, секретные ключи введены правильно!
В чём может быть проблема???
Если хочешь помочь голодному, не давай ему рыбы, дай ему удочку.
Аватара пользователя
psix55
Модератор
Модератор
 
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16
Благодарил (а): 17 раз.
Поблагодарили: 74 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение BIOS » 05 янв 2010, 17:30

psix55 проблема в тебе хДДД

Качай исходник, там все правильно работает!
Аватара пользователя
BIOS
КИДАЛА!
 
Сообщения: 68
Зарегистрирован: 04 ноя 2009, 10:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение psix55 » 05 янв 2010, 18:25

у тебя у самого то есть прверенное или одобренное приложение??? :?: :?: :?: :?: :?: :?:
Если хочешь помочь голодному, не давай ему рыбы, дай ему удочку.
Аватара пользователя
psix55
Модератор
Модератор
 
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16
Благодарил (а): 17 раз.
Поблагодарили: 74 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение Александр » 05 янв 2010, 21:25

psix55
Опиши подробнее что ты делаешь. Или даже просто дай ссылку на своё приложение.
В "проверенных" приложениях реклама не будет отображаться. Но и такой ошибки не будет.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение psix55 » 05 янв 2010, 21:54

В проверенных приложениях реклама отображается!!!(проверял на AS2) :D

ссылку приложения кинул в ЛС!
Пожалуйста посмотрите приложение сегодня, т.к завтра я заменю его на настоящие приложение)))

Изображение
Если хочешь помочь голодному, не давай ему рыбы, дай ему удочку.
Аватара пользователя
psix55
Модератор
Модератор
 
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16
Благодарил (а): 17 раз.
Поблагодарили: 74 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение Александр » 05 янв 2010, 22:13

psix55 писал(а):В проверенных приложениях реклама отображается!!!(проверял на AS2)

Может быть отображается, но прибыль не идёт? В описании написано, что прибыль идёт только с одобренных, но я не проверял.

psix55 писал(а):ссылку приложения кинул в ЛС!Пожалуйста посмотрите приложение сегодня, т.к завтра я заменю его на настоящие приложение)))

Проверил. В Opera, FireFox - всё отлично работает.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение psix55 » 05 янв 2010, 22:24

прибыль то не идёт, но реклама показывается!!!
Проверил. В Opera, FireFox - всё отлично работает.


Вы видели саму рекламу???
Если хочешь помочь голодному, не давай ему рыбы, дай ему удочку.
Аватара пользователя
psix55
Модератор
Модератор
 
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16
Благодарил (а): 17 раз.
Поблагодарили: 74 раз.

Re: Вывод рекламы в одобренном приложении (метод getAds)

Сообщение Александр » 05 янв 2010, 22:27

psix55
Да, видел.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

След.

Вернуться в Неактуальные уроки (API 2.0 и устаревшие методы)



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron