Проблема в:
1. Сообщение, которое я хочу отправить списку получателей в WhatsApp, содержит ссылку на веб-страницу.
2. Количество получателей будет более ста (как правило, группа студентов).
3. Мне нужно вести учет того, сколько получателей получили это сообщение, посчитав количество просмотров страниц или каким-либо другим способом. Мне не нужно считать IP-адреса или собирать их телефонные номера или имена. Мне нужно, чтобы только несколько человек получили его.
Как я понимаю, клиентское приложение WhatsApp только один раз генерирует предварительный просмотр веб-страницы, а затем помещает его в кэш, чтобы показать его при необходимости. Это означает, что нет способа подсчитать превью веб-страниц на стороне сервера. Я прав?
Есть ли другой способ подсчета квитанций сообщения?
Я вижу два разных подхода, чтобы проверить, кто получил вашу ссылку.
Вы можете легко увидеть, кто прочитал ваше сообщение в групповых чатах WhatsApp, по синим флажкам или информации о сообщении, как описано в их часто задаваемые вопросы
Однако ваш заголовок говорит, что вы хотите посчитать, сколько раз сайт просматривался на разных устройствах.
Я предполагаю, что у вас есть доступ к журналу доступа веб-сервера, на котором размещен сайт.
Затем вы можете проверить, как часто клиенты WhatsApp создавали предварительный просмотр расширенной ссылки вашего сайта путем подсчета количества клиентов, чей пользовательский агент содержал WhatsApp.
Если я отправлю ссылку на свой веб-сайт в чате WhatsApp, я смогу увидеть подобные записи в журнале доступа к моим веб-серверам:
domain.tld 0 123.123.123.123 - - [01/Sep/2018:09:35:10 +0200] "GET / HTTP/1.1" 200 5928 "-" "WhatsApp/2.18.163 A"
Вы сказали, что хотите знать, на скольких устройствах был показан предварительный просмотр. Вы можете попытаться различить клиентов по их IP-адресам, но это решение не идеально, так как IP-адрес устройства может часто меняться.
Вы также можете определить, посещает ли пользователь ваш сайт через веб-браузер или это просто WhatsApp, генерирующий предварительный просмотр в php.
Это делается путем проверки, содержит ли пользовательский агент «WhatApp» или нет.
if (strpos($_SERVER['HTTP_USER_AGENT'], 'WhatsApp') !== false) {
increasePreviewCount();
}
Проблема различения разных клиентов остается с этим подходом.
Других решений пока нет …