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

Проверка результата showInstallBox

Добавлено: 31 май 2011, 15:18
Gas
Всем привет!
Мне достался сайт, он лежит в приложении вконтакте в качестве iFrame. Мне надо кое-что переделать на нем. Сайт представляет собой страницы с фотками. Грубо говоря фотогалерея. Но это не важно. Задача такова: когда юзер заходит в приложение, то он может посмотреть стартовую страницу(я сам ее задаю). Но при нажатии на любую ссылку, ему предлагается установить это приложение. Если он отказывается, то он не может совершать никаких других действий.
Я нарыл метод showInstallBox. Использую его примерно так:

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

    VK.init(function() {    var pr = <? echo $dostup;?>;    if (pr == 1) {        VK.callMethod('showInstallBox');                                }    }); 
Но при нажатии кнопки "нет" ничего не происходит. И пользователь может дальше просматривать сайт.
Подскажите пожалуйста, как сделать проверку результата выполнения метода showInstallBox, чтобы исходя из этого я мог совершать дальнейшие действия.

ps: только пару дней изучаю апи вконтакте.

Re: Проверка результата showInstallBox

Добавлено: 31 май 2011, 21:00
Александр
Вот ты смешиваешь JavaScript с PHP и не знаешь в какой части у тебя может быть проблема.
$dostup - есть в этой переменной что-то?

Создай переменную

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

var app_install = false;
Если приложение уже установлено или если пользователь установит приложение (onApplicationAdded), то

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

app_install = true;
При клике на любую кнопку проверяй

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

if (app_install) { // действие кнопки} else { VK.callMethod('showInstallBox'); }

Re: Проверка результата showInstallBox

Добавлено: 01 июн 2011, 09:48
Gas
$dostup может равнятся 1 или не существовать. Это как раз и есть проверка.
Меня интересует вопрос, возвращает ли какой то результат функиця showInstallBox? С тем, КОГДА мне предлагать пользователю добавить приложения, я разобрался. Вот действия после того как пользователь отказался устанавливать, мне не ясны.
Видел в каком то приложении, что при ответе НЕТ showInstallBox вызывалась сразу же, и так до бесконечности, пока не нажмешь да.
К чему мне привязать действия при нажатии на НЕТ?

Re: Проверка результата showInstallBox

Добавлено: 01 июн 2011, 10:59
Александр
Gas писал(а):возвращает ли какой то результат функиця showInstallBox
Добавление можно отследить с помощью onApplicationAdded. Отмену не отследить.
В том приложении наверняка использовался таймер (setInterval), который проверял установку каждую секунду.
Сейчас на запуск метода showInstallBox действует ограничение – не чаще одного раза в 3 секунды.