Feature Support for PubNub Objective-C SDK

Access Manager

PubNub provides builtin enterprise-grade security with fine-grained access control to all of your PubNub applications with Access Manager, Message Layer encryption with AES256, and Transport Layer Security with TLS and SSL.
NameDescription
Parse TokenThe SDK supports Parse Token.
Set TokenThe SDK supports Set Token.

Channel Groups

Channel Groups allows PubNub developers to bundle thousands of channels into a group that can be identified by name. These Channel Groups can then be subscribed to, receiving data from the many backend-channels the channel group contains.
NameDescription
Add ChannelsAdd channel to a channel group.
Remove ChannelsRemove channel from channel group.
Remove Channels GroupsRemove channel groups.
List Channels In Channel GroupList all channels of a channel group.

File Sharing

Allows users to upload and share files.
NameDescription
Send FileAllows users to upload file / data to specified channel.
List FilesAllows users to retrieve list of files uploaded to a channel.
Get File URLAllows users to generate URL which can be used to download a file from a target channel.
Delete FileAllows users to delete a file from specified channel.
Download FileAllows users to download a file from specified channel.
Get file publish dateAdd file publish date into the `sendFile` API response.

Message Reactions

SDK has support for Message Reactions.
NameDescription
Get Message ReactionsSDK has support to Get Message Reactions.
Add Message ReactionsSDK has support to Add Message Reactions.
Remove Message ReactionsSDK has support to Remove Message Reactions.

Notify

Alerts from the SDK.
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.

App Context API

The App Context API enables you to create and retrieve data associated with key objects in the PubNub realtime application platform.
NameDescription
Get metadata for all UUIDsReturns a paginated list of UUID metadata, optionally including custom properties.
Get a UUID's metadataReturns metadata for the specified UUID, optionally including custom properties.
Set UUID's metadataSets metadata for the specified UUID.
Delete a UUID's metadataDeletes metadata for the specified UUID.
Get metadata for all channelsReturns metadata for all channels, optionally including custom properties.
Get a channel's metadataReturns metadata for the specified channel, optionally including custom properties.
Set a channel's metadataSets metadata for the specified channel.
Delete a channel's metadataDeletes metadata for the specified channel.
Get a UUID's channel membership metadataReturns channel membership metadata for the specified UUID.
Set channel membership metadataSets channel membership metadata for the specified UUID.
Remove channel membership metadataRemoves channel membership metadata for the specified UUID.
Manage a UUID's channel membership metadataSets/Removes channel membership metadata for the specified UUID.
Get all members' metadata in the channelReturns the members' metadata in the specified channel.
Set members' metadata in the channelSets members' metadata in the specified channel.
Remove members' metadata in the channelRemoves members' metadata in the specified channel.
Manage members' metadata in the channelSets/Removes members' metadata in the specified channel.
Objects FilteringSupports filtering in App Context API.
Objects SortingSupports filtering in App Context API.

Others

Other Features
NameDescription
TelemetrySends back latency info to the server.
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.
Create Push PayloadThe SDK has support to create the push payload for use in the appropriate endpoint calls.
Use random initialization vector (IV)When `true`, the IV will be random for all requests and not just for file upload. When `false`, the IV will be hard-coded for all requests except file upload.

Presence

PubNub's Channel Presence empowers your applications to Track online and offline status of users and devices in realtime.
NameDescription
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.
Where NowObtain information about the current list of a channels to which a UUID is subscribed.
Get StateGet state is used to get the key/value pairs specific to a subscriber UUID.
Set StateSet state is used to set key/value pairs specific to a subscriber UUID.
HeartbeatTimeout events are triggered when the server does not hear a heartbeat from the client within a default timeout time of 280 seconds.
Configurable Heartbeats per channelUser can start/stop heartbeats without subscription to channel or channel group.
Presence Heartbeat call optimizations.Presence Heartbeat call is delayed if a Subscribe call precedes it within the presence heartbeat interval.
Presence Delta IntervalsAfter a certain amount of occupants on a channel, the presence service stops sending individual join and leave events and instead starts sending interval notifications of people that join or leave. The amount at which delta kicks in is configurable on the admin panel.

