PubNub hereNow 方法未返回预期的 uuids 列表

PubNub hereNow method not returning the expected uuids list

我正在 android 应用程序中使用 PUBNUB api

我是这样设置uuid的

mPubnub.setUUID("customName");

在用户应用程序中

在客户端应用程序中,我在存在回调中调用 herenow 方法

mPubnub.hereNow("Svnchannel", hereNowCallback);

但是我得到的 uuid 列表是这样的

"uuids":["80e3b23f-bad1-4b48-8e89-61c234400d25","50b5c464-cda7-49b8-8ab6-a84ec5de42a1","0465c47b-c03b-4c86-91c4-60ea7267f467"]}

我期待的是这样的

"uuids":["customName1","customName2","customName3"]}

我做错了什么?请帮忙

使用 PubNub Android SDK

设置和重复使用 UUID

您需要在实例化 Pubnub 对象之后和订阅之前设置 setUUID(String uuid)。这是此代码的简短版本:

Pubnub pubnub = new Pubnub("<your_pub_key>", "<your_sub_key>");
pubnub.setUUID("1234-5678-9ABC-DEFG-HIJK");

最好将此 UUID 缓存在设备上,以便在每次实例化 Pubnub 对象时重用它。或者您可能会在用户登录到您的服务器后从数据库中的用户配置文件记录中获取用户的 UUID。

这是 generating/caching/setting/reusing UUID 的更完整解决方案。此代码可能需要一些 refinement/updating.

// creating the Pubnub connection object with minimal args
Pubnub pubnub = new Pubnub("<your_pub_key>", "<your_sub_key>");

// get the SharedPreferences object using private mode 
// so that this uuid is only used/updated by this app SharedPreferences
sharedPrefs = getActivity().getPreferences(Context.MODE_PRIVATE);

// get the current pn_uuid value (first time, it will be null)
String uuid = getResources().getString(R.string.pn_uuid);

// if uuid hasn’t been created/ persisted, then create
// and persist to use for subsequent app loads/connections 
if (uuid == null || uuid.length == 0) {
    // PubNub provides a uuid generator method but you could 
    // use your own custom uuid, if required
    uuid = pubnub.uuid();
    SharedPreferences.Editor editor = sharedPrefs.edit();    
    editor.putString(getString(R.string.pn_uuid), uuid);
    editor.commit();
}

// set the uuid for the pubnub object
pubnub.setUUID(uuid);

您应该为每个设备使用不同的 UUID。