Страница 1 из 10

Кнопка "Поблагодарить за приложение"

Добавлено: 07 май 2010, 06:47
Dmitry
Предыстория - http://flapps.ru/forum/topic24.html

1. Размещаем на сцене кнопку, в label пишем что угодно, называем PayBtn.
2. В Main.as пишем код:

Код: Выделить всё

// http://flapps.ru/forum/ - форум о создании приложений В Контакте package {import flash.net.*;import flash.display.*;import flash.events.*;import flash.system.Security;public class Main extends Sprite { private var MyLoader:URLLoader=new URLLoader  ; function onAddedToStage(e: Event):void {Security.allowDomain("*");stage.dispatchEvent(new Event(Event.DEACTIVATE));stage.dispatchEvent(new Event(Event.ACTIVATE));PayBtn.addEventListener(MouseEvent.CLICK,PayVote);} public function PayVote(e: MouseEvent):void {wrapper.external.showPaymentBox(1);wrapper.addEventListener("onBalanceChanged", onBalanceChanged);} function onBalanceChanged(e: Object): void { var wrapper:Object=Object(parent.parent);var request:URLRequest=new URLRequest("Путь к PHP скрипту на сервере");request.method=URLRequestMethod.POST;var vars:URLVariables=new URLVariables  ;vars['UserID']=wrapper.application.parameters.viewer_id;vars['auth_key']=wrapper.application.parameters.auth_key;request.data=vars;MyLoader.load(request);MyLoader.addEventListener(Event.COMPLETE,onComplete);} public function onComplete(event:Event):void {//Поблагодарите юзера за пожертвование}}}
3. У себя на сервере размещаете PHP скрипт следующего содержания:

Код: Выделить всё

<?php// http://flapps.ru/forum/ - форум о создании приложений В Контакте require('VkApi.class.php');  $UserID = $_POST['UserID']; $auth_key = $_POST['auth_key'];$app_id = 'ID приложения'; $api_secret = 'Защищенный ключ'; $real_key = md5($app_id."_".$UserID."_".$api_secret); if ($auth_key == $real_key){ function get_url($query) {$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $query);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT, 10);return curl_exec($ch);curl_close($ch);}$api = new VkApiNode($app_id, $api_secret);$query = $api->getBalance($UserID);$user_balance = new SimpleXMLElement(get_url($query)); if ($user_balance->balance >=100) {get_url($query = $api->withdrawVotes($UserID, 100));}}?>
4. В Main.as не забудьте указать путь к этому скрипту.

UPD: Александр: В комментах пишут, что код в уроке не рабочий. Приведен рабочий код http://flapps.ru/forum/topic437-30.html#p5549

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 07 май 2010, 07:57
dead_luminor
Дубликат тем.

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 07 май 2010, 13:22
112
не фига может кто то даж не знал что такая есть а когда она появилась в уроках все ее увидят

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 01:01
lol123
Ругаиццо:
Line 89 1120: Access of undefined property wrapper.

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 05:59
bodnar
это ты в контакт залил? А в настройках контейнер включил?

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 13:47
lol123
Нет, это при компиле приложения.

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 14:32
Noise Gate
lol123
для локального тестирования с контейнером я использую wrapper-заглушку, чтобы не было вот таких вот неприятностей

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 15:10
lol123
Noise Gate спасибо! Тоесть можно смело заливать вконтакт?

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 16:56
Noise Gate
lol123
попробуй, а там видно будет =))

Re: Кнопка "Поблагодарить за приложение"

Добавлено: 22 май 2010, 17:37
lol123
Еще интересно, как это работает.
Пользователь вносит голоса на баланс приложения, и после нажатия на кнопку, они переносятся на баланс приложения моего аккаунта?