Pull to refresh

Приложение «Гармоничная пара». Второе дыхание!

Reading time 4 min
Views 519
Я уже писал о том, как для социальной сети «В Контакте» нами (charly, vandriichuk) было создано приложение «Гармоничная пара».
Спустя некоторое время оказалось, что серьезные приложения никому не нужны. Тоесть приложение, которое ищет гармоничную пару по асценденту, оказалось невостребованным.

Как сказала одна девушка «Зачем мне такое пессимистичное приложение? Я хочу развлекательное!».

Тогда и было принято решение нарастить функционал приложения. Добавить несколько развлекательных моментов.


Что же мы сделали?



Мы добавили раздел «Приколы». В этом разделе можно отправить другу/подргуе аудио-прикол или flash-открытку (все это можно выбрать из списка, добавить свой сопроводительный текст).

Аудио-приколы и открытки носят комический характер (например, можно бросить в друга помидором или признаться в любви). Их приятно получать :)

Но отправка такого рода сообщений предполагает отправку пользователям уведомлений о том, что они получили новое аудио-сообщение или открытку.

Вот тут нам и попался первый подводный камень.

Для отправки уведомлений необходимо Защищенное взаимодействие приложения с API.
Защищенное взаимодействие приложения с API, в отличие от стандартного, проходит без участия клиента и осуществляется между API ВКонтакте и собственным удаленным сервером разработчика.

Взаимодействие приложения с API ВКонтакте производится путем создания HTTP-запроса (POST или GET) к api.vkontakte.ru/api.php.


Документация по этому вопросу, как мне кажется, — не достаточная. Пришлось методом проб и ошибок, днем и ночью искать решение. Так как я флешер, а не php-проггер, пришлось немного поковыряться в мануалах и пообщаться с некоторыми людьми. В результате через день был написан скрипт (спасибо людям с клуба разработчиков вКонтакте).

Привожу код php скрипта, который получает id пользователей и сообщение, которое им надо показать в уведомлении.

<?php

$uids=$_POST['notify_uids'];
$send_m=$_POST['notify_message'];

$api = array();
$api['api_id'] = 'ID моего приложения'; // ID приложения
$api['method'] = "secure.sendNotification";
$api['random'] = mt_rand(100000,9999999); // хотя можно и побольше диапазон
$api['timestamp'] = time(); // время unixtime на сервере, и оно не должно отличаться от времени Контакта более чем на 150 сек
$api['v'] = "2.0";
$api['uids'] = $uids;
$api['message'] = $send_m;

ksort($api); // сортируем массив в порядке возрастания имени параметра, т.е. ключа массива
$api_sig = "Секретный ключ, который можно найти на вкладке Платежи";
$sig_src = '';
foreach($api as $api_key => $api_value) $sig_src .= ($api_key.'='.$api_value);
$sig_src .= $api_sig;
$api['sig'] = md5($sig_src);

$finish_string='';
foreach($api as $api_key => $api_value) $finish_string .= ($api_key.'='.$api_value.'&');

$finish_string= substr($finish_string, 0, strlen($finish_string)-1);

$api_request = 'api.vkontakte.ru/api.php?'.$finish_string;

$url = "http://api.vkontakte.ru/api.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, $finish_string); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);
echo $result;

?>




Кроме раздела с приколами было добавлено еще несколько вкусностей.
Была расширена характеристика по асценденту (добавили разделы быт, машина, пища, отношения, карьера и т.д.).
Некоторые моменты приложение были полностью переделаны.

И как результат, через несколько дней после завершения всех работ над приложением, пользователи начали добавлять его к себе и непосредственно им пользоваться.

Количество уникальных просмотров выросло в 3 раза (из скромных 70 уников в день до скромных 210).

Хоть это и не очень много, но все равно приятно! Есть стимул работать дальше.

Немного о заработке


Заработать на своем приложении можно! Но для этого оно должно быть популярным.
Зарабатываются голоса (валюта вКонтакте), которые выводятся через платежные системы или продаются на «черном рынке».

Есть два основных способа заработать голоса:
  • продавать виртуальные вещи/услуги внутри приложения за голоса пользователей.
  • показывать таргетинговую рекламу от вКонтакте.


Вот с таргетинговой рекламой случился второй подводный камень.

Незаметно для всех администрация ВКонтакте убрала рекламу, которая показывалась слева под меню на страницах приложения. Если раньше надо было просто в настройках разрешить показывать рекламу на старнице собственного приложения, то сейчас надо внутри приложения отправлять запрос к API для поолучения такой рекламы. Метод, который при этом используется, не описан в Документации API ВКонтакте.

О нем говорят только в клубе разработчиков.
Тоесть если ты новичек и не сделал ни одного приложения, то об этом ты никак не узнаешь.


Начинаем тестировать новый метод getAds.
С его помощью можно получать до 10 таргетированных рекламных модулей, направленных на текущего пользователя.
Метод имеет единственный параметр count, который может быть использован для ограничения количества возвращаемых объявлений. По умолчанию этот параметр равен 10.

Начиная с 20 июля все приложения, имеющие стороннюю рекламу, будут вынуждены перейти на использование таргетированных объявлений ВКонтакте.



Рекламный модуль состоит из несколких полей:
title
descrition
photo
link

Причем линк не будет работать, если его не обработать таким способом:

link = String(xml.link).split('&').join('&');


Строчка кода находит html символ &amp и меняет его на &.

Заключение


Надеюсь, данный пост был Вам интересен. Я попытался раскрыть несколько моментов, которые тяжело найти в Интернете.

Напоследок, хочу пожелать Вам найти свою Гармоничную пару! И не зайбывайте о своих друзьях. Они тоже хотят получить прикол :)
Tags:
Hubs:
+2
Comments 3
Comments Comments 3

Articles