# US 2021/0173633 A1 · Rule-based dynamic command triggers in mobile applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0173633 A1
- Document ID: US20210173633A1
- Status: Published application
- Kind: A1
- Application number: 16/706,322
- Filed: 2019-12-06
- Published: 2021-06-10
- Earliest claimed: 2019-12-06
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Brian Matthew Criscuolo; William Gail Mote, II; Seth Clark; Jeff Sylvia
- Web page: https://patentgrep.com/patent/US20210173633A1

## CPC

- G06F 8/30: Creation or generation of source code
- G06F 8/656: while running
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and devices for data processing at a software development kit running in a mobile device are described. A software development kit may receive, from a mobile application running on the mobile device, a logged event indication in response to an event occurring within the mobile application. The software development kit download, from an application server and before receiving the logged event indication, a data payload including a set of triggers, a set of rules associated with the set of triggers, and a set of processing commands associated with the set of rules. The software development kit may then identify the received logged event indication as a trigger from the set of triggers, evaluate a rule associated with the trigger based on the identifying, and process a processing command associated with the rule, where the processing command includes utilizing native code of the mobile application.

## Claims

### Claim 1

A method for data processing at a software development kit running in a mobile device, comprising:
receiving, from a mobile application running on the mobile device, a logged event indication in response to an event occurring within the mobile application;
downloading, from an application server and before receiving the logged event indication, a data payload comprising a set of triggers, a set of rules associated with the set of triggers, and a set of processing commands associated with the set of rules;
identifying the received logged event indication as a trigger from the set of triggers;
evaluating a rule associated with the trigger from the set of rules based at least in part on the identifying; and
processing a processing command associated with the rule from the set of processing commands based at least in part on the rule, wherein the processing command comprises utilizing native code of the mobile application.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, from the mobile application running on the mobile device, a second logged event indication prior to receiving the logged event indication;
identifying that the second logged event indication does not comprise the trigger from the set of triggers; and
monitoring the mobile application running on the mobile device to identify the event occurring within the mobile application based at least in part on identifying that the second logged event indication does not comprise the trigger.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
identifying one or more parameters associated with the trigger, wherein evaluating the rule associated with the trigger comprises determining that the one or more parameters satisfy the rule.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
storing, at the software development kit running in the mobile device, the data payload downloaded from the application server.

### Claim 5 (depends on 1)

The method of claim 1, wherein receiving the logged event indication further comprises:
receiving, from the mobile application running on the mobile device, an application programming interface (API) call in response to the event occurring within the mobile application, wherein the API call comprises the logged event indication.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining that a second event has occurred within the mobile application after occurrence of the event; and
transmitting, to the application server, a request to update the data payload comprising the set of triggers, the set of rules associated with the set of triggers, and the set of processing commands associated with the set of rules based at least in part on the determining.

### Claim 7 (depends on 6)

The method of claim 6, wherein the second event comprises a change of state of the mobile application from a closed state to an open state.

### Claim 8 (depends on 6)

The method of claim 6, wherein the second event comprises identifying a use of a feature included in the mobile application.

### Claim 9 (depends on 1)

The method of claim 1, wherein evaluating the rule associated with the trigger further comprises:
receiving additional information from at least one of the mobile application, the mobile device, the application server, or a combination thereof; and
evaluating the rule associated with the trigger based at least in part on the additional information.

### Claim 10 (depends on 1)

The method of claim 1, wherein processing the processing command associated with the rule further comprises:
transmitting, for display within the mobile application running on the mobile device, a message.

### Claim 11 (depends on 1)

The method of claim 1, wherein processing the processing command associated with the rule further comprises:
transmitting a request for a uniform resource locator (URL) including one or more parameters associated with the trigger from the set of triggers.

### Claim 12 (depends on 11)

The method of claim 11, wherein the one or more parameters associated with the trigger comprises at least one of an identifier associated with the mobile application, an identifier associated with the received logged event indication, or a combination thereof.

### Claim 13 (depends on 1)

The method of claim 1, wherein processing the processing command associated with the rule further comprises:
opening a webpage associated with the mobile application based at least in part on the rule.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
receiving, from the mobile application running on the mobile device, a second logged event indication in response to a second event occurring within the mobile application; and
forwarding the second logged event indication to the application server based at least in part on receiving the second logged event indication.

### Claim 15 (depends on 1)

The method of claim 1, wherein the set of triggers, the set of rules associated with the set of triggers, and the set of processing commands associated with the set of rules are not statically encoded into the mobile application.

### Claim 16 (depends on 1)

The method of claim 1, wherein the set of triggers, the set of rules associated with the set of triggers, and the set of processing commands associated with the set of rules are dynamically encoded into the application server by a creator associated with the mobile application.

### Claim 17

An apparatus for data processing at a software development kit running in a mobile device, comprising:
a processor,
memory coupled with the processor; and
instructions stored in the memory and executable by the processor to cause the apparatus to:
receive, from a mobile application running on the mobile device, a logged event indication in response to an event occurring within the mobile application;
download, from an application server and before receiving the logged event indication, a data payload comprising a set of triggers, a set of rules associated with the set of triggers, and a set of processing commands associated with the set of rules;
identify the received logged event indication as a trigger from the set of triggers;
evaluate a rule associated with the trigger from the set of rules based at least in part on the identifying; and
process a processing command associated with the rule from the set of processing commands based at least in part on the rule, wherein the processing command comprises utilizing native code of the mobile application.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the instructions are further executable by the processor to cause the apparatus to:
receive, from the mobile application running on the mobile device, a second logged event indication prior to receiving the logged event indication;
identify that the second logged event indication does not comprise the trigger from the set of triggers; and
monitor the mobile application running on the mobile device to identify the event occurring within the mobile application based at least in part on identifying that the second logged event indication does not comprise the trigger.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein the instructions are further executable by the processor to cause the apparatus to:
identify one or more parameters associated with the trigger, wherein evaluating the rule associated with the trigger are executable by the processor to cause the apparatus to determine that the one or more parameters satisfy the rule.

### Claim 20

A non-transitory computer-readable medium storing code for data processing at a software development kit running in a mobile device, the code comprising instructions executable by a processor to:
receive, from a mobile application running on the mobile device, a logged event indication in response to an event occurring within the mobile application;
download, from an application server and before receiving the logged event indication, a data payload comprising a set of triggers, a set of rules associated with the set of triggers, and a set of processing commands associated with the set of rules;
identify the received logged event indication as a trigger from the set of triggers;
evaluate a rule associated with the trigger from the set of rules based at least in part on the identifying; and
process a processing command associated with the rule from the set of processing commands based at least in part on the rule, wherein the processing command comprises utilizing native code of the mobile application.
