也许您知道为什么当我调用 PubNubs hereNow() 函数时 successCallback 会获取“null”字符串作为 channel 名称:
HERENOW : SUCCESS on channel null : {"service":"Presence","message":"OK","occupancy":1,"status":200,"uuids":[{"uuid":"507ea4fb-be77-4e05-bdb9-9c5af69e3de7"}]}
我现在这样调用:
pubnub.hereNow("channelname", true, true, hereNowCallBack)
回调实现如下:
Callback hereNowCallBack = new Callback(){
@Override
public void successCallback(String channel, Object message) {
Log.d("PUBNUB","HERENOW : SUCCESS on channel " + channel + " : " + message.toString());
}
@Override
public void errorCallback(String channel, PubnubError error) {
Log.d("PUBNUB","HERENOW : ERROR on channel " + channel + " : " + error.toString());}
};
对于所有其他 pubnub 函数,我确实在回调函数中获得了正确的 channel 名称 - 因此我想知道 pubnub jar 中是否可能存在错误?我使用的是3.7.0版本
谢谢, 马蒂亚斯
最佳答案
PubNub Here Now API
因为您在hereNow方法中提供了 channel 的值
pubnub.hereNow("my_channel", 回调);
您已经知道该值,因此回调中不会提供该值。
Callback callback = new Callback() {
public void successCallback(String channel, Object response) {
System.out.println(response.toString());
}
public void errorCallback(String channel, PubnubError error) {
System.out.println(error.toString());
}
};
但是将调用数据与回调联系起来可能很困难。在 SDK 的 future 版本中,有一些新功能可以帮助实现这一点。我们非常感谢您的反馈,并且肯定会考虑您的反馈,以使 API 更易于使用。
See full PubNub Java SDK docs for hereNow (也可使用其他 SDK)。
关于android - herenow() successCallback 返回channel=null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572254/