Начало работы и интеграция с техническим решением, таким как Stream, может быть захватывающим. Иногда вам просто хочется вскрыть пресловутую коробку и начать. При реализации нового API я редко хочу читать страницы и страницы (иногда скучной) документации - так что вот ваша TL; DR версия 5 вещей, которые вам нужно знать, чтобы быстро и эффективно начать работу с Stream.

На старт, внимание, марш!

  1. При вставке действия отправьте оба поля foreign_id И время. Отправьте UUID (или другое уникальное значение) для foreign_id и получите текущее время. Это обеспечит наличие у вас уникальных критериев для записи. Если вы этого не сделаете, вы не сможете обновить это действие позже. Наличие обоих этих полей - вот что гарантирует уникальность действия. Вы можете думать об этом как о многоколоночном первичном ключе. - так что вы также не столкнетесь с копией под капотом или дубликатами в своей ленте.
  2. Используйте id_lte вместо смещения для разбивки на страницы. Действия в фиде сортируются по UUID в зависимости от времени. Мы рекомендуем вам использовать id_lt. Это работает намного лучше, чем традиционная разбивка на страницы на основе смещения.
  3. Не отправляйте PII. Мы рекомендуем отправлять идентификаторы пользователей вместо личной информации, а после получения обратной связи выполнить быстрый перевод массива. Всегда полезно проявлять осторожность при хранении личной информации, но пусть это вас не пугает. У нас есть очень успешные клиенты, чьи приложения содержат конфиденциальную информацию, такую ​​как местоположение, или даже тщательно контролируемую (HIPAA) информацию о состоянии здоровья, такую ​​как частота сердечных сокращений, от носимого Интернета вещей.
  4. Сохраняйте размер активности не более 1 КБ. Хотя мы разрешаем вам добавлять любые настраиваемые поля в пакет JSON действий, если размер превышает 1 КБ, это может повлиять на производительность. Мы часто получаем вопросы от клиентов о прикреплении изображений, видео и т. Д. К действиям. или СМИ. Используйте ссылку на место, где хранятся ваши медиафайлы, и обогатите его на своем сервере после того, как вы прочитаете у нас.
  5. Помните, что разветвление идет только на один уровень. Когда вы добавляете действие, оно автоматически обновляется во всех фидах, следующих за этим фидом, но не на другой уровень. Например: если Feed C следует за Feed B, который следует за Feed A (C- ›B-› A), добавление активности в Feed A автоматически перейдет в Feed B. Feed C не получит это обновление, если вы не добавите его в Поле ТО. (Хотя обратите внимание, что ограничение для поля TO составляет 100 каналов.)

Планирование вышеперечисленного на ранних этапах может помочь вам избежать неожиданностей и перерасхода средств в будущем.

Если вы еще этого не сделали, обязательно ознакомьтесь с документацией Stream, чтобы получить другие полезные советы и рекомендации.

И просто для развлечения…

Это результат совместной работы команды GetStream.io во главе с Дэвидом Стиллманом, инженером-программистом. Исходное сообщение в блоге можно найти по адресу https://getstream.io/blog/5-common-mistakes-integrating-stream-api/.