Re: Кнопка "Поблагодарить за приложение"
Добавлено: 29 июн 2010, 20:12
ну я сделал просто покупку внутреней валюты в моем приложении за голоса. ссыль ниже ( в подписи)
Форум о создании приложений
https://flapps.ru/forum/
Обязательно.Евгений писал(а):а обязательно с поддержкой CURL
Код: Выделить всё
<?require('VkApi.class.php'); $app_id = 'id_приложения'; // id приложения$api_secret = 'букофки'; // Защищенный ключ с вкладки "Платежи" // Выполнение запроса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);} $auth_key = $_POST['auth_key']; // auth_key из FlashVars приложения$viewer_id = $_POST['viewer_id']; // id просматривающего приложение$uid = $viewer_id; // id просматривающего приложение // Рассчитывается ключ авторизации$real_key = md5($app_id."_".$viewer_id."_".$api_secret); if ($auth_key == $real_key){// Создание запроса$api = new VkApiNode($app_id, $api_secret);$query = $api->getAppBalance();$app_balance = new SimpleXMLElement(get_url($query));echo "app balance is ".$app_balance."!";}?>
Код: Выделить всё
function onClick(event:MouseEvent) { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("http://хостинг/getappbalance.php"); // адрес вашего скрипта request.method = URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['auth_key'] = MD5.encrypt('(id_приложения_мой_id_букофки'); //для локального тестирования vars['viewer_id'] = мой_id; //initer.wrapper.application.parameters.viewer_id; request.data = vars; loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); function onComplete(event:Event):void { var loader:URLLoader = event.target as URLLoader; trace(event.target.data); if (loader != null) { initer.varOutput = new XML(loader.data); } } }
Код: Выделить всё
<br /><b>Fatal error</b>: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /www/хостинг/getappbalance.php:35Stack trace:#0 /www/хостинг/getappbalance.php(35): SimpleXMLElement->__construct('')#1 {main} thrown in <b>/www/хостинг/getappbalance.php</b> on line <b>35</b><br /> TypeError: Error #1088: Разметка в документе, следующим за корневым элементом, должна быть в правильном формате. at Function/<anonymous>() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/onComplete()
Код: Выделить всё
$api = new VkApiNode($app_id, $api_secret);$query = $api->getAppBalance();$app_balance = new SimpleXMLElement(get_url($query));echo "app balance is ".$app_balance->balance."!";
и реклама, автоматически встраиваемая в скрипты, тоже есть? Это может быть проблемой. Проверь что приходит приложению от сервера с помощью Charles.DarkAngel-zero писал(а):Хостинг вагончик, curl есть.
Нормально, если сервер не быстрый.DarkAngel-zero писал(а):И еще: это нормально, если результат приходит через пару секунд после нажатия кнопки?
Сейчас никакой разницы.DarkAngel-zero писал(а):И если, скажем, приложение отправляет запросы с версией апи 3.0, а сервер - с версией 2.0?
Код: Выделить всё
Security.allowDomain("*");