Программирование на 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 пишем код:
Код: Выделить всё
package { import flash.net.*; import flash.display.*; import flash.events.*; import flash.text.*; import vk.VkApiNode; public class Main extends Sprite { private var api_id:Number=1728947;// id вашего приложения private var api_secret:String="3wRTB1OZo9";// секретный ключ private var api:VkApiNode; private var viewer_id; private var url_loader:URLLoader; private var url_request:URLRequest; private var query:String; private var photo_loader:Loader; private var responseAds:XML; public function Main():void { viewer_id=LoaderInfo(root.loaderInfo).parameters.viewer_id; // создаем и выполняем запрос api=new VkApiNode(viewer_id,api_id,api_secret); query=api.getAds(1);// 1 - количество возвращаемых рекламных объявлений (максимум 20). Если поменяете это значение, то придётся менять и обработку полученного ответа url_request=new URLRequest(query); url_loader=new URLLoader ; url_loader.addEventListener(Event.COMPLETE,adsLoaded); // слушатель "когда запрос будет выполнен" url_loader.load(url_request); } public function adsLoaded(event:Event):void { url_loader.removeEventListener(Event.COMPLETE,adsLoaded); responseAds=XML(url_loader.data);// создаём XML из полученных данных if (responseAds.error_code<=0) {// если нет сообщения об ошибке // загружаем изображение рекламы photo_loader=new Loader ; photo_loader.load(new URLRequest(responseAds..photo)); photo_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,photoLoaded); } else { trace('Ошибка ' + responseAds..error_msg); } } public function photoLoaded(e:Event):void { photo_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,photoLoaded); // отображаем загруженное изображение var photo:Loader=Loader(e.target.loader); photo.x=10; photo.y=10; addChild(photo); // создаем стиль для текста var myCSS = new StyleSheet(); myCSS.setStyle("p", {color:"#000000", fontFamily:"Tahoma", fontSize:11}); myCSS.setStyle("a:link", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"none"}); myCSS.setStyle("a:hover", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"underline"}); // добавляем заголовок в виде ссылки var ads_title_tf:TextField = new TextField(); ads_title_tf.styleSheet=myCSS; ads_title_tf.autoSize=TextFieldAutoSize.LEFT; ads_title_tf.selectable=false; ads_title_tf.htmlText='<b><a href="event:' + responseAds..link + '">'+responseAds..title+'</a></b>'; ads_title_tf.x=100; ads_title_tf.y=10; addChild(ads_title_tf); ads_title_tf.addEventListener(TextEvent.LINK, linkHandler); // добавляем описание var ads_desc_tf:TextField = new TextField(); ads_desc_tf.styleSheet=myCSS; ads_desc_tf.autoSize=TextFieldAutoSize.LEFT; ads_desc_tf.selectable=false; ads_desc_tf.htmlText='<p>'+responseAds..description+'</p>'; ads_desc_tf.x=100; ads_desc_tf.y=30; addChild(ads_desc_tf); } public function linkHandler(event:TextEvent):void { navigateToURL(new URLRequest(event.text), '_blank') } }}
Если вам всё равно не понятен код, то вы можете спросить в этой теме, но лучше начните с изучения чего-то ещё более простого, т.к. причина непонимания кода в недостатке знаний, и даже если вам расписать каждую строку, то к вам не придёт понимание всего кода.
3. Сохраняем изменённый Main.as и экспортируем приложение (Ctrl + Enter).
4. Загружаем приложение в контакт.
Если не знаете как загрузить в контакт готовый swf, то посмотрите как это было сделано в этом уроке topic9.html (Пункт 9).
5. Проверяем настройки приложения.
Состояние: Приложение включено и видно всем.
Контейнер приложения: Без использования контейнера.
Теперь можно проверить как работает приложение.
Если ваше приложение не одобрено, то реклама не будет отображаться.
Чтобы увидеть тестовую рекламу, измените в коде строку
Код: Выделить всё
api=new VkApiNode(viewer_id,api_id,api_secret);
Код: Выделить всё
api=new VkApiNode(viewer_id,api_id,api_secret,true);
Протестируйте приложение.
Вы должны увидеть такое:
Исходник приложения https://flapps.ru/example/getAds.rar