# Poynt Cloud Messaging
# Does PCM guarantee message delivery?
PCM will hold your message only up to the time specified in the message ttl
(time-to-live) parameter. If, for whatever reason, the Poynt Terminal is offline longer than that period of time, your message will not be delivered.
# Does PCM guarantee at MOST once delivery?
Yes. PCM delivers your message only once, so you don't need de-dupe logic.
# Does PCM guarantee ordered message delivery?
No. Order Cloud message is not guaranteed. While most messages will arrive in the order sent, there is a chance that messages will arrive out of order. Your app must take this scenario into account.
# How fast are messages delivered from the cloud to the GoDaddy Poynt device?
A number of network conditions can impact the speed of message delivery from the cloud to the app on the Poynt Terminal. While most messages are delivered in near real-time, your application logic must consider account delays in message delivery.
Even if your cloud application is running from a world-class data center, GoDaddy Poynt terminals are connected to the internet using various methods (i.e. WiFi, Ethernet, 3G) and conditions. There are a number of tools that can simulate various network conditions, including an Android Emulator.
# What is the maximum message TTL (time-to-live)?
When sending your message, you can specify a value (in seconds) in the ttl
(time-to-live) parameter. PCM will not deliver the message if the TTL time has passed. The maximum value TTL is 2419200 (that's 4 weeks -- 4 * 7 * 24 * 60 * 60).
# Can I overwrite a previously sent message?
PCM messages have a parameter called collapseKey
. When specified, this key becomes the message's unique identifier. If you send two PCM message with the same collapseKey
, and assuming the first message has not yet been delivered, then the second message will overwrite the first message.
# What is the maximum message size that I can send?
PCM message payloads (i.e. the data
element) can be up to 4096 bytes long.
# Why isn't my Smart Terminal App receiving cloud messages?
There are many reasons why your cloud messages aren't making it to the smart terminal. If your client app is getting a 401 (unauthorized access) error code, you can refer to this thread (opens new window) on the developer discussions forum.
# Why is my emulator not receiving cloud messages?
The cloud messaging application does not have system privileges while running on the emulator so when it's killed for any reason, you will have to manually restart the app.
adb shell am start co.poynt.cloudmessaging