【问题标题】:herenow() successCallback returns channel=nullherenow() successCallback 返回 channel=null
【发布时间】:2017-05-20 23:24:38
【问题描述】:

也许你知道为什么当我调用 PubNubs hereNow() 函数时,successCallback 得到一个“null”字符串作为频道名称:

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 函数,我确实在回调函数中获得了正确的频道名称 - 因此我想知道 pubnub jar 中是否存在错误?我使用的是 3.7.0 版

谢谢, 马蒂亚斯

【问题讨论】:

  • Matthias,我知道您之前就其他问题通过支持与我们联系过,但请告诉我您是否能够解决此问题以及解决方案是什么。

标签: android callback null pubnub


【解决方案1】:

PubNub Here Now API

因为你在 hereNow 方法中提供了通道的值

pubnub.hereNow("my_channel", callback);

您已经知道该值,因此回调中未提供该值。

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 的未来版本中,有一些新功能可以帮助实现这一点。我们非常感谢您的反馈,并且肯定会考虑到使 API 更易于使用。

See full PubNub Java SDK docs for hereNow(也可以使用其他 SDK)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    相关资源
    最近更新 更多