Pubnub Documentationに記載されているように、プレゼンスイベントでデータ(状態)オブジェクトを取得しようとしています。ここでPubnub:プレゼンスイベントで状態オブジェクトを取得できません
は私のコードがあります: -
// Subscribe to messages channel
Pubnub.subscribe({
channel: $scope.channel,
triggerEvents: ['callback','presence','message'],
state: {
username : $scope.username,
membershipType : $scope.membershipType,
memberDealsIn : $scope.memberDealsIn
}
});
//Track online users
Pubnub.here_now({
channel : $scope.channel,
state: true,
callback : function(m){
$scope.$apply(function() {
$scope.onlineUsers.push(m['uuids'])
});
}
});
//User's State
Pubnub.state({
channel : $scope.channel,
state : {
username : $scope.username,
membershipType : $scope.membershipType,
memberDealsIn : $scope.memberDealsIn
},
callback : function(m){
//console.log(m)
},
error : function(m){
//console.log(m)
}
});
私のようにPubnubのgetPresenceEventNameForメソッドからそれを呼び出しています: -
$scope.$on(Pubnub.getPresenceEventNameFor($scope.channel), function (ngEvent, pnEvent) {
console.log("pnEvent: ", pnEvent);
}
ここに私の出力です: -
pnEvent: Object {action: "join", uuid: "1310974", timestamp: 1467719168, occupancy: 3}
することができますように他のすべてがうまくいくのを見てくださいが、私はそこにデータを得ることができません。私は今、しばらくの間、この事で立ち往生されている
{
"action" : "join",
"timestamp" : 1345546797,
"uuid" : "175c2c67-b2a9-470d-8f4b-1db94f90e39e",
"occupancy" : 2,
"data" : {
"age" : 67,
"full" : "RobertPlant",
"country" : "UK",
"appstate" : "foreground",
"latlong" : "51.5072°N,0.1275°W"
}
}
- :Documentation一方 は次のようにそれは、あまりにもデータを持っていなければならないと言います。 :(
なぜプレゼンス・イベントに設定されている状態ではありません。私はここで間違ってやっているものを私に教えてください。あなたの助けを
感謝。
すべての場合に必ずしも期待される結果が得られるわけではないため、状態を登録しないでください。代わりに、ベストプラクティスはサブスクライブすることです。クライアントが独自の参加イベントを取得すると、状態を設定します。その後、ステートチェンジイベントを信頼性の高い一貫した方法で取得します。これが問題を解決するかどうかご連絡ください。そうでない場合は、[PubNub Support](http://pubnub.com/support)に電子メールを送信してこのスレッドの詳細とリンクを作成することをお勧めします。 –
** "クライアントが独自のjoinイベント、set stateを取得したときに意味することを理解できません"。** here_nowイベントがトリガーされたときの状態を設定しています。初めて私はhere_nowイベントでオンラインユーザーリストを生成しています。プレゼンスイベントでオンラインユーザーリストを再生成しているため、プレゼンスイベントでも状態が必要です。ユーザーがオンラインになったばかりの場所からデータ(状態)を取得する場所はどこですか?私はプレゼンスイベントから新しいユーザーだけを検出できると思いますか?したがって、データはプレゼンスイベントに存在する必要があります。 –
サポートチケットに詳細が記載されています。私たちがあなたのために良い解決策に達したときにここに戻ってきます。 –