Решение для сбора данных апплета WeChat без скрытых точек

внешний интерфейс Апплет WeChat Операция товар
Решение для сбора данных апплета WeChat без скрытых точек
Автор: lxj, член команды терминала заказов

Предисловие

Бизнес-команда считает, что такой сценарий не будет слишком знакомым:

  • РБИнужно: Каждый раз, когда добавляется новая функция, продукт данных будет синхронно добавляться с требованиями к управлению. Через некоторое время после запуска управления данными продукт данных / бизнес-продукт будет анализировать скорость преобразования данных и корректировать бизнес потребности;
  • Проверка правильности точек: когда скорость преобразования данных значительно меняется в определенный день и не соответствует ожиданиям, продукт данных / бизнес-продукт подтвердит при разработке, есть ли какая-либо ошибка в расположении управления;
  • онлайн-устранение неполадок: Получен отчет об онлайн-проблеме, но разработчики не смогли воспроизвести случай. В настоящее время нам необходимо иметь данные, соответствующие делу онлайн, для дальнейшего анализа проблемы. Если данных нет, проблема, скорее всего стать «нераскрытым делом», оно будет поставлено под сомнение несколькими партнерами, и чувство уверенности в стабильности бизнеса будет значительно снижено.

Поэтому данные очень важны.Далее мы подробно обсудим сбор данных с аспектов важности сбора данных, разделения данных, метода сбора и схемы захоронения в апплете WeChat.

Важность сбора данных

В этой статье мы сосредоточимся на сборе данных. Мы пока не будем подробно обсуждать роль данных. Во-первых, мы суммируем важную роль данных в оптимизации производительности, развитии бизнеса и устранении неполадок в Интернете. Вот почему мы нужно закопать точки.

Роль данных в онлайн-устранении неполадок:

  • Данные о поведении пользователей восстанавливаются «на месте», что помогает анализировать и обнаруживать проблемы, а также повышать эффективность их обнаружения.
  • Предоставление веских доказательств для анализа проблемы

Роль данных для оптимизации производительности:

  • Помогает обнаруживать и отслеживать ключевые показатели успеха для онлайн-бизнеса
  • Помогает определить наиболее нуждающиеся среды оптимизации и их приоритеты
  • Информация, помогающая выявить проблемы, с которыми приходится сталкиваться, и улучшить процесс принятия решений.
  • Помогает обеспечить лучший анализ для тестирования и оптимизации приложений

Роль данных в росте бизнеса:

  • Помогите измерить эффективность маркетинга
  • Помогите найти стратегии для активации конверсий
  • Помогает обнаружить удержание пользователей и аналитику активности пользователей
  • Помощь в анализе монетизации дохода от продукта

2. Разделите и отсортируйте собранные данные

С первого пункта мы резюмируем важность данных.Разные бизнес-проекты по-разному акцентируют внимание на важности данных.Какие данные следует собирать при сборе данных?

Во-первых, данные замкнутого цикла включают:

  1. поведение пользователя
  2. Информация о пользователе, CRM (отношения с клиентами)
  3. Данные транзакции, данные журнала сервера

Вышеупомянутые три элемента данных можно рассматривать как полный замкнутый цикл потока данных.Конечно, данные в различных бизнес-сценариях могут быть дополнительно подразделены, и общие ключевые моменты в основном не выходят за пределы этих трех элементов. Для внешнего сбора данных о первых двух элементах данных с обратной связью в основном сообщает клиент, тогда как третья точка в основном записывается сервером и поддерживается клиентом, поскольку запрос транзакции завершается только тогда, когда запрос транзакции достигает сервера для завершения обработки, замкнутый цикл. Данные о поведении пользователя также включают пять элементов: время (когда), место (где), лицо (кто), взаимодействие (как) и интерактивный контент (что), которые чем-то похожи на пять элементов новостей; включает конфиденциальную информацию о пользователе, а конфиденциальность требует авторизации, поэтому конкретные размеры информации о пользователе определяются бизнес-сценариями.Самое основное требование к данным — однозначно идентифицировать пользователей; CRM, данные о транзакциях и информация о пользователе аналогичны, а требуемые конкретные данные определяется бизнес-сценариями.CRM Основные требования к данным - это информация для входа в систему и информация о членах.Транзакционные данные включают в себя - время транзакции, объект транзакции, содержание транзакции, сумму транзакции и статус транзакции.

3. Метод представления данных

