對於每個公共配置文件都有唯一的頻道名稱,例如<user_name>-profile
。
每當用戶user_name
的配置文件發生更新時,都會在用戶的頻道上觸發事件,並傳遞更新的數據。
data = update_profile()
Pusher.trigger('<user_name>-profile', 'profile-updated', {:profile => data})
在運行的瀏覽器有聽只更新相關通道代碼中的個人資料頁:
var pusher = new Pusher(APP_KEY);
var channel = pusher.subscribe('<user_name>-profile');
channel.bind('profile-updated', function(update) {
// Update UI to show new profile information
// Show something to indicate that an update has occurred
});
這裏的一個問題是,你會即使無人觸發事件正在查看公共個人資料。如果您想解決該問題,則需要使用WebHooks並跟蹤配置文件頻道是否爲occupied
,並且只有在該情況下才觸發該事件。
非常感謝提示!我將進一步研究這一點! – dennismonsewicz