FAQ for Dart SDK
Check out the frequently asked questions about the PubNub Dart SDK.
Why is a userId required?
The userId
uniquely identifies the client (end user, device, or server). Set and persist a stable value for the lifetime of the user or device; without it, the client cannot connect.
Can I publish and subscribe with one client?
Yes. Use a Subscription
for real-time updates and publish from the same PubNub
instance.
How do I enable Transport Layer Security (TLS)?
Set ssl: true
on the NetworkingModule
to enable TLS for all communications with PubNub.
Why am I not receiving messages after subscribing?
Messages published before subscribe()
are not delivered by default. Subscribe first, then publish. Use history to fetch earlier messages when needed.
How do I filter messages server-side?
Set filterExpression
on the keyset. The Stream Controller add-on must be enabled for your keyset.
Which encryption should I use?
Prefer 256‑bit AES‑CBC via CryptoModule
. The legacy 128‑bit option is available for backward compatibility.
How do I configure reconnection behavior?
Set retryPolicy
on the NetworkingModule
(exponential or linear). Non‑subscribe requests do not retry.
How do I use a proxy?
Provide a custom NetworkingModule
that routes traffic through your proxy and origin.
Why does encryption use AES-128 when CryptoModule
is configured?
If a call supplies a cipherKey
argument (for example, in file encrypt/decrypt helpers), that argument overrides the configured CryptoModule
for that operation and uses legacy Advanced Encryption Standard (AES) with 128-bit keys. Remove the cipherKey
argument to use the CryptoModule
configuration (AES‑256‑CBC), or configure a separate CryptoModule
instance for partial encryption scenarios.
For details, refer to CryptoModule configuration.