Виджет Сообщения сообществ только для тех, кто может написать
У сообщений сообществ (СС) есть масса преимуществ, начиная от чат-бота до логирования данных через API.
Например: из СС можно выгрузить историю по первому написавшему, чтобы составить график заинтересованности в разных периодах. Вот кусок одного из отчетов:
Сводя статистику СС со статистикой на предыдущих шагах (переходы с рекламных постов и т.д.) можно отслеживать причинно следственные связи, например: «как повлиял новый формат контента или рекламный креатив на количество новых обращений?»
Мы разобрались в важности направлять трафик в СС.
Если у вас есть сайт, вы можете интегрировать виджет СС, используя Google Tag Manager.
Т.к. у многих мобильных браузеров блокируются cookies, то виджет сообщения сообществ будет бесконечно предлагать авторизоваться:
У ВК есть 3 инструкции по виджету сообщения сообществ:
https://dev.vk.com/ru/widgets/group
https://vk.com/dev/CommunityMessages
https://dev.vk.com/ru/widgets/community-messages
Во всех 3 инструкциях есть конструктор виджета.
Только в последней инструкции прописан способ проверки: может ли пользователь написать. Но в конструкторе обработки нет.
Исправим
Код подключения к ВК. Он требуется, если у вас еще не настроено подключение(например, не установлен пиксель):
<script type="text/javascript" src="https://vk.com/js/api/openapi.js?169">
Измененный код с комментариями:
</script> // <div id="vk_community_messages"></div>
<script type="text/javascript">
VK.Widgets.CommunityMessages("vk_community_messages", {{VK Widget ID Member}}, {
tooltipButtonText: {{VK Widget ID Member Text}},
disableExpandChatSound: 1, // отключаем звуки виджета
disableNewMessagesSound: 1, // отключаем звуки виджета
expandTimeout: 30000, // Раскрываем виджет через 30 сек.
onCanNotWrite: function(reason) {
// Далее проверка, может ли писать пользователь и удаление виджета, если не может:
if (reason === "offline" || reason === "no_access" || reason === "disabled_messages" || reason === "cant_write") {
var widgetContainer = document.getElementById("vk_community_messages");
if (widgetContainer) { widgetContainer.innerHTML = ""; // Удаление содержимого контейнера
}
}
}
});
</script>По вопросам в сообщения сообщества