После разговора о данных следующим шагом будет узнать, как получить данные, которые нам действительно нужны. Методы представления данных можно условно разделить на три категории:

  1. Первый тип — это захоронение кода, то есть вызов интерфейса вручную для загрузки данных захоронения на узел, который необходимо закопать.Большинство сторонних поставщиков услуг статистики данных, таких как Youmeng и Baidu Statistics, используют эту схему;

  2. Второй тип — это визуализация скрытых точек, то есть узел сбора настраивается с помощью визуального инструмента, конфигурация автоматически анализируется во внешнем интерфейсе, и сообщаются данные о скрытых точках, чтобы реализовать так называемую " бесследная закопанная точка», что означает, что исходный код решения находится в открытом доступе.Mixpanel;

  3. Третья категория — «нет скрытых точек», ее действительно не нужно закапывать, но интерфейс автоматически собирает все события и сообщает данные о скрытых точках, а также отфильтровывает полезные данные во время расчета внутренних данных. является отечественным GrowingIO.

Основное внимание уделяется незакрытым точкам.Визуализированные заглубленные точки фактически можно рассматривать как производные от не заглубленных точек.Поэтому визуализированные заглубленные точки здесь не обсуждаются, в основном для сравнения скрытых кодовых точек и не заглубленных точек.

3.1 Недостатки встраивания кода или встраивания в режиме захвата

Для информационных продуктов:

  1. Положитесь на человеческий опыт и интуитивные суждения.
    Расположение скрытых точек, связанных с бизнесом, требует субъективной оценки продуктов данных или бизнес-продуктов, в то время как связанные с техническими скрытыми точками требуют субъективной оценки технических специалистов.
  2. высокая стоимость связи
    Чтобы определить данные, требуемые информационным продуктом, необходимо выдвинуть требования и связаться с разработчиками, а персонал данных не особенно знаком с технологией, и необходимо уточнить у разработчиков возможность того, будет ли соответствующий информацию можно сообщить.
  3. Есть затраты на очистку данных
    С изменением бизнеса данные, необходимые для субъективного суждения, будут меняться и изменяться.В это время ранее управляемые данные необходимо очищать вручную, а рабочая нагрузка по очистке немалая.

Для развития:

  1. Усилия разработчиков
    Для бизнес-команд скрытые точки часто критикуются соответствующими разработчиками. Технические специалисты-разработчики не могут просто сосредоточиться на технологиях, им также необходимо диверсифицировать повторяющиеся и механические задачи, такие как захоронение точек.
  2. Скрытый код очень навязчив, что отрицательно сказывается на дизайне системы и удобстве сопровождения кода.
    Большинство точек данных, связанных с бизнесом, необходимо скрыть вручную, а скрытый код должен быть тесно связан с бизнес-кодом. Даже если в отрасли нет встроенного SDK, специальные бизнес-задачи, на которых сосредоточены продукты данных, не могут избежать ручного внедрения.
    С непрерывным изменением бизнеса спрос на данные меняется, и код, связанный со скрытыми точками, также должен меняться соответствующим образом. Дальнейшее увеличение затрат на разработку и сопровождение кода.
  3. подверженный ошибкам
    Из-за различий в субъективном сознании ручного расставления точек точность положения точек трудно контролировать, а данные легко утекают.
  4. Есть затраты на процесс RBI
    Когда данные отсутствуют или собраны неправильно, они должны пройти процесс разработки и снова онлайн-процесс, что неэффективно.

3.2 Отсутствие преимущества зарытых очков

По сравнению с ручным внедрением преимущество отсутствия внедрения не нуждается в объяснении.

  1. Повысить эффективность
  2. Более полные данные могут быть извлечены по запросу
  3. Уменьшите вторжение в код

4. Апплет WeChat не имеет встроенного решения SDK

4.1 Нет необходимости в данных закопанных точек

  • Отчет об инициализации и выполнении апплета
  • Отчет о запросе интерфейса
  • отчет об ошибке
  • Отчет о поведении пользователей


    Поскольку апплет отличается от веб-сервиса, загрузка ресурсов js/css отсутствует, поэтому он больше связан с записью и захватом статуса инициализации и статуса выполнения апплета Проверка целостности ресурса на рисунке соответствуетИнициализировать проверку завершения.Запрашиваемое доменное имя в онлайн-апплете должно быть в протоколе https, поэтому вероятность перехвата DNS сильно снижается или даже маловероятна, а возможность мониторинга перехвата DNS с клиента низка (имеется парадокс), поэтому мы пока не рассматриваем перехват DNS.

