IP Library Granted Patent US 10,705,858
Granted Patent B2
US 10,705,858 · App. 16/381,633 · Granted Jul 7, 2020

Automatic import of third party analytics

Inventors: Michael L. Poon (San Francisco, CA); Roberto Carli (Menlo Park, CA); James Brandon Koppel (Cambridge, MA)
Assignee: Apptimize, LLC
G06F9/4484
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,705,858
App. No.
16/381,633
Granted
Jul 7, 2020
Kind
B2
Abstract

Techniques to facilitate acquisition of analytics associated with an application are disclosed herein. In at least one implementation, an analytics function call from main program code of the application to a third party analytics function is monitored. Responsive to the analytics function call, the analytics function call is intercepted and a call handler function is invoked instead of the third party analytics function. The call handler function processes the analytics function call to extract analytics data from the analytics function call. A copy of the third party analytics function is then called.

Claims (29)

1. A method to facilitate acquisition of analytics associated with an application, the method comprising:

monitoring for an analytics function call from main program code of the application to a third party analytics function;

responsive to the analytics function call, intercepting the analytics function call and invoking a call handler function instead of the third party analytics function, intercepting the analytics function call and invoking the call handler function comprising modifying metadata associated with the third party analytics function by marking the third party analytics function as native in the metadata and identifying the call handler function as a native code implementation of the third party analytics function in the metadata such that the call handler function is invoked as the native code implementation of the third party analytics function by virtue of the metadata;

in the call handler function, processing the analytics function call and extracting analytics data from the analytics function call; and

calling a copy of the third party analytics function.

2. The method of claim 1 wherein calling the copy of the third party analytics function comprises calling a copy of a bytecode implementation of the third party analytics function.

3. The method of claim 1 wherein the analytics function call from the main program code of the application to the third party analytics function is triggered by a user interaction with the application.

4. The method of claim 1 wherein processing the analytics function call to extract the analytics data from the analytics function call comprises processing the analytics function call to read parameters from the analytics function call.

5. The method of claim 1 further comprising processing the analytics data extracted from the analytics function call to determine independent analytics on the analytics data.

6. One or more computer-readable storage media having program instructions stored thereon to facilitate acquisition of analytics associated with an application, wherein the program instructions, when executed by a computing system, direct the computing system to at least:

monitor for an analytics function call from main program code of the application to a third party analytics function;

responsive to the analytics function call, intercept the analytics function call and invoke a call handler function instead of the third party analytics function, intercepting the analytics function call and invoking the call handler function comprising modifying metadata associated with the third party analytics function by marking the third party analytics function as native in the metadata and identifying the call handler function as a native code implementation of the third party analytics function in the metadata such that the call handler function is invoked as the native code implementation of the third party analytics function by virtue of the metadata;

in the call handler function, process the analytics function call and extracting analytics data from the analytics function call; and

call a copy of the third party analytics function.

7. The one or more computer-readable storage media of claim 6 wherein the program instructions direct the computing system to call the copy of the third party analytics function by directing the computing system to call a copy of a bytecode implementation of the third party analytics function.

8. The one or more computer-readable storage media of claim 6 wherein the analytics function call from the main program code of the application to the third party analytics function is triggered by a user interaction with the application.

9. The one or more computer-readable storage media of claim 6 wherein the program instructions direct the computing system to process the analytics function call to extract the analytics data from the analytics function call by directing the computing system to process the analytics function call to read parameters from the analytics function call.

10. The one or more computer-readable storage media of claim 6 wherein the program instructions further direct the computing system to process the analytics data extracted from the analytics function call to determine independent analytics on the analytics data.

11. An apparatus comprising:

one or more computer-readable storage media;

a processing system operatively coupled with the one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media that, when executed by the processing system, direct the processing system to at least:

monitor for an analytics function call from main program code of an application to a third party analytics function;

responsive to the analytics function call, intercept the analytics function call and invoke a call handler function instead of the third party analytics function, intercepting the analytics function call and invoking the call handler function comprising modifying metadata associated with the third party analytics function by marking the third party analytics function as native in the metadata and identifying the call handler function as a native code implementation of the third party analytics function in the metadata such that the call handler function invoked is as the native code implementation of the third party analytics function by virtue of the metadata;

in the call handler function, process the analytics function call and extracting analytics data from the analytics function call; and

call a copy of the third party analytics function.

12. The apparatus of claim 11 wherein the program instructions direct the processing system to call the copy of the third party analytics function by directing the processing system to call a copy of a bytecode implementation of the third party analytics function.

13. The apparatus of claim 11 wherein the analytics function call from the main program code of the application to the third party analytics function is triggered by a user interaction with the application.

14. The apparatus of claim 11 wherein the program instructions direct the processing system to process the analytics function call to extract the analytics data from the analytics function call by directing the processing system to process the analytics function call to read parameters from the analytics function call.

Assignments (6)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME TO ADD A COMMA BETWEEN APPTIMIZE AND LLC PREVIOUSLY RECORDED ON REEL 050612 FRAME 0128. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Feb 9, 2021
From: APPTIMIZE, INC.
To: APPTIMIZE, LLC
Reel/Frame 055278/0689 →
SECURITY INTEREST Recorded Apr 2, 2020
From: URBAN AIRSHIP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052308/0550 →
CHANGE OF NAME Recorded Oct 2, 2019
From: APPTIMIZE, INC.
To: APPTIMIZE LLC
Reel/Frame 050612/0128 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: POON, MICHAEL L.; CARLI, ROBERTO; KOPPEL, JAMES BRANDON
To: APPTIMIZE, INC.
Reel/Frame 048862/0367 →