IP Library › Granted Patent US 12,299,415
Granted Patent B2
US 12,299,415 · App. 18/649,722 · Granted May 13, 2025

Software development kit engagement monitor

Inventor: Patrick Mandia (Venice, CA)
Assignee: Snap Inc.
G06F8/20G06F8/60G06F9/542G06F11/3438
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 12,299,415
App. No.
18/649,722
Granted
May 13, 2025
Kind
B2
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 (36)

1. A method comprising:

detecting, by an engagement software development kit (SDK) embedded in a third-party app, an app foregrounding 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 foregrounding event:

determining a calendar date of the app foregrounding event, updating a count of app foregrounding events for the calendar date and generating a daily bucket identifier based on the updated count of app foregrounding events; and

transmitting a foregrounding event message to the SDK provider system, the foregrounding event message comprising the calendar date and the bucket identifier.

2. The method of claim 1 , wherein the app foregrounding 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.

3. The method of claim 1 , wherein the app foregrounding 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.

4. 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 foregrounding events if the updated count of app foregrounding events is less than a first value.

5. 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 foregrounding events is greater than or equal to the first value.

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

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

8. 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.

9. The method of claim 8 , wherein detecting the app foregrounding 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.

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

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 foregrounding 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 foregrounding event:

determining a calendar date of the app foregrounding event, updating a count of app foregrounding events for the calendar date and generating a daily bucket identifier based on the updated count of app foregrounding events; and

transmitting a foregrounding event message to the SDK provider system, the foregrounding event message comprising the calendar date and the bucket identifier.

12. The system of claim 11 , wherein the app foregrounding 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.

13. The system of claim 11 , wherein the app foregrounding 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.

14. 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 foregrounding events if the updated count of app foregrounding events is less than a first value.

15. 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 foregrounding events is greater than or equal to the first value.

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

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

18. 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.

19. 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.

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 foregrounding 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 foregrounding event:

determining a calendar date of the app foregrounding event, updating a count of app foregrounding events for the calendar date and generating a daily bucket identifier based on the updated count of app foregrounding events; and

