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

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

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

Сообщение Dmitry » 07 май 2010, 06:47

Предыстория - topic24.html

1. Размещаем на сцене кнопку, в label пишем что угодно, называем PayBtn.
2. В Main.as пишем код:
  1. // http://flapps.ru/forum/ - форум о создании приложений В Контакте
  2.  
  3. package {
  4. import flash.net.*;
  5. import flash.display.*;
  6. import flash.events.*;
  7. import flash.system.Security;
  8. public class Main extends Sprite {
  9.  
  10. private var MyLoader:URLLoader=new URLLoader  ;
  11.  
  12. function onAddedToStage(e: Event):void {
  13. Security.allowDomain("*");
  14. stage.dispatchEvent(new Event(Event.DEACTIVATE));
  15. stage.dispatchEvent(new Event(Event.ACTIVATE));
  16. PayBtn.addEventListener(MouseEvent.CLICK,PayVote);
  17. }
  18.  
  19. public function PayVote(e: MouseEvent):void {
  20. wrapper.external.showPaymentBox(1);
  21. wrapper.addEventListener("onBalanceChanged", onBalanceChanged);
  22. }
  23.  
  24. function onBalanceChanged(e: Object): void {
  25. var wrapper:Object=Object(parent.parent);
  26. var request:URLRequest=new URLRequest("Путь к PHP скрипту на сервере");
  27. request.method=URLRequestMethod.POST;
  28. var vars:URLVariables=new URLVariables  ;
  29. vars['UserID']=wrapper.application.parameters.viewer_id;
  30. vars['auth_key']=wrapper.application.parameters.auth_key;
  31. request.data=vars;
  32. MyLoader.load(request);
  33. MyLoader.addEventListener(Event.COMPLETE,onComplete);
  34. }
  35.  
  36. public function onComplete(event:Event):void {
  37. //Поблагодарите юзера за пожертвование
  38. }
  39. }
  40. }


3. У себя на сервере размещаете PHP скрипт следующего содержания:
  1. <?php
  2. // http://flapps.ru/forum/ - форум о создании приложений В Контакте
  3.  
  4. require('VkApi.class.php');
  5.  
  6.  
  7. $UserID = $_POST['UserID']
  8. $auth_key = $_POST['auth_key'];
  9. $app_id = 'ID приложения';
  10. $api_secret = 'Защищенный ключ';
  11.  
  12. $real_key = md5($app_id."_".$UserID."_".$api_secret);
  13.  
  14. if ($auth_key == $real_key){
  15.  
  16. function get_url($query) {
  17. $ch = curl_init();
  18. curl_setopt($ch, CURLOPT_URL, $query);
  19. curl_setopt($ch, CURLOPT_HEADER, 0);
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  22. return curl_exec($ch);
  23. curl_close($ch);
  24. }
  25. $api = new VkApiNode($app_id, $api_secret);
  26. $query = $api->getBalance($UserID);
  27. $user_balance = new SimpleXMLElement(get_url($query));
  28.  
  29. if ($user_balance->balance >=100) {
  30. get_url($query = $api->withdrawVotes($UserID, 100));
  31. }
  32. }
  33. ?>


4. В Main.as не забудьте указать путь к этому скрипту.

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

За это сообщение автора Dmitry поблагодарили - 5:
catamount5, Евгений, FireStorm3000, Mustafin.M, Жека
Аватара пользователя
Dmitry

 
Автор темы
Сообщения: 70
Зарегистрирован: 05 дек 2009, 13:51
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.

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

Google
 



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

Сообщение dead_luminor » 07 май 2010, 07:57

Дубликат тем.
Последний раз редактировалось dead_luminor 07 май 2010, 17:34, всего редактировалось 6 раз(а).
dead_luminor

 

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

Сообщение 112 » 07 май 2010, 13:22

не фига может кто то даж не знал что такая есть а когда она появилась в уроках все ее увидят
Если ты дебил ,оставайся им!
Я бы изменил мир,но Бог не дает исходники!
Изображение
Аватара пользователя
112
Модератор
Модератор
 
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53
Благодарил (а): 51 раз.
Поблагодарили: 80 раз.

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

Сообщение lol123 » 22 май 2010, 01:01

Ругаиццо:
Line 89 1120: Access of undefined property wrapper.
lol123

 
Сообщения: 36
Зарегистрирован: 18 фев 2010, 17:19
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

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

Сообщение bodnar » 22 май 2010, 05:59

это ты в контакт залил? А в настройках контейнер включил?
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

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

Сообщение lol123 » 22 май 2010, 13:47

Нет, это при компиле приложения.
lol123

 
Сообщения: 36
Зарегистрирован: 18 фев 2010, 17:19
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

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

Сообщение Noise Gate » 22 май 2010, 14:32

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

 
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34
Откуда: СПб
Благодарил (а): 31 раз.
Поблагодарили: 64 раз.

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

Сообщение lol123 » 22 май 2010, 15:10

Noise Gate спасибо! Тоесть можно смело заливать вконтакт?
lol123

 
Сообщения: 36
Зарегистрирован: 18 фев 2010, 17:19
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

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

Сообщение Noise Gate » 22 май 2010, 16:56

lol123
попробуй, а там видно будет =))
Noise Gate

 
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34
Откуда: СПб
Благодарил (а): 31 раз.
Поблагодарили: 64 раз.

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

Сообщение lol123 » 22 май 2010, 17:37

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

 
Сообщения: 36
Зарегистрирован: 18 фев 2010, 17:19
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

След.

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



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

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

cron