我正在尝试使用AngularJs 1.4.5
在我的pubnub
网络应用中实现简单聊天。
我遵循pubnub tutorial中给出的步骤。
$scope.channel = 'chat_for_trial';
$scope.uuid = 'user1';
Pubnub.init({
publishKey: 'demo',
subscribeKey: 'demo',
uuid: $scope.uuid
});
// Send the messages over PubNub Network
$scope.messageContent = {message: ''};
$scope.sendMessage = function() {
// $scope.messageContent = data;
// Don't send an empty message
if (!$scope.messageContent.message || $scope.messageContent.message === '') {
return;
}
Pubnub.publish({
channel: $scope.channel,
message: {
content: $scope.messageContent.message,
sender_uuid: $scope.uuid,
date: new Date()
},
callback: function(m) {
console.log(m);
}
});
// Reset the messageContent input
$scope.messageContent.message = '';
};
//get messages
$scope.messageContent.messages = [];
// Subscribing to the ‘messages-channel’ and trigering the message callback
Pubnub.subscribe({
channel: $scope.channel,
triggerEvents: ['callback']
});
// Listening to the callbacks
$scope.$on(Pubnub.getMessageEventNameFor($scope.channel), function (ngEvent, m) {
$scope.$apply(function () {
console.log("i am here")
$scope.messageContent.messages.push(m)
});
});
我可以向频道chat_for_trial
发送消息,但在pubnub console中查看占用情况时,订阅的uuid
未列出。
当我从控制台发送消息时,它不会显示在Web应用程序中。但是,可以在pubnub控制台中看到从Web应用程序发送的数据。
我正在使用pubnub: 4.20.1
,pubnub-angular: 4.1.0
,angularjs: 1.4.5
我想知道我在这里缺少什么。
答案 0 :(得分:0)
问题是由于教程中的pubnub and pubnub-angular
版本与我的应用程序中使用bower
安装的版本不匹配。
本教程适用于sdk v3
和当前的sdk版本v4
。
请参阅this link以了解如何使用pubnub sdk v4。