java.lang.Object | |
↳ | com.urbanairship.actions.Action |
Known Indirect Subclasses |
The base action class that describes an operation to perform.
An action is an abstraction over a unary function, which takes
ActionArguments
and performs a defined task,
producing an optional ActionResult
. Actions
may restrict or vary the work they perform depending on the arguments they
receive, which may include type introspection and runtime context.
In the larger view, the Actions framework provides a convenient way to automatically perform tasks by name in response to push notifications, Rich App Page interactions and JavaScript.
The UA library comes with pre-made actions for common tasks such as setting tags and opening URLs out of the box, but this class can also be extended to enable custom app behaviors and engagement experiences.
While actions can be run manually, typically they are associated with names
in the ActionRegistry
, and run
on their own threads with the ActionRunRequest
.
Actions that are either long lived or are unable to be interrupted by the device going to sleep should request a wake lock before performing. This is especially important for actions that are performing in SITUATION_PUSH_RECEIVED, when a push is delivered when the device is not active.
The value returned by shouldRunOnMainThread()
determines which thread should
run the action if executed asynchronously. If an action involves a UI interaction, this
method should be overridden to return true so that the action definitely runs before the
app state changes.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
@interface | Action.Situation |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | SITUATION_AUTOMATION | Situation where an action is triggered from Action Automation. | |||||||||
int | SITUATION_BACKGROUND_NOTIFICATION_ACTION_BUTTON | Situation where an action is triggered from a background notification action button. | |||||||||
int | SITUATION_FOREGROUND_NOTIFICATION_ACTION_BUTTON | Situation where an action is triggered from a foreground notification action button. | |||||||||
int | SITUATION_MANUAL_INVOCATION | Situation where an action is manually invoked. | |||||||||
int | SITUATION_PUSH_OPENED | Situation where an action is triggered when a push is opened. | |||||||||
int | SITUATION_PUSH_RECEIVED | Situation where an action is triggered when a push is received. | |||||||||
int | SITUATION_WEB_VIEW_INVOCATION | Situation where an action is triggered from a web view. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Action() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
boolean |
acceptsArguments(ActionArguments arguments)
Called before an action is performed to determine if the
the action can accept the arguments.
| ||||||||||
void |
onFinish(ActionArguments arguments, ActionResult result)
Called after the action performs.
| ||||||||||
void |
onStart(ActionArguments arguments)
Called before an action is performed.
| ||||||||||
abstract ActionResult |
perform(ActionArguments arguments)
Performs the action.
| ||||||||||
boolean |
shouldRunOnMainThread()
Determines which thread runs the action.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Situation where an action is triggered from Action Automation.
Situation where an action is triggered from a background notification action button.
Situation where an action is triggered from a foreground notification action button.
Situation where an action is manually invoked.
Situation where an action is triggered when a push is opened.
Situation where an action is triggered when a push is received.
Situation where an action is triggered from a web view.
Called before an action is performed to determine if the the action can accept the arguments.
arguments | The action arguments. |
---|
true
if the action can perform with the arguments,
otherwise false
.
Called after the action performs.
arguments | The action arguments. |
---|---|
result | The result of the action. |
Called before an action is performed.
arguments | The action arguments. |
---|
Performs the action.
arguments | The action arguments. |
---|
Determines which thread runs the action.
true
if the action should be run on the main thread, or false
if the
action should run on a background thread.