# US 12,008,340 B2 · Software development kit engagement monitor

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

- Number: US 12,008,340 B2
- Document ID: US12008340B2
- Status: Granted
- Kind: B2
- Application number: 18/101,013
- Filed: 2023-01-24
- Published: 2023-06-01
- Granted: 2024-06-11
- Earliest claimed: 2020-06-10
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Patrick Mandia
- Web page: https://patentgrep.com/patent/US12008340B2

## CPC

- G06F 8/20: Software design
- G06F 8/60: Software deployment
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An example developer tools system provided by a messaging system includes a software development kit (SKD) engagement monitor that permits capturing app open events in third party resources (e.g., third party apps) that use the developer tools system. The SKD engagement monitor is configured to operate in a manner that preserves privacy of the third party developers and avoids conveying to the messaging system backend environment personally identifiable information (PII) about the third party resource usage.

## Claims

### Claim 1

A method comprising:
detecting, by an engagement software development kit (SDK) embedded in a third party app, an app open event indicating foregrounding of the third party app at a client device, the engagement SDK provided by an SDK provider system being distinct from a third party provider system supporting the third party app; and
in response to the detecting of the app open event:
identifying a second SDK embedded in the third party app that caused the app open event;
determining a calendar date of the app open event, updating a count of app open events for the calendar date and generating a daily bucket identifier based on the updated count of app open events; and
transmitting an open event message to the SDK provider system, the open event message comprising data identifying the second SDK embedded in the third party app that caused the app open event, the calendar date, and the bucket identifier.

### Claim 2 (depends on 1)

The method of claim 1, wherein the app open event indicating foregrounding of the third party app at the client device comprises logging into the third party app at the client device using credentials associated with a messaging client supported by the SDK provider system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the app open event indicating foregrounding of the third party app at the client device comprises bringing the third party app to a foreground of a screen of the client device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the generating of the daily bucket identifier comprises setting the daily bucket identifier to the updated count of app open events if the updated count of app open events is less than a first value.

### Claim 5 (depends on 4)

The method of claim 4, wherein the generating of the daily bucket identifier comprises setting the daily bucket identifier to a second value if the updated count of app open events is greater than or equal to the first value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the open event message comprises an identification of the third party app.

### Claim 7 (depends on 1)

The method of claim 1, wherein the open event message comprises respective identifications of one or more other SDKs embedded in the third party app.

### Claim 8 (depends on 7)

The method of claim 7, wherein an augmented reality (AR) kit from the one or more other SDKs embedded in the third party app provides the third party app with access to an AR experience in the SDK provider system.

### Claim 9 (depends on 8)

The method of claim 8, wherein detecting the app open event indicating foregrounding of the third party app at the client device comprises:
detecting an event indicating engagement of the AR kit and, in response, launching a messaging client supported by the SDK provider system to a camera view screen provided by the messaging client.

### Claim 10 (depends on 1)

The method of claim 1, wherein the determining of the calendar date of the app open event, the updating of the count of app open events for the calendar date and the generating of the daily bucket identifier are performed at the client device.

### Claim 11

A system comprising:
one or more processors; and
a non-transitory computer readable storage medium comprising instructions that when executed by the one or processors cause the system to perform operations comprising:
detecting, by an engagement software development kit (SDK) embedded in a third party app, an app open event indicating foregrounding of the third party app at a client device, the engagement SDK provided by an SDK provider system being distinct from a third party provider system supporting the third party app; and
in response to the detecting of the app open event:
identifying a second SDK embedded in the third party app that caused the app open event;
determining a calendar date of the app open event, updating a count of app open events for the calendar date and generating a daily bucket identifier based on the updated count of app open events; and
transmitting an open event message to the SDK provider system, the open event message comprising data identifying the second SDK embedded in the third party app that caused the app open event, the calendar date, and the bucket identifier.

### Claim 12 (depends on 11)

The system of claim 11, wherein the app open event indicating foregrounding of the third party app at the client device comprises logging into the third party app at the client device using credentials associated with a messaging client supported by the SDK provider system.

### Claim 13 (depends on 11)

The system of claim 11, wherein the app open event indicating foregrounding of the third party app at the client device comprises bringing the third party app to a foreground of a screen of the client device.

### Claim 14 (depends on 11)

The system of claim 11, wherein the generating of the daily bucket identifier comprises setting the daily bucket identifier to the updated count of app open events if the updated count of app open events is less than a first value.

### Claim 15 (depends on 14)

The system of claim 14, wherein the generating of the daily bucket identifier comprises setting the daily bucket identifier to a second value if the updated count of app open events is greater than or equal to the first value.

### Claim 16 (depends on 11)

The system of claim 11, wherein the open event message comprises an identification of the third party app.

### Claim 17 (depends on 11)

The system of claim 11, wherein the open event message comprises respective identifications of one or more other SDKs embedded in the third party app.

### Claim 18 (depends on 17)

The system of claim 17, wherein an augmented reality (AR) kit from the one or more other SDKs embedded in the third party app provides the third party app with access to an AR experience in the SDK provider system.

### Claim 19 (depends on 18)

The system of claim 18, further comprising:
detecting an event indicating engagement of the AR kit and, in response, launching a messaging client supported by the SDK provider system to a camera view screen provided by the messaging client.

### Claim 20

A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations comprising:
detecting, by an engagement software development kit (SDK) embedded in a third party app, an app open event indicating foregrounding of the third party app at a client device, the engagement SDK provided by an SDK provider system being distinct from a third party provider system supporting the third party app; and
in response to the detecting of the app open event:
identifying a second SDK embedded in the third party app that caused the app open event;
determining a calendar date of the app open event, updating a count of app open events for the calendar date and generating a daily bucket identifier based on the updated count of app open events; and
transmitting an open event message to the SDK provider system, the open event message comprising data identifying the second SDK embedded in the third party app that caused the app open event, the calendar date, and the bucket identifier.
