Отправка уведомлений через приложение (showRequestBox)

Готовые уроки IFrame + ВКонтакте API

Отправка уведомлений через приложение (showRequestBox)

Сообщение Александр » 24 мар 2012, 16:55

Отправка уведомлений через приложение (showRequestBox)

С 16 марта ВКонтакте была запущена новая система уведомлений через приложения. Теперь пользователи могут отправлять друг другу сообщения внутри приложения.

- Новые запросы увеличивают счетчик рядом с разделом «Приложения» у получателя
- Получателю выводится всплывающее уведомление о новом запросе
- Блок новых запросов выводится в верхней части раздела «Приложения»

С 1 апреля 2012 года использование методов saveWallPost и wall.post для публикаций сообщений на чужих стенах будет закрыто. Записи на своей странице можно будет совершать при помощи wall.post только для категории Приложения (не Игры).

Более подробно можно почитать здесь http://vk.com/topic-1_26154225

Для использования этой системы создан метод Javascript API - showRequestBox.
Можно прочитать о нем в официальной документации http://vk.com/developers.php?oid=-1&p=Javascript_API

Понять как использовать методы метод Javascript API можно прочитав урок Вызов методов Javascript API, обработка событий.

В этом уроке будет приведен пример работы с методом showRequestBox.


Метод showRequestBox
Параметры: int uid, string message, string requestKey
Открывает окно отправки запроса пользователю uid (должен быть другом текущего пользователя) с текстом message, и произвольным дополнительным параметром requestKey. С помощью данного метода пользователь может оповестить о событии в приложении своих друзей, даже если у них оно не установлено. При просмотре запроса получателем будут переданы параметры request_key и request_id. После действия пользователя может быть вызвано одно из трёх событий: onRequestSuccess, onRequestCancel, onRequestFail.

request_key можно использовать для того чтобы показывать пользователю определенный контент, в зависимости от значения этого параметра.

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
  5.  
  6. <script type="text/javascript" charset="cp1251" >
  7. window.onload = (function() {
  8.     VK.init(function() {
  9.  
  10.         var uid = 1306422; // id пользователя, которому будет отправлять запрос
  11.         var mess = 'flapps.ru'; // текст сообщения
  12.         var requestKey = 'my_key'; // дополнительный параметр
  13.        
  14.         // открывает окно отправки запроса пользователю
  15.         VK.callMethod("showRequestBox", uid, mess, requestKey)
  16.      
  17.         // события после действий пользователя
  18.         VK.addCallback("onRequestSuccess", onRequestSuccess);
  19.         function onRequestSuccess() {
  20.             alert('onRequestSuccess');
  21.         }
  22.        
  23.         VK.addCallback("onRequestCancel", onRequestCancel);
  24.         function onRequestCancel() {
  25.             alert('onRequestCancel');
  26.         }    
  27.        
  28.         VK.addCallback("onRequestFail", onRequestFail);
  29.         function onRequestFail() {
  30.             alert('onRequestFail');
  31.         }
  32.    
  33.     });
  34. });
  35. </script>
  36. </head>
  37. <body>
  38. <a href="http://flapps.ru">http://flapps.ru</a>
  39. </body>
  40. </html>



Заходим в редактирование приложения

Настройки - Права доступа
Запрашивать доступ к: доступ к ответам

Подробнее о правах приложения http://vk.com/developers.php?oid=-1&p=% ... 0%B8%D0%B9

За это сообщение автора Александр поблагодарили - 4:
Mihailow_du, Mike, ukhov, XELAD
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Google
 



Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение anton37 » 24 мар 2012, 21:16

Чуть видоизменил скрипт, что уведомление отправлялось случайному другу:

  1. <script type="text/javascript" charset="cp1251" >
  2. window.onload = (function() {
  3.     VK.init(function() {
  4.  
  5.     VK.api("getFriends", {fields:"uid"}, function(data) {
  6.  
  7.         friend_n = Math.floor(Math.random()*$(data.response).size());
  8.         friend_id = data.response[friend_n].uid;
  9.  
  10.         var uid = data.response[friend_n].uid;
  11.         var mess = 'тарарарарарараарар'; // Ваш текст сообщения
  12.         var requestKey = 'my_key'; // дополнительный параметр
  13.        
  14.         // открывает окно отправки запроса пользователю
  15.         VK.callMethod("showRequestBox", uid, mess, requestKey);
  16.      
  17.         // события после действий пользователя
  18.         VK.addCallback("onRequestSuccess", onRequestSuccess);
  19.         function onRequestSuccess() {
  20.             alert('onRequestSuccess');
  21.         }
  22.        
  23.         VK.addCallback("onRequestCancel", onRequestCancel);
  24.         function onRequestCancel() {
  25.             alert('onRequestCancel');
  26.         }    
  27.        
  28.         VK.addCallback("onRequestFail", onRequestFail);
  29.         function onRequestFail() {
  30.             alert('onRequestFail');
  31.         }
  32.    
  33.     });
  34.     });
  35. });
  36. </script>

