Initialize PubNub
Before you start calling PubNub APIs, you must initialize the PubNub object in your application. This step uses the publish and subscribe keys from the Admin Portal and enables PubNub functionality. You can customize how PubNub works by setting different options. These options control security, performance, and features—for example, how to handle a connection interruption or whether to encrypt messages. Transport encryption (SSL/TLS) is enabled by default.
You only need to provide subscribeKey
and a User ID to receive messages. If you plan to send messages, you must also configure publishKey
. There are other ways of initializing PubNub, depending on the features you want to use.
Make User ID descriptive
It's up to you to define a userId
, which is a UTF-8 encoded string of up to 92 characters used to identify the device that connects to PubNub.
Check out how easy it is:
- JavaScript
- Node.js
- Swift
- Objective-C
- Java
- C#
- Python
- Dart
- Kotlin
1var pubnub = new PubNub({
2 publishKey: "myPublishKey",
3 subscribeKey: "mySubscribeKey",
4 userId: "myUniqueUserId"
5});
1const pubnub = new PubNub({
2 subscribeKey: 'mySubscribeKey',
3 publishKey: 'myPublishKey',
4 userId: 'myUniqueUserId',
5});
1import PubNubSDK
2
3var pnconfig = PubNubConfiguration(
4 publishKey: "myPublishKey",
5 subscribeKey: "mySubscribeKey"
6)
7
8pnconfig.userId = "myUniqueUserId"
9let pubnub = PubNub(configuration: pnconfig)
1PNConfiguration *pnconfig = [PNConfiguration configurationWithPublishKey:@"myPublishKey"
2 subscribeKey:@"mySubscribeKey"];
3pnconfig.uuid = "myUniqueuuid";
4PubNub *pubnub = [PubNub clientWithConfiguration:pnconfig];
1PNConfiguration.Builder configBuilder = PNConfiguration.builder(new UserId("yourUserId"), "yourSubscribeKey");
2configBuilder.publishKey("myPublishKey");
3PubNub pubNub = PubNub.create(configBuilder.build());
1PNConfiguration pnconfig = new PNConfiguration();
2pnconfig.PublishKey = "myPublishKey";
3pnconfig.SubscribeKey = "mySubscribeKey";
4pnconfig.UserId = "myUniqueUserId";
5
6Pubnub pubnub = new Pubnub(pnconfig);
1from pubnub.pnconfiguration import PNConfiguration
2from pubnub.pubnub import PubNub
3
4pnconfig = PNConfiguration()
5pnconfig.publish_key = "myPublishKey"
6pnconfig.subscribe_key = "mySubscribeKey"
7pnconfig.user_id = "myUniqueUserId"
8
9pubnub = PubNub(pnconfig)
1var pubnub = PubNub(
2 defaultKeyset:
3 Keyset(subscribeKey: 'mySubscribeKey', publishKey: 'myPublishKey', userId: UserId('myUniqueUserId')));
1val builder = PNConfiguration.builder(UserId("myUniquesUserID"), "subscribeKey") {
2 publishKey = "publishKey"
3}
4val pubnub = PubNub.create(builder.build())
User ID / UUID
User ID is also referred to as UUID
/uuid
in some APIs and server responses but holds the value of the userId
parameter you set during initialization.
You don't have to create a separate PubNub object every time you want to send or receive a message. After the initialization, subscribeKey
, publishKey
, and userId
are reused for all operations.
Let's look into the userId
parameter a bit more.