PubNub LogoDocs
SupportContact SalesLoginTry Our APIs

›API Reference

java

  • Getting Started
  • API Reference

    • Configuration
    • Publish & Subscribe
    • Presence
    • Access Manager
    • Channel Groups
    • Message Persistence
    • Mobile Push
    • Objects
    • Files
    • Message Actions
    • Miscellaneous
  • Status Events
  • Troubleshooting
  • Change Log
  • Feature Support
  • Platform Support

Utility Methods API for PubNub Java SDK

The methods on this page are utility methods that don't fit into other categories.

Create Push Payload

Description

This method creates the push payload for use in the appropriate endpoint calls.

Method(s)

  1. PushPayloadHelper().setApnsPayload(PushPayloadHelper.APNSPayload).setFcmPayload(PushPayloadHelper.FCMPayload).setCommonPayload(Map<String, Object>).build()
    
    ParameterTypeRequiredDescription
    setApnsPayload()APNSPayloadOptionalSet APNs and APNs2 Payload. Associated devices will receive only the data supplied here within the pn_apns key.
    setFcmPayload()FCMPayloadOptionalSet FCM Payload. Associated devices will receive only the data supplied here within the pn_gcm key.
    setCommonPayload()Map<String, Object>OptionalSet common Payload. Native PubNub subscribers will receive the data provided here, together with the pn_apns, and pn_gcm objects.
    build()Map<String, Object>YesBuilds the payload from the values set using the parameters.

Basic Usage

Create Push Payload

// Create an instance of PushPayloadHelper
PushPayloadHelper pushPayloadHelper = new PushPayloadHelper();

// Setup FCM parameters (FCMPayload)
PushPayloadHelper.FCMPayload fcmPayload = new PushPayloadHelper.FCMPayload();
// The FCMPayload includes a custom Notification object, which FCM itself uses
// to display the message automatically to end-user devices on behalf of the
// client app.
// Notification messages have a predefined set of user-visible keys
PushPayloadHelper.FCMPayload.Notification fcmNotification =
        new PushPayloadHelper.FCMPayload.Notification()
                .setTitle("Notification title")
                .setBody("Notification body text")
                .setImage("http://example.com/image.png");
fcmPayload.setNotification(fcmNotification);
// Data messages contain only your user-defined custom key-value pairs
Map<String, Object> fcmData = new HashMap<>();
fcmData.put("city", "sf");
fcmData.put("count", 71);
fcmData.put("is_private", true);
fcmPayload.setData(fcmData);
// Specify top-level objects
Map<String, Object> fcmCustom = new HashMap<>();
fcmCustom.put("token", "bk3RNwTe3H0:CI2k_HvvDMExdFQ3P1...");
fcmCustom.put("topic", "/topic/news/");
fcmPayload.setCustom(fcmCustom);
// Set FCM payload
pushPayloadHelper.setFcmPayload(fcmPayload);

// Setup APNs parameters
PushPayloadHelper.APNSPayload apnsPayload = new PushPayloadHelper.APNSPayload();
// Define APS
PushPayloadHelper.APNSPayload.APS aps = new PushPayloadHelper.APNSPayload.APS()
        .setAlert("Alert")
        .setBadge(1)
        .setSound("Ding");
// Set APS
apnsPayload.setAps(aps);
// Set APNs2 Configurations as a list
apnsPayload.setApns2Configurations(Arrays.asList(
        new PushPayloadHelper.APNSPayload.APNS2Configuration()
                .setCollapseId("invitations")
                .setExpiration("2019-12-13T22:06:09Z")
                .setVersion("v1")
                .setTargets(Arrays.asList(
                        new PushPayloadHelper.APNSPayload.APNS2Configuration.Target()
                                .setEnvironment(PNPushEnvironment.DEVELOPMENT)
                                .setTopic("com.meetings.chat.app")
                                .setExcludeDevices(Arrays.asList("device1", "device2"))
                )),
        new PushPayloadHelper.APNSPayload.APNS2Configuration()
                .setCollapseId("invitations")
                .setExpiration("2019-12-15T22:06:09Z")
                .setVersion("v2")
                .setTargets(Arrays.asList(
                        new PushPayloadHelper.APNSPayload.APNS2Configuration.Target()
                                .setEnvironment(PNPushEnvironment.DEVELOPMENT)
                                .setTopic("com.meetings.chat.app")
                                .setExcludeDevices(Arrays.asList("device3", "device4"))
                ))
));
Map<String, Object> apnsCustom = new HashMap<>();
apnsCustom.put("apns_key_1", "value_1");
apnsCustom.put("apns_key_2", "value_2");
apnsPayload.setCustom(apnsCustom);
// Set APNS payload
pushPayloadHelper.setApnsPayload(apnsPayload);

// Common payload for native PubNub subscribers
Map<String, Object> commonPayload = new HashMap<>();
commonPayload.put("message", "Hello");
commonPayload.put("such", "object");
commonPayload.put("type", 7);
pushPayloadHelper.setCommonPayload(commonPayload);

// Build the payload
// Returns a Map which can be used directly as the message for the pubnub.publish() method
Map<String, Object> payload = pushPayloadHelper.build();
pubnub.publish()
        .channel("foo")
        .message(payload)
        .async(...);

Response

The PushPayloadHelper#build() operation returns a Map<String, Object> which can be passed directly as the message() parameter to the pubnub.publish() method.

Decrypt

Description

