Привет, ребята, у меня есть следующие коды от Pusher, я тестировал, и кажется, что это нормально для использования, например.Pusher Private или Public?
Javascript в Pusher-app.php
var pusher = new Pusher('OMITTED_MY_API_KEY', {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('**private_username-id**');
channel.bind('my_event', function(data) {
alert(data.message);
});
</script>
Pusher-server.php
require('Pusher.php');
$options = array(
'cluster' => 'ap1',
'encrypted' => true
);
$pusher = new Pusher(
'OMMITED_API_KEY',
'OMMITED_API_KEY',
'OMMITED_API_KEY',
$options
);
$data['message'] = 'hello world';
$pusher->trigger('**private_user_name-id**', 'my_event', $data);
Таблица Пользователь
----------------------------------------------
| ID | username | password | notify_channel |
|--------------------------------------------|
| 1 | userA | kjdiejdk | private_userA-1 |
| 2 | userB | kjdiejdk | private_userB-2 |
| 3 | userC | kjdiejdk | private_userC-3 |
---------------------------------------------
Последователь Таблица
---------------------------------------------------------------------------
| INDEX | USERID | FOLLOWERS |
|--------------------------------------------------------------------------|
| 1 | userA | s:47:"array('id' => userA, 'id'=>userC, 'id' =>userD)"; |
---------------------------------------------------------------------------
Для каждого из моих пользователей WordPress, я создал столбец базы данных «УВЕДОМЛЕНИЕ-CHANNEL», где в этом случае канал private_username-идентификатор называется для этого конкретного пользователя.
Название канала будет $ wpdb-> get_rows из базы данных и эхо в JavaScript так что каждый пользователь будет иметь свой собственный уникальный канал, так как канал указать в JavaScript контролируется на стороне сервера сценария.
Мой вопрос
1) Я строю поток активности, я понимаю, даже без приставкой линии частного (общественный канал), до тех пор, как в стороне сервера PHP Я осторожен в $ pusher-trigger ('ИМЯ КАНАЛА', 'EVENT_NAME', $ data) и убедитесь, что пользователь is_logged_in(), кажется, что проблема не возникает, даже если все мои каналы опубликованы.
В чем недостаток использования общедоступного канала, и когда мне действительно нужно использовать частный канал? И в приведенном выше примере, просто добавив частный префикс, и я уже легко слушаю канал, я не вижу, насколько он безопасен.
Итак, прежде чем я продолжу использовать толкатель для потока активности и уведомления о моем сайте, любые прошлые пользователи могут просветить меня, как мне лучше это делать?
'
2) Я хотел бы, чтобы другие пользователей "следовать" другим пользователям, поэтому, когда пользователь А и пользователь Б следует User C, пользователь А и пользователь B будут получать уведомление каждый раз, когда пользователь C добавляет блог. Итак, если пользователь А следует 1000 пользователей, я имею в виду, мне нужно создать 1000 разных каналов?
У меня есть таблица выше, если у меня есть что-то от пользователя. Я хочу отправить своим последователям, я получаю последователей из таблицы выше, неэриализую и отправляю каждому из них.
Как я могу создать новый канал для каждого «следующего»? Я застрял здесь, и я не понимаю алгоритма, чтобы лучше реализовать это.
'
3) В случае яваскрипта кодов выше, я не хочу, чтобы положить его в качестве встроенного кода Javascript и хочу поместить его в отдельном толкаче-client.js. Могу ли я узнать, как я могу отменить CHANNEL_NAME на pusher-client.js динамически или есть другой способ?