GoFeatures Matrix for Go V4 SDK

 

These docs are for PubNub 4.0 for Go which is our latest and greatest! For the docs of the older versions of the SDK, please check PubNub 3.0 for Go.

If you have questions about the PubNub for Go SDK, please contact us at support@pubnub.com.

NameDescription
Access Manager Token ManagementThe SDK has support Access Manager Token Management
GrantThis function establishes access permissions for PubNub Access Manager (PAM) by setting the read or write attributes.
Grant DeleteThis function establishes access permissions for PubNub Access Manager (PAM) by setting the Delete attribute.
Grant ManageThis function establishes access permissions for PubNub Access Manager (PAM) by setting the Manage attribute.
Grant version 3The SDK has support for Grant version 3
Root permissions for the Access ManagerWhen you init with secret key, you get root permissions for the Access Manager. With this feature you don't have to grant access to your servers to access channel data. The servers get all access on all channels.
NameDescription
Add ChannelsAdd channel to a channel group.
List Channels In Channel GroupList all channels of a channel group.
Remove ChannelsRemove channel from channel group.
Remove Channels GroupsRemove channel groups.
NameDescription
Add Message ActionsSDK has support to Add Message Actions
Get Message ActionsSDK has support to Get Message Actions
Remove Message ActionsSDK has support to Remove Message Actions
NameDescription
Add Device To ChannelsEnables push notifications on provided set of channels.
List Channels From DeviceList all channels on which push notification has been enabled.
Remove DeviceDisable push notifications from all channels which is registered.
Remove Device From ChannelsDisable push notifications on provided set of channels.
NameDescription
Request message count exceededWhen the number of messages arrived on a subscribe response are equal to or greater the number set in the init config, a new status message on the status callback, with the category PNRequestMessageCountExceededCategory, will be invoked.
NameDescription
Objects API Create SpaceSupports the Create Space method of the Objects API
Objects API Create UserSupports the Create User method of the Objects API
Objects API Delete SpaceSupports the Delete Space method of the Objects API
Objects API Delete UserSupports the Delete User method of the Objects API
Objects API Get MembersSupports the Get Members method of the Objects API
Objects API Get MembershipsSupports the Get Memberships method of the Objects API
Objects API Get SpaceSupports the Get Space method of the Objects API to retrieve a specific space
Objects API Get SpacesSupports the Get Spaces method of the Objects API
Objects API Get UserSupports the Get User method of the Objects API to retrieve a specific user
Objects API Get UsersSupports the Get Users method of the Objects API
Objects API Manage MembersSupports the Manage Members method of the Objects API
Objects API Manage MembershipsSupports the Manage Memberships method of the Objects API
Objects API Update SpaceSupports the Update Space method of the Objects API
Objects API Update UserSupports the Update User method of the Objects API
NameDescription
Process pn_other in messageWhen a message with JSON key named `pn_other` is published and encryption is enabled, only the value of `pn_other` will be encrypted and the rest of the message will be in plain text. This feature is useful when you want to send out encrypted push notifications. On the subscribe end, if `pn_other` is detected in the received message and encryption is enabled, only the value of `pn_other` wil be decrypted. Rest of the message will be not be decrypted. Same goes for History and Fetch.
QueryParam in all API callsThe keys and values of the variable are passed as the query string parameters of the URL called by the API.
TelemetrySends back latency info to the server.
NameDescription
Configurable Heartbeats per channelUser can start/stop heartbeats without subscription to channel or channel group.
Get StateGet state is used to get the key/value pairs specific to a subscriber uuid.
HeartbeatTimeout events are triggered when the server does not hear a hearbeat from the client within a default timeout time of 280 seconds.
Here NowObtain information about the current state of a channel including a list of unique user-ids currently subscribed to the channel and the total occupancy count of the channel.
Here Now RefreshIf the full interval message is greater than 30KB (since the max publish payload is ∼32KB), none of the extra fields will be present. Instead there will be a here_now_refresh boolean field set to true. This indicates to the user that they should do a hereNow request to get the complete list of users present in the channel.
Presence Heartbeat call optimizations.Presence Heartbeat call is delayed if a Subscribe call precedes it within the presence heartbeat interval.
Set StateSet state is used to set key/value pairs specific to a subscriber uuid.
Where NowObtain information about the current list of a channels to which a uuid is subscribed to.
NameDescription
FireFire method used for publishing. When a message is sent using fire, it will not be replicated to other Points of Presence, it will remain at the originating Point of Presence, and is not eligible for archiving via the Storage and Playback feature.
Publish RAW JSONPublish JSON as is.
Publish using GETPublish using HTTP GET
Publish using POSTPublish using HTTP POST
Publish with MetadataPublish extra meta with the request used for Message Filtering.
Replication FlagControls whether the message should be replicated across stores.
Store FlagAbility to skip message from storage.
TTL per published messageOffer the ability to set a per message time to live in storage.
NameDescription
Send a SignalHas support to send a Signal
NameDescription
CountSpecifies the number of historical messages to return.
Count of Messages on ChannelsThe API is a history based API that simply does a mostly normal history operation but instead of returning the messages in a channel it returns the count of messages. Without actually calling history on those channels this API gives you the ability to say if there are messages in the chat channel you can go look at further.
Delete messages from storageRemoves the messages from the history of a specific channel.
Fetch messages from storageThis function fetches historical messages from multiple channels.
Fetch messages from storage with message actionsThis function fetches historical messages from multiple channels with message actions data
Fetch messages from storage with metaThis function fetches historical messages from multiple channels with metadata
History with metaThe SDK has support to retrieve History with metadata
Include TimetokenWhether event dates time tokens should be included in response or not.
ReverseTraverse the timeline in reverse starting with the oldest message first.
Start EndTime token delimiting the start/end of time slice (exclusive) to pull messages from.
NameDescription
Filter ExpressionStream Filter allows a subscriber to apply a filter to only receive messages that satisfy the conditions of the filter. The message filter is set by the subscribing client(s) but it is applied on the server side thus preventing unwanted messages (those that do not meet the conditions of the filter) from reaching the subscriber.
Message Actions events listenerHas support to listen to Action Events from Message Actions API
Objects API Membership events listenerHas support to listen to Membership Events from Objects API
Objects API Space events listenerHas support to listen to Space Events from Objects API
Objects API User events listenerHas support to listen to User Events from Objects API
Publisher UUIDHas the publisher UUID of the published message.
PubSub v2 compatibilityUses PubSub v2 to make subscribe calls.
Signal ListenerHas support to listen to Signal messages
Subscribe to channel groupsAbility to subscribe to channel groups.
Subscribe to channelsAbility to subscribe to channels.
Subscribe to presence channelsAbility to subscribe to presence channels.
Subscribe with timetokenSubscribe with timetoken.
Subscribe with User StateSubscribe with User State in a single call.
Wildcard subscribeWildcard subscribes allow the client to subscribe to multiple channels using wildcard. E.g., if you subscribe to a.* you will get all messages for a.b, a.c, a.x. The wildcarded * portion refers to any portion of the channel string name after the dot (.).
NameDescription
TimeThis function will return a 17 digit precision Unix epoch from the server.
NameDescription
Unsubscribe from allUnsubscribe from all channel/channel groups
Unsubscribe suppress leave eventsLeave request will not be sent from the SDK, if set in config.