4.2. Трудности и ключевые моменты разработки непогребенных SDK для мини-программ WeChat

  • Невозможно напрямую перехватывать/прослушивать запросы
    Запрос WeChat унифицирован через API WeChat, модуль запроса был инкапсулирован стороной WeChat, а операционная среда апплета не является объектом браузера, поэтому его очень легко переписать и инкапсулировать как веб-приложение.
  • Гарантия мониторинга совместимости трех операционных сред
    • В Android среда выполнения js — это ядро ​​X5.
    • На iOS среда Runtime JS - JavaScriptCore
    • Средства разработки, операционная среда j s — nwjs (ядро chrome)

  • Поведение пользователя не может быть отслежено напрямую
  • Сильная масштабируемость
    Его необходимо использовать в различных сценариях проектирования архитектуры (небольшие программы).
  • SDK должен быть легким
    Пакет каждого апплета имеет ограничение в 2М, а апплет не поддерживает внедрение npm-пакетов в код, поэтому сам sdk будет занимать ограничение по размеру в 2М. Хотя у апплета есть внутренний тест субподряда, эта функция не была полностью выпущена, и нецелесообразно, чтобы она была слишком большой как SDK.
  • Большой объем сбора данных, минимизация потерь производительности
  • Не влияет на бизнес (основные потребности)

4.3 Апплет WeChat не имеет встроенного дизайна SDK

Дизайн уровня данных:


Поток данных в дизайн:




Дизайн метода сбора:

Метод доступа:

Код пакета sdk npm вводится перед кодом инициализации апплета.Когда апплет упаковывает код, код sdk вводится в проект, и данные могут собираться автоматически после инициализации. Пример инициализации выглядит следующим образом:

import Prajna from './lib/prajna-wxapp-sdk.js';

Prajna.init({channel: 'channel',env: config.IS_PRODUCION ? 'product': 'beta',project: 'yourProjectName',methodConfg: {} // 业务特殊关注的方法执行和自定义打点名称})


Нет скрытой точки в сочетании с скрытой точкой:

Незакрытый метод апплета может получить большой объем данных и в основном может обеспечить высокую степень восстановления сценариев использования пользователя. Степень детализации управления SDK заключается в выполнении определенного метода. Когда степень детализации особых бизнес-задач меньше, чем степень детализации SDK, она не может быть полностью решена с помощью SDK без встроенных точек. Комбинация без встроенных точек и встроенных точек может будет использоваться, поэтому наш апплет не имеет SDK отслеживания также предоставляет интерфейс API для ручного отслеживания, чтобы улучшить целостность данных и решить больше проблем (рассмотрите упомянутую роль со ссылкой на важность данных).

5. Проблемы, возникающие в SDK без закапывания точек в апплет

В дополнение к решению вышеупомянутогоСложности и ключевые моменты разработки незарытого sdk для апплета WeChatВ дополнение к уже имевшимся проблемам возникли и новые проблемы.

  1. Сам SDK будет иметь определенное влияние на производительность бизнеса. Данные временно хранятся в локальной табличке апплета. Часто доступа к / извлечение локальной таблички апплета распределяет операцию, когда сама деловая сторона потребляет больше производительности. Вопрос. Уменьшить локальные операции Access / Fetch и храните только не загруженные данные в LocalStorage, когда страница закрыта
  2. Полный объем данных не имеет смысла хоронить большой, опытный серая линия перегрузки сервера на доступность сервера вызывает проблемы падения. После того, как объем данных, сообщенных некоторым элементом управления, автоматически сообщается только узел ключевых данных, интересующий узел может быть нацелен на другой бизнес, о котором сообщает конфигурация доступа, а затем инициализируется, чтобы избежать слишком большого количества избыточных отчетов данных. В дополнение к отчетности дизайн структуры данных также требует особого внимания, структура цели должна быть четкой, краткой, чтобы облегчить поиск данных (кейс).
  3. Изначально я хотел сделать "переключатель" на то, используется SDK или нет для запуска в градациях серого, чтобы избежать процесса отката апплета. Поскольку «переключатель» зависит от управления интерфейсом сервера, а запрос является асинхронным, это означает, что процесс инициализации и запуск апплета должны дождаться возврата интерфейса, управляющего переключателем, прежде чем продолжить, в противном случае «переключатель» эквивалентен провалу. Учитывая, что SDK не может повлиять на производительность службы, откажитесь от «переключателя» и попробуйте внутри SDK, чтобы не повлиять на доступность службы.

С данными, полученными путем составления отчетов без скрытых точек, данные можно использовать для решения многих проблем в будущем. Для использования данных, пожалуйста, ждите следующего раздела - применение данных.


использованная литература:

[1] [США] Пей Цзи, переводчик: Яо Цзюнь и др., «Углубленное понимание оптимизации веб-сайтов», издатель: Machinery Industry Press, время публикации: 2013-08

[2] Чжан Симэн, «директор по развитию», издатель: Machinery Industry Press, время публикации: 1-е издание (6 ноября 2017 г.)