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

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Gas
Сообщения: 9
Зарегистрирован: 30 май 2011, 13:55

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

Сообщение Gas »

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

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

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

ps: только пару дней изучаю апи вконтакте.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

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

Сообщение Александр »

Вот ты смешиваешь JavaScript с PHP и не знаешь в какой части у тебя может быть проблема.
$dostup - есть в этой переменной что-то?

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

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

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

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

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

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

if (app_install) { // действие кнопки} else { VK.callMethod('showInstallBox'); }
Gas
Сообщения: 9
Зарегистрирован: 30 май 2011, 13:55

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

Сообщение Gas »

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

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

Сообщение Александр »

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