2014-08-30 1 views
1

Я разрабатываю приложение ios, как Tinder. Пользователи могут общаться только в приватном режиме 1: 1.Pubnub много частных чатов в ios

Должен ли я открыть один канал для каждого «совпадения»? Является ли это правильным шаблоном проектирования для данного примера? Что касается производительности, если у меня есть один канал за «матч».

* Match», когда пользователь совпадает с другим и может начать приватный чат.

ответ

2

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

+0

Спасибо @moonlight. Итак, если у пользователя есть 30 совпадений, будет 30 отдельных каналов. –

+0

@BillDani Да, будет лучше использовать отдельный канал для каждого подходящего человека. –

+1

Вы автор pubNub iPad Demo App? –

2

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

Чтобы добавить управление доступом к каналу «матч» (если вы хотите, чтобы убедиться, никто другой не может получить доступ к этому каналу), используйте PubNub Access Manager, описываемые здесь: http://www.pubnub.com/docs/javascript/tutorial/access-manager.html (используйте ниспадающее меню, чтобы изменить язык программирования)

Если вы хотите предоставить историю чата, так что оба участники могут видеть сообщения от предыдущих сеансов чата, включите PubNub хранение & воспроизведение, а также использовать PubNub.History() API, описываемые здесь: http://www.pubnub.com/docs/javascript/overview/storage-playback.html

Если вы хотите увидеть когда эти два участника подключены к каналу Match, используйте PubNub Presence, задокументированные в том же месте.