2015-12-14 4 views
2

Я пытаюсь добавить активность ко многим фидам пользователей, которые не следуют за активным участником. Я думал об использовании поля «Кому», но GetStream only allows to target up to 100 feeds.Как добавить активность к более чем 1000 пользовательским каналам без сопровождения?

В моем приложении у меня есть «рекламная» активность, которая должна быть видна на каждом пользовательском канале, но иногда мы также хотим нацелить «продвижение» на определенную группу пользователей, отфильтрованную свойством на них.

Продвижение имеет пользователя как актера, но продвижение по-прежнему должно появляться на канале другого пользователя, даже если этот пользователь не следует за актером.

Иногда я хочу отправить раскрутку пользователям 80 тыс. Человек.

Как я могу это решить?

Я использую библиотеку Ruby и интеграцию Rails.

+2

'Примечание: поле «TO» ограничено до 100 целей для каждого запроса API ». Можете ли вы просто сделать 10 запросов API? –

+0

@NilsLandt Мне нужно сделать больше 100. На самом деле более 1000. –

+1

Да, сделайте запрос API 1 для каналов 1-100, запрос API 2 для каналов 101-200 и т. Д. –

ответ

2

Как вы правильно указали, цель to не подходит для вашего прецедента. Количество целей, которые вы можете включить в запрос, ограничено 100. API Luckily Stream предоставляет a batch operation, чтобы добавить такую ​​же активность ко многим каналам.

Это передовая функциональность, которые вы можете использовать от клиента API, так как вы используете интеграции Rails, вы можете сделать что-то вроде этого:

client = StreamRails.client 
activity = self.create_activity 
client.add_to_many(activity, ["flat:1", "flat:2", "flat:3"]) 

Заметьте, что self в примере кода является экземпляром вашей модели деятельности.

+0

Есть ли ограничение на количество фидов, на которые вы можете нацелиться с помощью вызова API 'add_to_many'? Спасибо за вашу помощь :-) –

+0

Также будет добавлено новое действие, добавленное в фид пользователя для каждого вызова с помощью 'add_to_many'? Предпочтительная ситуация заключалась бы в том, чтобы показывать активность только на целевом канале, а не создавать на фиде пользователя актера. –

+0

@KennyMeyer, в этом случае вы можете отключить автоматическую синхронизацию для своей модели и вручную в add_many. версия рельсовой жемчужины на мастер-ветке позволяет вам это сделать (релиз будет следовать в ближайшие дни) https://github.com/getstream/stream-rails#activity-creation –