![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Есть видеоплеер на флэше AS2.0 и он отправляет на сервер таким вот образом статистику по просмотру видео:
if (_root.stat_vid_0 != true) {//Отправляем в статистику if (_root.toob.display.time>0) { loadVariables("http://***/stat.php?act=vid_0&id="+_root.vid_id, _root); _root.stat.text="otpravili 0 сек видео" _root.stat_vid_0 = true; } } if (_root.stat_vid_10 != true) {//Отправляем в статистику if (_root.toob.display.time>10) { loadVariables("http://***/stat.php?act=vid_10&id="+_root.vid_id, _root); _root.stat.text="otpravili 10 сек видео" _root.stat_vid_10 = true; } } Так вот, у некоторых видео просмотров 10 секунд больше чем просмотров 0 секунд, хотя по логике программы этого не может быть. Код я весь проверил он простой и ошибки там вроде как не может быть. Остаётся два варианта либо loadVariables либо stat.php не всегда срабатывает. Подскажите на сколько "железно" работает loadVariables? Может ли он иногода не отправлять данные?
__________________
Это подпись. |
|
|||||
|
Модрон-ветеринар
|
А почему вы думаете, что проблема в loadVariables (на самом деле функция эта устрела на 10 лет, вместо надо использовать LoadVars)? Почему бы вам не проверить, всегда ли выполняются условия ее вызова, например это самое oob.display.time?
__________________
Идите первым! |
|
|||||
|
Цитата:
Цитата:
Приведу наверное более полный код этого счётчика: onEnterFrame = function () { if (_root.stat_vid_0 != true) {//Отправляем в статистику if (_root.toob.display.time>0) { loadVariables("http://***/stat.php?act=vid_0&id="+_root.vid_id, _root); _root.stat.text="otpravili 0 сек видео" _root.stat_vid_0 = true; } } if (_root.stat_vid_10 != true) {//Отправляем в статистику if (_root.toob.display.time>10) { loadVariables("http://***/stat.php?act=vid_10&id="+_root.vid_id, _root); _root.stat.text="otpravili 10 сек видео" _root.stat_vid_10 = true; } } }; stop();
__________________
Это подпись. |
|
|||||
|
FrameRate у вас сколько?...
"loadVariables("http:......" - закомментируйте и трэйс поставьте вместо этой строчки. По трэйсам - все нормально? И _root.toob.display.time тоже в трэйсе в самом начале onEnterFrame выводите...... Если там не будет от 0 и до 10 вывода, то....... бум думать далее. |
|
|||||
|
Цитата:
Должно работать так: пользователь начинает смотреть ролик, проигрыватель отправляет на сервак ID ролика, сервак записывает в базу в поле "VID_0" +1 промотор, далее если пользователь не закрыл окно браузера и досмотрел ролик до 10-й секунды то проигрыватель опять отправляет на сервак ID ролика и сервак записывает в другое поле "VID_10" +1 просмотр. Значит если ты просмотрел 10 секунд ролика то ОБЯЗАТЕЛЬНО промотрел 1 секунду ролика, тоесть VID_10 не может быть больше VID_0. Но в базе такое встречается у некоторых роликов.
__________________
Это подпись. |
|
|||||
|
Так вопрос тогда звучит так: "почему у некторых юзеров ЭТО работает криво"?
Ну тогда - да, однозначно, вам использовать loadVars с выводом сообщений об ошибках юзеру на экран, для отправки в тех суппорт. Вариантов куча - вплоть до антивирусной защиты и блочки отправки через файрволлы. |
|
|||||
|
Цитата:
Цитата:
Хотя, наверное, можно сделать что-бы плеер отправлял сообщение об ошибке без участия пользователя каким-нибудь другим каналом, через аякс, к примеру, но что-то такое замороченное решение совсем не бюджетно выйдет :-( Такие варианты не подходят, так как у одного и того же пользователя в один и тот-же сеанс VID_0 не отправляется, а уже через 10 секунд VID_10 успешно отправляется. Антивирусы и фаерволы рубили бы оба запроса одинаково.
__________________
Это подпись. Последний раз редактировалось Denisator; 12.06.2014 в 18:44. |
|
|||||
|
Тогда встраиваем в приложение такое вот
http://www.flasher.ru/forum/blog.php?b=310 Далее юзера просим сомтреть лог ошибок там. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|