Delivery of instructions in host applications
Embodiments of the systems described herein can implement one or more processes remotely delivering customized code to a host application and/or computing device. The host application may be configured as an Application Programming Interface with a customized code processing library that may configure the host application to receive further instructions remotely. The host application may be further configured to execute host code and/or third-party code. The host application may be configured to receive remote application logic, after the host application has been installed on a computing device, and to execute the received application logic to alter the behavior of the host application, such as selectively tracking end user interactions.
1 . A method comprising:
receiving a first tag library comprising instructions in an interpreted language;
constructing a first tag object from the first tag library;
executing a host application, wherein the host application is not (i) a web application and is not (ii) an application implemented entirely in a web browser; and
executing the first tag object, wherein executing the first tag object comprises:
executing the instructions, wherein executing the instructions alters a behavior of the host application,
invoking, by a tag interpreter, an API execution process configured to make direct HTTP calls, the API execution process including a library to construct an HTTP call including a destination, a header, and a security protocol from configuration specified in the first tag object and application logic received from a server, and
executing the HTTP call, wherein the configuration further specifies parameter data to be included in the HTTP call.
2 . The method of claim 1 , wherein executing the host application occurs at a first time, the method further comprising:
executing the host application a second time, wherein executing the host application the second time further comprises generating a first event, and
wherein the behavior altered by executing the instructions comprises tracking the first event; and
transmitting, to a network server, data associated with the first event.
3 . The method of claim 1 , wherein the behavior altered by executing the instructions in the interpreted language comprises:
executing an application programming interface call to a network server.
4 . The method of claim 3 , wherein executing the host application comprises receiving a user input, and wherein the behavior altered by executing the instructions comprises:
generating parameter data based at least on the user input, wherein the application programming interface call comprises the parameter data.
5 . The method of claim 1 , wherein executing the host application occurs at a first time, wherein the host application comprises a placeholder trigger, the method further comprising:
executing the host application a second time, wherein executing the host application the second time comprises:
generating a first event, and
processing the first event,
wherein processing the first event comprises invoking the placeholder trigger, and
wherein executing the instructions is performed in response to invoking the placeholder trigger.
6 . The method of claim 1 , further comprising:
sending a message to a network server, the message comprising a token;
receiving, from the network server, a response to the message, wherein the response comprises a second tag library, the second tag library comprising second instructions and the token;
constructing a second tag object from the second tag library;
receiving a user input; and
executing the second tag object, wherein executing the second tag object comprises:
executing the second instructions, wherein executing the second instructions comprises:
generating parameter data based at least on the user input and the token; and
executing an application programming interface call to a network server with the parameter data.
7 . A system comprising:
non-transitory physical computer storage; and
one or more computer hardware processors, the one or more computer hardware processors being in communication with the non-transitory physical computer storage and configured to:
receive a tag library comprising instructions in an interpreted language;
construct a first tag object from the tag library;
execute, by the one or more computer hardware processors, a host application, wherein the host application is not (i) a web application and is not (ii) an application implemented entirely in a web browser; and
execute the first tag object, wherein executing the first tag object comprises:
executing the instructions, wherein executing the instructions alters a behavior of the host application,
invoking, by a tag interpreter, an API execution process configured to make direct HTTP calls, the API execution process including a library to construct an HTTP call including a destination, a header, and a security protocol from configuration specified in the first tag object and application logic received from a server, and
executing the HTTP call, wherein the configuration further specifies parameter data to be included in the HTTP call.
8 . The system of claim 7 , wherein executing the host application occurs at a first time, wherein the one or more computer hardware processors is further configured to:
execute the host application a second time, wherein executing the host application the second time further comprises generating a first event, and
wherein the behavior altered by executing the instructions comprises tracking the first event; and
transmit, to a network server, data associated with the first event.
9 . The system of claim 7 , wherein the one or more computer hardware processors is further configured to:
execute the host application a third time, wherein executing the host application the third time further comprises generating a second event; and
determine, with the instructions, to ignore the second event.
10 . The system of claim 7 , wherein the behavior altered by executing the instructions comprises:
executing an application programming interface call to a network server.
11 . The system of claim 10 , wherein executing the host application comprises receiving a user input, and wherein the behavior altered by executing the instructions comprises:
generating parameter data based at least on the user input, wherein the application programming interface call comprises the parameter data.
12 . The system of claim 7 , wherein executing the host application occurs at a first time, wherein the host application comprises a placeholder trigger, wherein the one or more computer hardware processors is further configured to:
execute the host application a second time, wherein executing the host application the second time comprises:
generating a first event, and
processing the first event,
wherein processing the first event comprises invoking the placeholder trigger, and
wherein executing the instructions is performed in response to invoking the placeholder trigger.
13 . The system of claim 7 , wherein the one or more computer hardware processors is further configured to:
send a message to a network server, the message comprising a token;
receive, from the network server, a response to the message, wherein the response comprises a second tag library, the second tag library comprising second instructions and the token;
construct a second tag object from the second tag library;
receive a user input; and
execute the second tag object, wherein executing the second tag object comprises:
executing the second instructions, wherein executing the second instructions comprises:
generating parameter data based at least on the user input and the token; and
executing an application programming interface call to a network server with the parameter data.
14 . Non-transitory physical computer storage comprising first instructions stored thereon for implementing, in one or more computer hardware processors in a physical user computing device, a method comprising:
receiving a tag library comprising instructions in an interpreted language;
constructing a first tag object from the tag library;
executing a host application, wherein the host application is not (i) a web application and is not (ii) an application implemented entirely in a web browser; and
executing the first tag object, wherein executing the first tag object comprises:
executing the instructions, wherein executing the instructions alters a behavior of the host application,
invoking, by a tag interpreter, an API execution process configured to make direct HTTP calls, the API execution process including a library to construct an HTTP call including a destination, a header, and a security protocol from configuration specified in the first tag object and application logic received from a server, and
executing the HTTP call, wherein the configuration further specifies parameter data to be included in the HTTP call.
15 . The non-transitory physical computer storage of claim 14 , wherein executing the host application occurs at a first time, the method further comprising:
executing the host application a second time, wherein executing the host application the second time further comprises generating a first event, and
wherein the behavior altered by executing the instructions comprises tracking the first event; and
transmitting, to a network server, data associated with the first event.
16 . The non-transitory physical computer storage of claim 14 , the method further comprising:
executing the host application a third time, wherein executing the host application the third time further comprises generating a second event; and
determining, with the instructions, to ignore the second event.
17 . The non-transitory physical computer storage of claim 14 , wherein the behavior altered by executing the instructions comprises:
executing an application programming interface call to a network server.
18 . The non-transitory physical computer storage of claim 17 , wherein executing the host application comprises receiving a user input, and wherein the behavior altered by executing the instructions comprises:
generating parameter data based at least on the user input, wherein the application programming interface call comprises the parameter data.
19 . The non-transitory physical computer storage of claim 14 , wherein executing the host application occurs at a first time, wherein the host application comprises a placeholder trigger, the method further comprising:
executing the host application a second time, wherein executing the host application the second time comprises:
generating a first event, and
processing the first event,
wherein processing the first event comprises invoking the placeholder trigger, and
wherein executing the instructions is performed in response to invoking the placeholder trigger.
20 . The non-transitory physical computer storage of claim 14 , the method further comprising:
sending a message to a network server, the message comprising a token;
receiving, from the network server, a response to the message, wherein the response comprises a second tag library, the second tag library comprising second instructions and the token;
constructing a second tag object from the second tag library;
receiving a user input; and
executing the second tag object, wherein executing the second tag object comprises:
executing the second instructions, wherein executing the second instructions comprises:
generating parameter data based at least on the user input and the token; and
executing an application programming interface call to a network server with the parameter data.