162еместо

22

-15
+37

Улучшение ограниченного оффлайн режима только для новостей

Как известно, на данный момент онлайн загорается при:
1)Чтении и ответе на сообщения
2)Обновлении ленты новостей

Идея касается обхода второго пункта и заключается в следующем:
Когда пользователь использует оффлайн режим, получать ленту новостей не напрямую через текущего пользователя.
Я вижу два способа:
1) Получать новости, исходя из списка подписок из под незалогиненного (как будто мы не вошли) пользователя. НО Такой способ будет работать только для открытых пабликов и групп.
2) Завести ВК ботов, которые будут подписаны на большинство групп (или разово подписываться и отписываться) и получать новости от этих групп, затем пересылать конечному пользователю (опять же исходя из его списка)
Второй способ более универсальный (будет работать с закрытыми группами), но довольно затратный (ибо боты должны крутиться на каком-то сервере).
Надеюсь, эта идея хоть как-то поможет. Прошу дополнить, если я где-то не прав или ошибся ( не шарю в API ВК)

Sol0Zon3, 05.05.2017, 18:35
Помечено как спам Помечено как дубликат
Статус идеи: ожидает рассмотрения

Комментарии

150679edik, 06.05.2017, 05:23
Я в кате настройках , отключил все !!! Кроме обновления сообщений (( т.е это1е палит когда заходишь, поэтому я отключаю инет, захожу куда надо главное не видеть весь список сообщении в режиме онлайн ( вот его нужно придумать как запретить обновляться) только по желанию проверять в личке... И второе это наверно совсем самое сложное отправка сообщения ((
Sol0Zon3, 06.05.2017, 15:39
Отправку и чтение сообщений, к сожалению, наверное никак не обойти, разве что чтение старых сообщений, которые в памяти устройства (как предложил ниже Sergey)
Sergey, 06.05.2017, 07:26
Не совсем верная идея, и сейчас я поясню, почему. Получать новости незалогиненным приложению не выйдет, ведь любое приложение работает через VK API. Для получения новостной ленты пользователя используется метод https://vk.com/dev/newsfeed.get т. е. не залогинившись, ты никак его не используешь, нужен токен пользователя, чтобы сервер сам выдал тебе уже готовую ленту новостей исходя из твоих подписок. Единственный вариант, который реально можно реализовать, так это заставить приложение запросить стену каждой их твоих групп по отдельности и каждого твоего друга (ведь это не сделает тебя онлайн), и из полученных ответов попытаться воссоздать твою новостную ленту, но это лишь воссоздание без возможности включить "сначала интерсные" + это довольно медленный и ресурсоемкий процесс, однако, в теории, реализовать его можно. То же самое касается и списка диалогов: можно не запрашивать его у сервера полностью, а запрашивать каждый диалог из имеющихся в памяти устройства по отдельности, правда, из-за этого при определенных условиях он может немного не совпадать с реальным списком диалогов, но это уже что-то.
Sol0Zon3, 06.05.2017, 15:31
Sergey, согласен, что все не так просто. Если нельзя получить через API без обновления флага онлайна, то придется парсить HTMLку каждого открытого паблика(к закрытым доступа нет ибо), на который подписан юзер и воссоздавать ленту. В таком варианте ещё, конечно же, не будут работать лайки, репосты и комменты. А про друзей я, кстати, совсем забыл:3 Тут тоже ведь не у всех открытая стена.
А про диалоги не уверен, что как-то можно обойти установку флага в онлайн
Sergey, 06.05.2017, 16:45
Так я же написал выше, что не нужно ничего парсить! При просмотре стен групп, флаг Онлайн НЕ устанавливается! Так же, как и при просмотре стен друзей. Т. е. можно смело через VK API запрашивать стены групп и друзей, а потом из этого воссоздать ленту новостей, и ты не станешь онлайн! Проблема только в том, что это довольно долгий и ресурсоемкий процесс будет, особенно если много групп и друзей. С диалогами все аналогично: если ты зайдешь в какой-то отдельный диалог, ты так же не становишься онлайн.
Sol0Zon3, 06.05.2017, 17:01
Тогда все ещё лучше) ресурсоемко конечно да, не могу поспорить (да и зачем?), но за возможность быть оффлайн видимо придется платить временем. Надеюсь разработчики смогут придумать, как это дело ускорить и оптимизировать. Например, можно сделать, чтоб юзер получал не всю ленту, а только новости от 5-6 источников, помеченных юзером как "важных"(есть же фильтры на новости). Что ещё можно предпринять, не знаю

Оставить комментарий