This function allows to decrypt the data.

Method(s)

To decrypt the data you can use the following method(s) in Java V4 SDK.

  1. pubnub.decrypt(data, customCipherKey)
    
    ParameterTypeRequiredDescription
    dataStringYesThe data to decrypt.
    customCipherKeyStringOptionalIf it's not provided, the cipher key from config will be used.

Decrypt File Input Stream

Description

Decrypts input stream with a cipher key.

Method(s)

  1. pubnub.decryptInputStream(inputStream, cipherKey)
    
    ParameterTypeRequiredDefaultDescription
    inputStreamInputStreamYesStream with content encrypted data.
    cipherKeyStringOptionalPNConfiguration.getCipherKey()Cipher key used for encryption.

Basic Usage

FileInputStream encryptedInputStream = new FileInputStream("./cat_picture_encrypted.jpg");
InputStream decryptedInputStream = pubnub.decryptInputStream(encryptedInputStream, "myCipherKey");

Returns

InputStream with decrypted data.

Destroy

Description

Destroy frees up the threads and allows for clean exit.

Method(s)

  1. destroy()
    

Basic Usage

pubnub.destroy();

Returns

None

Encrypt

Description

This function allows to encrypt the data.

Method(s)

To encrypt the data you can use the following method(s) in Java V4 SDK.

  1. pubnub.encrypt(data, customCipherKey)
    
    ParameterTypeRequiredDescription
    dataStringYesThe data to encrypt.
    customCipherKeyStringOptionalIf it's not provided, the cipher key from config will be used.

Basic Usage

Encrypt part of message

JSONParser parser = new JSONParser();
String stringToParse = "hello world";
JSONObject json = (JSONObject) parser.parse(stringToParse);
String encodedKey = "testCypher";

String payload = pubnub.encrypt(json, encodedKey);

Encrypt File Input Stream

Description

Encrypts input stream with a cipher key.

Method(s)

  1. pubnub.encryptInputStream(inputStream, cipherKey)
    
    ParameterTypeRequiredDefaultDescription
    inputStreamInputStreamYesStream with content to encrypt.
    cipherKeyStringOptionalPNConfiguration.getCipherKey()Cipher key used for encryption.

Basic Usage

pubnub.encryptInputStream(InputStream inputStream);
pubnub.encryptInputStream(InputStream inputStream, String cipherKey);

Returns

InputStream with encrypted data.

Get Subscribed Channel Groups

Description

Returns all the subscribed channel groups in a List of type String..

Method(s)

To Get Subscribe Channel Groups you can use the following method(s) in the Java V4 SDK:

  1. public final List<String> getSubscribedChannelGroups()
    

Basic Usage

Get Subscribed Channel Groups :

List<String> groups = pubnub.getSubscribedChannelGroups();

Response

List<String>

["channelGroup1", "channelGroup2"]

Get Subscribed Channels

Description

Returns all the subscribed channels in a List of type String..

Method(s)

To Get Subscribed Channels you can use the following method(s) in the Java V4 SDK:

  1. public final List<String> getSubscribedChannels()
    

Basic Usage

Get Subscribed Channels.

List<String> channels = pubnub.getSubscribedChannels();

Response

List<String>

["channel1", "channel2"]

Reconnect

Description

Call the reconnect method to force the SDK to try and reach out PubNub.

Method(s)

To reconnect the data you can use the following method(s) in Java V4 SDK.

  1. reconnect()
    

    This method doesn't take any arguments.

Basic Usage

pubnub.reconnect();

Time

Description

This function will return a 17 digit precision Unix epoch.

The timetoken is constructed using the following algorithm:
timetoken = (Unix epoch time in seconds) * 10000000

Example of creating a timetoken for a specific time and date

08/19/2013 @ 9:20pm in UTC = 1376961606
timetoken = 1376961606 * 10000000
timetoken = 13769616060000000

Method(s)

To fetch Time you can use the following method(s) in Java V4 SDK:

  1. this.pubnub.Time()
    
    ParameterTypeRequiredDescription
    asyncPNCallbackYesPNCallback of type PNTimeResult

Basic Usage

Get PubNub Timetoken

pubnub.time().async(new PNCallback<PNTimeResult>() {
    @Override
    public void onResponse(PNTimeResult result, PNStatus status) {
        // handle time result.
    }
});

Returns

The time() operation returns a PNTimeResult which contains the following operations:

MethodTypeDescription
getTimetoken()LongReturns a long representation of current timetoken.
← Message ActionsStatus Events →
  • Create Push Payload
    • Description
    • Method(s)
    • Basic Usage
    • Response
  • Decrypt
    • Description
    • Method(s)
  • Decrypt File Input Stream
    • Description
    • Method(s)
    • Basic Usage
    • Returns
  • Destroy
    • Description
    • Method(s)
    • Basic Usage
    • Returns
  • Encrypt
    • Description
    • Method(s)
    • Basic Usage
  • Encrypt File Input Stream
    • Description
    • Method(s)
    • Basic Usage
    • Returns
  • Get Subscribed Channel Groups
    • Description
    • Method(s)
    • Basic Usage
    • Response
  • Get Subscribed Channels
    • Description
    • Method(s)
    • Basic Usage
    • Response
  • Reconnect
    • Description
    • Method(s)
    • Basic Usage
  • Time
    • Description
    • Method(s)
    • Basic Usage
    • Returns
© PubNub Inc. - Privacy Policy