Version: stable
FUNCTIONS | |
---|---|
push.register() | |
push.set_listener() | |
push.set_badge_count() | |
push.schedule() | |
push.cancel() | |
push.cancel_all_issued() | |
push.get_scheduled() | |
push.get_all_scheduled() |
CONSTANTS | |
---|---|
NOTIFICATION_BADGE | |
NOTIFICATION_SOUND | |
NOTIFICATION_ALERT | |
ORIGIN_LOCAL | |
ORIGIN_REMOTE | |
PRIORITY_MIN | |
PRIORITY_LOW | |
PRIORITY_DEFAULT | |
PRIORITY_HIGH | |
PRIORITY_MAX |
push.register(notifications,callback)
Send a request for push notifications. Note that the notifications table parameter is iOS only and will be ignored on Android.
PARAMETERS
notifications |
table |
The types of notifications to listen to. [icon:ios] | |||||||||
callback |
function |
Register callback function.
|
EXAMPLES
Register for push notifications on iOS. Note that the token needs to be converted on this platform.
local function push_listener(self, payload, origin)
-- The payload arrives here.
end
function init(self)
local alerts = {push.NOTIFICATION_BADGE, push.NOTIFICATION_SOUND, push.NOTIFICATION_ALERT}
push.register(alerts, function (self, token, error)
if token then
-- NOTE: %02x to pad byte with leading zero
local token_string = ""
for i = 1,#token do
token_string = token_string .. string.format("%02x", string.byte(token, i))
end
print(token_string)
push.set_listener(push_listener)
else
-- Push registration failed.
print(error.error)
end
end
Register for push notifications on Android.
local function push_listener(self, payload, origin)
-- The payload arrives here.
end
function init(self)
push.register({}, function (self, token, error)
if token then
print(token)
push.set_listener(push_listener)
else
-- Push registration failed.
print(error.error)
end
end)
end
push.set_listener(listener)
Sets a listener function to listen to push notifications.
PARAMETERS
listener |
function |
Listener callback function.
|
EXAMPLES
Set the push notification listener.
local function push_listener(self, payload, origin, activated)
-- The payload arrives here.
pprint(payload)
if origin == push.ORIGIN_LOCAL then
-- This was a local push
...
end
if origin == push.ORIGIN_REMOTE then
-- This was a remote push
...
end
end
local init(self)
...
-- Assuming that push.register() has been successfully called earlier
push.set_listener(push_listener)
end
push.set_badge_count(count)
Set the badge count for application icon. This function is only available on iOS. [icon:ios]
PARAMETERS
count |
number |
Badge count |
push.schedule(time,title,alert,payload,notification_settings)
Local push notifications are scheduled with this function. The returned `id` value is uniquely identifying the scheduled notification and can be stored for later reference.
PARAMETERS
time |
number |
Number of seconds into the future until the notification should be triggered. | |||||||||
title |
string |
Localized title to be displayed to the user if the application is not running. | |||||||||
alert |
string |
Localized body message of the notification to be displayed to the user if the application is not running. | |||||||||
payload |
string |
JSON string to be passed to the registered listener function. | |||||||||
notification_settings |
table |
Table with notification and platform specific fields
|
RETURNS
number |
Unique id that can be used to cancel or inspect the notification | |
string |
Error string if something went wrong, otherwise nil |
EXAMPLES
This example demonstrates how to schedule a local notification:
-- Schedule a local push in 3 seconds
local payload = '{ "data" : { "field" : "Some value", "field2" : "Other value" } }'
id, err = push.schedule(3, "Update!", "There are new stuff in the app", payload, { action = "check it out" })
if err then
-- Something went wrong
...
end
push.cancel(id)
Use this function to cancel a previously scheduled local push notification. The notification is identified by a numeric id as returned by `push.schedule()`.
PARAMETERS
id |
number |
The numeric id of the local push notification |
push.cancel_all_issued()
Use this function to cancel a previously issued local push notifications.
PARAMETERS
None
push.get_scheduled(id)
Returns a table with all data associated with a specified local push notification. The notification is identified by a numeric id as returned by `push.schedule()`.
PARAMETERS
id |
number |
The numeric id of the local push notification. |
RETURNS
table |
Table with all data associated with the notification. |
push.get_all_scheduled()
Returns a table with all data associated with all scheduled local push notifications. The table contains key, value pairs where the key is the push notification id and the value is a table with the notification data, corresponding to the data given by `push.get_scheduled(id)`.
PARAMETERS
None
RETURNS
table |
Table with all data associated with all scheduled notifications. |
This priority is for items might not be shown to the user except under special circumstances, such as detailed notification logs. Only available on Android. [icon:android]
Priority for more important notifications or alerts. Only available on Android. [icon:android]
Set this priority for your application's most important items that require the user's prompt attention or input. Only available on Android. [icon:android]