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. |
Badge notification type.
Sound notification type.
Alert notification type.
Local push origin.
Remote push origin.
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 items that are less important. Only available on Android. [icon:android]
The default notification priority. 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]