transmitting a foregrounding event message to the SDK provider system, the foregrounding event message comprising the calendar date and the bucket identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: MANDIA, PATRICK
To: SNAP INC.
Reel/Frame 067259/0287 →
Continuity (4)
Continuation 18101013 · Jan 24, 2023
Continuation 17212584 · Mar 25, 2021
Provisional Application 63037512 · Jun 10, 2020
Related Publication 20240281216A1 · Aug 22, 2024
References Cited (70)
US 9483876B2 · Polo · 2016 [cited by examiner]
US 10455378B2 · Rakovitsky · 2019 [cited by examiner]
US 10502580B2 · Choi · 2019 [cited by examiner]
US 10579245B1 · White · 2020 [cited by examiner]
US 11127179B2 · Gum · 2021 [cited by examiner]
US 11579847B2 · Mandia · 2023 [cited by applicant]
US 12073193B2 · Mandia · 2024 [cited by applicant]
US 20100159898A1 · Krzyzanowski · 2010 [cited by examiner]
US 20120036245A1 · Dare · 2012 [cited by examiner]
US 20120036442A1 · Dare · 2012 [cited by examiner]
US 20130127980A1 · Haddick · 2013 [cited by examiner]
US 20130278631A1 · Border · 2013 [cited by examiner]
US 20150007145A1 · Pierce · 2015 [cited by examiner]
US 20150052577A1 · Lim · 2015 [cited by examiner]
US 20150172146A1 · Mahaffey et al. · 2015 [cited by applicant]
US 20160044091A1 · Doumet · 2016 [cited by examiner]
US 20160087868A1 · Polychronis · 2016 [cited by applicant]
US 20160171540A1 · Mangipudi · 2016 [cited by examiner]
US 20160224798A1 · Lim · 2016 [cited by examiner]
US 20160316034A1 · Herrick · 2016 [cited by examiner]
US 20160343034A1 · Green · 2016 [cited by examiner]
US 20170142125A1 · Lim · 2017 [cited by examiner]
US 20170178253A1 · Koufogiannakis · 2017 [cited by examiner]
US 20170353561A1 · Aliabadi et al. · 2017 [cited by applicant]
US 20180121461A1 · Natarajan · 2018 [cited by examiner]
US 20180274936A1 · Choi · 2018 [cited by examiner]
US 20180329591A1 · Gunther · 2018 [cited by examiner]
US 20180332447A1 · Rakovitsky · 2018 [cited by examiner]
US 20180365085A1 · Li · 2018 [cited by applicant]
US 20180375943A1 · Lowry · 2018 [cited by examiner]
US 20190158616A1 · Herrick · 2019 [cited by examiner]
US 20190379593A1 · Polychronis · 2019 [cited by applicant]
US 20200092679A1 · Fyfe et al. · 2020 [cited by applicant]
US 20200097160A1 · White · 2020 [cited by examiner]
US 20200264859A1 · Jones · 2020 [cited by examiner]
US 20200401418A1 · Regev · 2020 [cited by examiner]
US 20210044555A1 · Orr · 2021 [cited by examiner]
US 20210173633A1 · Criscuolo · 2021 [cited by examiner]
US 20210224365A1 · Huang · 2021 [cited by examiner]
US 20210389932A1 · Mandia · 2021 [cited by applicant]
US 20230168865A1 · Mandia · 2023 [cited by applicant]
CN 103488489A · 2014 [cited by applicant]
CN 110569182A · 2019 [cited by applicant]
CN 115698946A · 2023 [cited by applicant]
KR 20180037342A · 2018 [cited by applicant]
WO WO2018153207A1 · 2018 [cited by applicant]
WO WO2021252235A1 · 2021 [cited by applicant]
“U.S. Appl. No. 18/101,013, Corrected Notice of Allowability mailed May 14, 2024”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 18/101,013, Corrected Notice of Allowability mailed Jul. 5, 2024”, 8 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041351.5, Decision of Reexamination ailed May 1, 2024”, w/ English translation, 9 pgs. [cited by applicant]
“European Application Serial No. 21821951.7, Extended European Search Report mailed Jun. 7, 2024”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Examiner Interview Summary mailed Apr. 28, 2022”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Final Office Action mailed Jul. 28, 2022”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Non Final Office Action mailed Dec. 21, 2021”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Notice of Allowance mailed Oct. 7, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Response filed Apr. 21, 2022 to Non Final Office Action mailed Dec. 21, 2021”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/212,584, Response filed Sep. 27, 2022 to Final Office Action mailed Jul. 28, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/101,013, Non Final Office Action mailed Jul. 7, 2023”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 18/101,013, Notice of Allowance mailed Feb. 6, 2024”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/101,013, Notice of Allowance mailed Oct. 4, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/101,013, Response filed Sep. 13, 2023 to Non Final Office Action mailed Jul. 7, 2023”, 7 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041351.5, Office Action mailed Feb. 6, 2024”, w/English Translation, 10 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041351.5, Office Action mailed Sep. 23, 2023”, w/English Translation, 16 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041351.5, Response filed Mar. 25, 2024 to Office Action mailed Feb. 6, 2024”, W/English Claims, 14 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041351.5, Voluntary Amendment Filed Apr. 26, 2023”, w/ English Claims, 19 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/035383, International Preliminary Report on Patentability mailed Dec. 22, 2022”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/035383, International Search Report mailed Sep. 10, 2021”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/035383, Written Opinion mailed Sep. 10, 2021”, 3 pgs. [cited by applicant]
U.S. Appl. No. 17/212,584 U.S. Pat. No. 11,579,847, filed Mar. 25, 2021, Software Development Kit Engagement Monitor. [cited by applicant]
U.S. Appl. No. 18/101,013, filed Jan. 24, 2023, Software Development Kit Engagement Monitor. [cited by applicant]