За это сообщение автора anton37 поблагодарил:
Cypporat
Аватара пользователя
anton37

 
Сообщения: 56
Зарегистрирован: 14 ноя 2010, 18:22
Откуда: Иваново
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение sakogr » 24 мар 2012, 21:55

anton37 писал(а):Чуть видоизменил скрипт, что уведомление отправлялось случайному другу:

  1. <script type="text/javascript" charset="cp1251" >
  2. window.onload = (function() {
  3.     VK.init(function() {
  4.  
  5.     VK.api("getFriends", {fields:"uid"}, function(data) {
  6.  
  7.         friend_n = Math.floor(Math.random()*$(data.response).size());
  8.         friend_id = data.response[friend_n].uid;
  9.  
  10.         var uid = data.response[friend_n].uid;
  11.         var mess = 'тарарарарарараарар'; // Ваш текст сообщения
  12.         var requestKey = 'my_key'; // дополнительный параметр
  13.        
  14.         // открывает окно отправки запроса пользователю
  15.         VK.callMethod("showRequestBox", uid, mess, requestKey);
  16.      
  17.         // события после действий пользователя
  18.         VK.addCallback("onRequestSuccess", onRequestSuccess);
  19.         function onRequestSuccess() {
  20.             alert('onRequestSuccess');
  21.         }
  22.        
  23.         VK.addCallback("onRequestCancel", onRequestCancel);
  24.         function onRequestCancel() {
  25.             alert('onRequestCancel');
  26.         }    
  27.        
  28.         VK.addCallback("onRequestFail", onRequestFail);
  29.         function onRequestFail() {
  30.             alert('onRequestFail');
  31.         }
  32.    
  33.     });
  34.     });
  35. });
  36. </script>

вроде не работает :(
sakogr

 
Сообщения: 19
Зарегистрирован: 09 дек 2011, 19:32
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение Derial » 25 мар 2012, 08:43

У меня выдает "onRequestFail" а не окно с отправкой :?
Derial

 
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22
Откуда: Карачев
Благодарил (а): 15 раз.
Поблагодарили: 0 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение Cypporat » 25 мар 2012, 11:50

Да чет действительно не работает ( во как получить id друга рандомом вставлять в скрипт ?
Аватара пользователя
Cypporat

 
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение Александр » 25 мар 2012, 14:04

sakogr

Ни о чем не говорит? anton37 написал код, вероятнее всего, с использованием jQuery.

ID пользователя должен быть ID друга, а не того кто отправляет или того кто не находится в списке друзей.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение sakogr » 26 мар 2012, 11:32

Александр писал(а):sakogr

Ни о чем не говорит? anton37 написал код, вероятнее всего, с использованием jQuery.

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

Ваш код у меня заработал :) , а вот код Антона нет :(
sakogr

 
Сообщения: 19
Зарегистрирован: 09 дек 2011, 19:32
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение apiboss » 26 мар 2012, 20:42

$(data.response).size() куда его вставить ?
Дайте пожалуйста рабочий скрипт с отправкой случайным друзьям ....
apiboss

 
Сообщения: 25
Зарегистрирован: 03 май 2011, 17:15
Благодарил (а): 8 раз.
Поблагодарили: 1 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение apiboss » 27 мар 2012, 10:45

Все работает только нужно разрешить отправку уведомлений в приложении ....

Кто нибудь сделайте готовый скрипт чтобы этот скрипт выполнялся только один раз (в день) для каждого посетителя на главной странице. Заплачу !!! Очень надо а я ни бум бум )
apiboss

 
Сообщения: 25
Зарегистрирован: 03 май 2011, 17:15
Благодарил (а): 8 раз.
Поблагодарили: 1 раз.

Re: Отправка уведомлений через приложение (showRequestBox)

Сообщение Cypporat » 27 мар 2012, 19:58

Класс заработало кто может пояснить из за чего сначала не работало ?
Аватара пользователя
Cypporat

 
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

След.

Вернуться в Уроки IFrame ВКонтакте



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

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

cron