Publish

Publish a message on a channel.
NameDescription
Store FlagAbility to skip message from storage.
Publish RAW JSONPublish JSON as is.
Publish with MetadataPublish extra meta with the request used for Message Filtering.
Publish using GET Publish using HTTP GET.
Publish using POSTPublish using HTTP POST.
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 Message Persistence feature.
Replication FlagControls whether the message should be replicated across stores.
TTL per published messageOffer the ability to set a per message time to live in storage.
Publish AsynchronouslyPublish the message asynchronously.
Compress MessageCompress the message before publish.
Publish File MessageAllows users to publish file message to a specified channel.

Mobile Push Notifications

Mobile Push Notifications feature enables developers to bridge native PubNub publishing with third-party push notification services including Google Android Firebase Cloud Messaging (FCM) formerly known as Google Cloud Messaging (GCM) and Apple iOS Apple Push Notification Service (APNs).
NameDescription
Add Device To ChannelsEnables push notifications on provided set of channels.
Remove DeviceDisable push notifications from all channels which is registered.
List Channels From DeviceList all channels on which push notification has been enabled.
Remove Device From ChannelsDisable push notifications on provided set of channels.
APNS SupportSDK has support to send notifications using APNS.
APNS2 SupportSDK has support to send notifications using APNS2.
FCM SupportSDK has support to send notifications using FCM.

Signals

A lightweight alternative for small frequent indications exchanged between participants. Examples are typing indicators in chat, or geo-location information.
NameDescription
Send a SignalHas support to send a Signal.

Message Persistence

PubNub's Message Persistence feature enables developers to store messages as they are published, and retrieve them at a later time.
NameDescription
ReverseTraverse the timeline in reverse starting with the oldest message first.
Include TimetokenWhether event dates time tokens should be included in response or not.
Start EndTime token delimiting the start/end of time slice (exclusive) to pull messages from.
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 default valueFetch Messages returns a default of 100 messages.
CountSpecifies the number of historical messages to return.
History with metaThe SDK has support to retrieve History with metadata
Fetch messages from storage with metaThis function fetches historical messages from multiple channels with metadata.
Fetch messages from storage with action flagsThis function fetches historical messages from multiple channels with message action flags.
Fetch messages with file eventsHas the ability to fetch messages with file events.
History messages from storage with Message TypeThis function fetches historical messages from multiple channels with Message Type param in each message.
History messages from storage with UUIDThis function fetches historical messages from multiple channels with UUID param in each message.
Fetch messages from storage with Message TypeThis function fetches historical messages from multiple channels with Message Type param in each message.
Fetch messages from storage with UUIDThis function fetches historical messages from multiple channels with UUID param in each message.
Fetch messages default valueThis function returns a default of 100 historical messages for a single channel.

Subscribe

This function causes the client to create an open TCP socket to the PubNub Real-Time Network and begin listening for messages on a specified channel.
NameDescription
Subscribe to channelsAbility to subscribe to channels.
Subscribe to channel groupsAbility to subscribe to channel groups.
Subscribe to presence channelsAbility to subscribe to presence channels.
Subscribe to presence channel groupsAbility to subscribe to presence channel groups.
Subscribe with timetokenSubscribe with timetoken.
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 (.).
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.
Publisher UUIDHas the publisher UUID of the published message.
Subscribe with User StateSubscribe with User State in a single call.
PubSub v2 compatibilityUses PubSub v2 to make subscribe calls.
Subscribe Message DedupeAutomatically dedupe duplicate messages.
Signal ListenerHas support to listen to Signal messages.
App Context API Membership events listenerHas support to listen to Membership Events from App Context API.
App Context API Channel events listenerHas support to listen to Channel Events from App Context API.
App Context API UUID events listenerHas support to listen to UUID Events from App Context API.
Message Actions events listenerHas support to listen to Action Events from Message Reactions API.
Files Events ListenerHas support to listen to Files Events from File Sharing API.

Time

Return a 17 digit precision Unix epoch from the server.
NameDescription
TimeThis function will return a 17 digit precision Unix epoch from the server.

Unsubscribe

Unsubscribe from a channel/channel group.
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.
Last updated on