Сделал uninstall feedback к своей проге — открывается браузер с предложением заполнить форму. Но юзер может просто закрыть ее. Можно ли в PHP как-то перехватить закрытие и все-таки отправить пустое письмо? Чтобы отследить сам факт сноса программы.
Здравствуйте, Аноним, Вы писали:
А>Сделал uninstall feedback к своей проге — открывается браузер с предложением заполнить форму. Но юзер может просто закрыть ее. Можно ли в PHP как-то перехватить закрытие и все-таки отправить пустое письмо? Чтобы отследить сам факт сноса программы.
Ты путаешь клиентские и серверные события. Грубо говоря, если ссылок на анинстал пейдж с других мест нет, то на сервере можно фиксировать заходы на эту страницу как раз с помощью PHP.
Закрытие окна браузера с веб-страницей отследить можно с помощью джаваскриптов, но это абсолютно безнадежный способ, на него полагаться нельзя.
Здравствуйте, Аноним, Вы писали:
А>Сделал uninstall feedback к своей проге — открывается браузер с предложением заполнить форму. Но юзер может просто закрыть ее. Можно ли в PHP как-то перехватить закрытие и все-таки отправить пустое письмо? Чтобы отследить сам факт сноса программы.
На php нельзя, на javascript, наверное, можно. Интересно, насчет privacy недовольства не будет?
Здравствуйте, <Аноним>, Вы писали:
А>Можно ли в PHP как-то перехватить закрытие и все-таки отправить пустое письмо? Чтобы отследить сам факт сноса программы.
Закрытие отследить можно, яваскриптом. Но намного проще отслеживать открытие, а поскольку в данном случае открытие ничем не хуже закрытия, то зачем усложнять? Вставь в форму простенький счетчик или логи фильтруй, зачем огород с почтой городить?
ЗЫ А что даст голая информация о сносе? Зачем ее собирать?
Здравствуйте, Mad Cat, Вы писали:
AM>>ЗЫ А что даст голая информация о сносе? Зачем ее собирать? MC>Чтобы зная количество закачек можно было (грубо конечно) подсчитать количество активных установок.
Наверное, в таком случае более прямым путем будет открытие определенной страницы сайта после установки, а не сноса.
Здравствуйте, Alex Mova, Вы писали:
AM>Здравствуйте, Mad Cat, Вы писали:
AM>>>ЗЫ А что даст голая информация о сносе? Зачем ее собирать? MC>>Чтобы зная количество закачек можно было (грубо конечно) подсчитать количество активных установок. AM>Наверное, в таком случае более прямым путем будет открытие определенной страницы сайта после установки, а не сноса.
Здравствуйте, lozzy, Вы писали:
AM>>>>ЗЫ А что даст голая информация о сносе? Зачем ее собирать? MC>>>Чтобы зная количество закачек можно было (грубо конечно) подсчитать количество активных установок. AM>>Наверное, в таком случае более прямым путем будет открытие определенной страницы сайта после установки, а не сноса. L>Весьма необычный шаг. И чем это мотивировать?
Чего ж необычного? Регистрация. Как делает EA Games, например, предлагая зарегистрироваться и получить бесплатный "дельный" совет по игре Например, "Боевой робот "Мародер" одним свим видом вселяет ужас в сердца врагов..." .
Вообще, для сбора статистики лучше браузер не трогать, а дёргать URL HttpRequest-ом тихонечко. Единственный минус — если файрвол есть и он стукнет пользователю, тому может стать неприятно (а если ему станет неприятно, то и вам станет неприятно, и т.д.).
Потому такие действия лучше согласовывать с пользователем или проводить только когда программе надо слазить в интернет — по ходу работы, или других действий.
Например, установились, записали дату установки (покрепче — чтобы видеть последующие установки как переустановки, а не новые инсталляции).
Зарядили кнопочку "Update...", по которой честно и санкционированно слазили с запросом обновления на сайт, попутно (прямо в URL-е) сообщив всю необходимую для статистики информацию. Статистика будет не так быстро собираться всё же, но всё-таки. Если не терпится, можно куку подвесить — ведь велика вероятность захода на сайт продукта после установки обычным путём, т.е. через браузер. Тут то куку подловили, разобрали, и в статистическую базу положили.
Всё это, конечно, надо отразить в privacy policy, а может и строчкой в лицензии, что мол, информация о факте установке пробной версии будет передана авторам продукта для сбора исключительно общей статистики, безотносительно конкретной персоны пользователя.
Здравствуйте, lozzy, Вы писали:
L>Весьма необычный шаг. И чем это мотивировать?
Я этого не практикую, так что не скажу, что именно пишут в таких случаях, но стал обращать внимание, на то, что в последнее время много кто таким занимается: вчера видел как Ява проапгрейдившись открыла браузер со своей страницей, да и Файфокс после автоапдейта куда-то лезет... можно их полиси почитать.
Здравствуйте, Alex Mova, Вы писали:
AM>Закрытие отследить можно, яваскриптом. Но намного проще отслеживать открытие, а поскольку в данном случае открытие ничем не хуже закрытия, то зачем усложнять? Вставь в форму простенький счетчик или логи фильтруй, зачем огород с почтой городить?
В открываемой деинсталлятором странице перед тегом <html> достаточно поместить скрипт на PHP, который будет отправляет информацию (см. ниже) в БД еще до того, как пользователь увидит загруженную страницу.
AM>ЗЫ А что даст голая информация о сносе? Зачем ее собирать?
Деинсталлятор может передавать (page.php?date=20.05.07&ver=2.3) странице (скрипту) разную информацию.
У меня это: дата установки, дата деинсталляции, версия программы
(+ на сервере по IP определяется страна).
Здравствуйте, Bogdan Kobets, Вы писали:
AM>>ЗЫ А что даст голая информация о сносе? Зачем ее собирать?
BK>Деинсталлятор может передавать (page.php?date=20.05.07&ver=2.3) странице (скрипту) разную информацию. BK>У меня это: дата установки, дата деинсталляции, версия программы BK>(+ на сервере по IP определяется страна).
Это уже не голая информация о сносе, о которой говорилось в первом письме.
Здравствуйте, PaulMinelly, Вы писали:
PM>Если надо посмотреть на скольких хостах поставили твой скрипт (ведь у него же есть веб-интерфейс, иначе нафига этот скрипт). PM>Вставляем где-нибудь на воснвной странице просто HTML PM><img src="http://VendorServer.com/MySnoopyScript.php" height=0 width=0> PM>В MySnoopyScript.php записываем все рефереры откуда пришли браузеры на этот файл и все дела. Народ, вы что? PM>А по поводу деинсталляции скрипта на php — еще ни разу не видел деинсталлятора. Уй ёё. Что только не придумают.
А разве речь о скрипте? Вроде про экзешник речь-то, который инсталлером на комп ставится, а потом анинсталлером сносится, факт чего топикстартеру хочется отследить путём открытия feed-back формы в браузере (моё мнение — по рукам надо давать, когда не спросимши, да при анинсталле открывается интернет-браузер), даже если недовольный пользователь прихлопнет её, не дав открыть страничку.
Здравствуйте, Xander Zerge, Вы писали:
XZ>А разве речь о скрипте? Вроде про экзешник речь-то, который инсталлером на комп ставится, а потом анинсталлером сносится, факт чего топикстартеру хочется отследить путём открытия feed-back формы в браузере (моё мнение — по рукам надо давать, когда не спросимши, да при анинсталле открывается интернет-браузер), даже если недовольный пользователь прихлопнет её, не дав открыть страничку.
Что-то я понял о скрипте там перехватить что-то он хотел на PHP. В экзешнике еще больше возможностей отправить сигнал.
Здравствуйте, PaulMinelly, Вы писали:
PM>Что-то я понял о скрипте там перехватить что-то он хотел на PHP. В экзешнике еще больше возможностей отправить сигнал.
Перехватить он хотел PHP-скриптом на сервере, который вызывался бы по URL фидбэк-формы, открытой в браузере, запущенном анинсталлером.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Серёжа Новиков,
программист
Re[2]: Все делается тупее и элементарнее
От:
Аноним
Дата:
22.05.07 15:31
Оценка:
Здравствуйте, Xander Zerge, Вы писали:
XZ>А разве речь о скрипте? Вроде про экзешник речь-то, который инсталлером на комп ставится, а потом анинсталлером сносится, факт чего топикстартеру хочется отследить путём открытия feed-back формы в браузере
Да, именно так.
XZ>(моё мнение — по рукам надо давать, когда не спросимши, да при анинсталле открывается интернет-браузер), даже если недовольный пользователь прихлопнет её, не дав открыть страничку.
Извини, дорогой пользователь, но у меня нет другого выхода. Я хочу узнать, сносят ли мою программу сразу после знакомства, или продолжают в ней работать, несмотря на nag-screen, ведь ограничений по функциональности в ней нет. Если я буду спрашивать его разрешения, то наверняка получу отказ. Даже после появления страницы он с большой вероятностью ее просто закроет. А мне очень хочется знать факт сноса. Если ее сносят сразу — я закрою эту лавочку как бесперспективную, если нет, то подумаю как подвигнуть его к покупке — ограничить функциональность или увеличить частоту появления nag-screen'ов со временем до одного на каждое нажатие.
Re[3]: Все делается тупее и элементарнее
От:
Аноним
Дата:
22.05.07 15:39
Оценка:
Здравствуйте, PaulMinelly, Вы писали:
PM>Что-то я понял о скрипте там перехватить что-то он хотел на PHP. В экзешнике еще больше возможностей отправить сигнал.
Сигнал из экзешника будет наверняка подавлен файрволом, а это пользователь не любит гораздо больше — он считает это трояном и больше никогда на сайт не зайдет.
Здравствуйте, <Аноним>, Вы писали:
XZ>>(моё мнение — по рукам надо давать, когда не спросимши, да при анинсталле открывается интернет-браузер), даже если недовольный пользователь прихлопнет её, не дав открыть страничку.
А>Извини, дорогой пользователь, но у меня нет другого выхода. Я хочу узнать, сносят ли мою программу сразу после знакомства, или продолжают в ней работать, несмотря на nag-screen, ведь ограничений по функциональности в ней нет. Если я буду спрашивать его разрешения, то наверняка получу отказ. Даже после появления страницы он с большой вероятностью ее просто закроет. А мне очень хочется знать факт сноса. Если ее сносят сразу — я закрою эту лавочку как бесперспективную, если нет, то подумаю как подвигнуть его к покупке — ограничить функциональность или увеличить частоту появления nag-screen'ов со временем до одного на каждое нажатие.
Тихий запрос по HTTP почему не подходит? Что, обязательно устраивать windows-show? А как же такое правило, что на компутере хозяин — пользователь, и ни одно окно не имеет права открываться без пользовательских действий, того предполагающих.
Firewall мешает? Тогда спросить — не соблаговолит ли пользователь стукнуть автору о факте сноса, потому что ему так надо.
По теме сразу сносят или не сразу. Вот идея, как разрулить. На наг-скрине, через денёк после установки, показываете кнопку охрененных размеров "Срочно! Специальное предложение! Только сейчас! Эта кнопка больше никогда не появится, и вы никогда в жизни не узнаете нашего суперпредложения!", и ведите по кнопке на заготовленную страничку на сайте, и считайте себе в удовольствие, сколько народу проработало с продуктом день и более. А там предложите получить купон на скидочку в 25%, который два дня работает.
Здравствуйте, lozzy, Вы писали:
XZ>>А там предложите получить купон на скидочку в 25%, который два дня работает. L>И как это автоматизировать на стороне регистратора?
А это уже технические детали.