Builder

interface Builder

Properties

Link copied to clipboard
abstract var authKey: String

If Access Manager (deprecated PAM v2) is utilized, client will use this authKey in all restricted requests.

Link copied to clipboard
abstract var authToken: String?

Authentication token for the PubNub client. This token is required on the client side when Access Manager (PAM) is enabled for PubNub keys. It can be generated using the PubNub.grantToken method, which should be executed on the server side with a PubNub instance initialized using the secret key.

Link copied to clipboard
abstract var cacheBusting: Boolean

If operating behind a misbehaving proxy, allow the client to shuffle the subdomains.

Link copied to clipboard
abstract var certificatePinner: CertificatePinner?
Link copied to clipboard

How long to keep idle connections alive in the OkHttp connection pool before evicting them.

Link copied to clipboard

Maximum number of idle connections to keep in the OkHttp connection pool.

Link copied to clipboard
abstract var connectionSpec: ConnectionSpec?
Link copied to clipboard
abstract var connectTimeout: Int

How long before the client gives up trying to connect with the server.

Link copied to clipboard
abstract var cryptoModule: CryptoModule?

CryptoModule is responsible for handling encryption and decryption. If set, all communications to and from PubNub will be encrypted.

Link copied to clipboard

Custom loggers list for creating additional logger instances. Use it if your slf4j implementation like logback, log4j2, etc. can't meet your specific logging requirements.

Link copied to clipboard
Link copied to clipboard

How many times publishing file message should automatically retry before marking the action as failed

Link copied to clipboard
abstract var filterExpression: String

Feature to subscribe with a custom filter expression.

Link copied to clipboard

Enable Google App Engine networking.

Link copied to clipboard
abstract var heartbeatInterval: Int

How often the client will announce itself to server.

Link copied to clipboard

Set Heartbeat notification options.

Link copied to clipboard
Link copied to clipboard
abstract var httpLoggingInterceptor: HttpLoggingInterceptor?

Sets a custom HttpLoggingInterceptor for logging network traffic.

Link copied to clipboard

Whether to include a PubNubCore.instanceId with every request.

Link copied to clipboard

Whether to include a PubNubCore.requestId with every request.

Link copied to clipboard

Set to PNLogVerbosity.BODY to enable logging of network traffic, otherwise se to PNLogVerbosity.NONE.

Link copied to clipboard

When true the SDK will resend the last channel state that was set using PubNub.setPresenceState for the current userId with every automatic heartbeat (if heartbeatInterval is greater than 0) and initial subscribe connection (also after e.g. loss of network).

Link copied to clipboard

Enables explicit presence control. When set to true heartbeat calls will contain only channels and groups added explicitly using PubNubCore.presence. Should be used only with ACL set on the server side. For more information please contact PubNub support

Link copied to clipboard
abstract var maximumConnections: Int?
Link copied to clipboard
Link copied to clipboard

For non subscribe operations (publish, herenow, etc), This property relates to a read timeout that is applied from the moment the connection between a client and the server has been successfully established. It defines a maximum time of inactivity between two data packets when waiting for the server's response.

Link copied to clipboard

For non subscribe operations (publish, herenow, etc), This property relates to a read timeout that is applied from the moment the connection between a client and the server has been successfully established. It defines a maximum time of inactivity between two data packets when waiting for the server's response.

Link copied to clipboard
abstract var origin: String

Custom origin if needed.

Link copied to clipboard
abstract var pnsdkSuffixes: Map<String, String>
Link copied to clipboard
abstract var presenceTimeout: Int

Sets the custom presence server timeout.

Link copied to clipboard
abstract var proxy: Proxy?

Instructs the SDK to use a proxy configuration when communicating with PubNub servers.

Link copied to clipboard
abstract var proxyAuthenticator: Authenticator?
Link copied to clipboard
Link copied to clipboard
abstract var publishKey: String

The publish key from the admin panel (only required if publishing).

Link copied to clipboard

Retry configuration for requests. Defaults to RetryConfiguration.Exponential enabled only for subscription endpoint (other endpoints are excluded).

Link copied to clipboard
abstract var secretKey: String

The secret key from the admin panel (only required for modifying/revealing access permissions).

Link copied to clipboard
abstract var secure: Boolean

If set to true, requests will be made over HTTPS.

Link copied to clipboard
Link copied to clipboard
abstract var subscribeKey: String

The subscribe key from the admin panel.

Link copied to clipboard
abstract var subscribeTimeout: Int

The subscribe request timeout.

Link copied to clipboard

When true the SDK doesn't send out the leave requests.

Link copied to clipboard
abstract var userId: UserId

The user ID that the PubNub client will use.

Link copied to clipboard

Functions

Link copied to clipboard
abstract fun build(): PNConfiguration

Create a PNConfiguration object with values from this builder.