Мы — веб-журнал, специализирующийся на смартфонах Android. Недавно мы внедрили Discourse и в полном восторге. Мы даже использовали Discourse для полной замены учётных записей пользователей и комментариев в WordPress.
Для нас было бы здорово, если бы Discourse (или его плагин) мог определять конкретную модель устройства и операционную систему посетителей.
Мы хотели бы просить их поделиться своим опытом с другими по конкретной теме на основе определения типа их смартфона.
Существует множество инструментов с открытым исходным кодом для определения конкретных устройств, например:
Yauaa (наш фаворит)
Modernizr
Bowser
Detector
WURFL.js
Platform.js
UA-Parser.js
FingerprintJS
Am I Responsive
Device.js
Screen Size Map
React Device Detect
Responsivepx
Могла бы эта функция стать новой опциональной возможностью Discourse, или кто-то мог бы разработать такое полезное расширение?
Это звучит интересно, но чем больше я об этом думаю, тем меньше понимаю, что именно это будет делать.
Что это значит на самом деле? Перенаправлять их на конкретную тему, которую видят только они? Давать им специальную тему? Открывать категорию только для них?
Разве нельзя попросить их прокомментировать эти модели, даже не зная, какое у них устройство?
А как насчет людей с несколькими устройствами? Будут ли они видеть разный контент в зависимости от используемого браузера?
Может быть, просто добавить пользовательское поле, где они укажут, какие устройства у них есть?
Если это будет разрабатываться как плагин, можно создать пост в маркетплейсе, если у вас есть на это бюджет. В противном случае, скорее всего, это не будет приоритетом для основной функции, если только кто-то не захочет это спонсировать.
Не уверен, станет ли это вызовом в области персональных данных / GDPR, но, вероятно, так и будет.
Наша идея о том, как должна работать система, проста. Я покажу пример, когда я посещаю Discourse с телефоном Google Pixel 8.
На заднем плане Discourse будет происходить определение устройства
Затем Discourse отправит пользователю запрос с просьбой поделиться своим опытом использования телефона Google Pixel 8, оставив отзыв (форма запроса пока не определена, но она может быть такой же, как уже существующие в Discourse нативные «уведомления»)
Если пользователь выберет «нет», уведомление будет помечено как прочитанное, и ничего не произойдет
Если пользователь выберет «да», его перенаправят на тему в формате: производитель - название телефона. Так, в данном случае, например: …/t/google/pixel8, где посетитель оставит свой отзыв. Структура приведена лишь как пример и может отличаться.
Тема будет публичной, и несколько человек смогут оставить отзыв в одной и той же теме. Темы будут автоматически создаваться для производителей и устройств пользователями, которые хотят добавить отзыв.
Что касается GDPR и других персональных данных, проблем быть не должно, так как для идентификации используется строка user agent, а производитель и модель используемого пользователем устройства не считаются персональными данными.
Я с радостью внесу свой вклад или профинансирую разработку похожего плагина, будь то в ядре или в виде отдельного плагина. У кого-нибудь есть идея, сколько будет стоить такое решение? Или еще лучше: мог бы кто-нибудь написать его прямо сейчас?
Однако я считаю, что определение используемого пользователем устройства или одного из других параметров (каждый может проверить это самостоятельно на странице https://try.yauaa.basjes.nl/) найдет полезное применение в ядре Discourse и поможет сделать Discourse еще лучше.
Информация об устройстве обычно автоматически отправляется, если пользователь вошёл в систему с аккаунтом Google, и в Discourse есть возможность входа через аккаунт Google. Не знаю, сможет ли Google поделиться этой информацией с приложением Discourse, но, возможно, это возможно. Или вы можете провести опрос, чтобы узнать, хотят ли пользователи добровольно предоставить эти данные или отказаться от их передачи.
Это, безусловно, странно, но, вероятно, это особенность данного решения. Даже на моем телефоне при первом посещении модель и производитель устройства не отображаются. Но при втором посещении или просто при обновлении страницы (F5) всё уже в порядке.