Mobile App Protocol Handler UID Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for tracking user activities on Apple iOS devices, particularly in associating app-based activities with browser-based activities, are hindered due to limited access to unique device identifiers (UDIDs) by mobile browsers, restricting effective data processing and user incentive mechanisms.

Innovation Solution

A data processing method involving protocol handlers and native code elements on mobile devices intercepts requests to obtain unique device identifiers (UIDs) and provides them to server computers or other apps, enabling the association of app-based and browser-based activities through a software development kit (SDK) integration, even when protocol handler-enabled apps are not initially installed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If mobile browsers on Apple iOS devices are used to track user activities, then browser-based activities can be monitored, but access to unique device identifiers (UDIDs) is limited, preventing association with app-based activities

Engineering Contradiction:
Improveaccess to unique device identifiersVSAvoidability to associate app-based and browser-based activities
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent introduces a protocol handler as an intermediary component that bridges the gap between mobile browsers and apps. When a browser encounters a special protocol URL (e.g., myapp://), it automatically invokes the corresponding app through the protocol handler, which then has full access to UDIDs. This intermediary mechanism allows information to flow from the browser environment (limited UDID access) to the app environment (full UDID access) without direct browser access to UDIDs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If protocol handlers are used to enable app invocation from browsers, then app-based activities can be accessed, but protocol handler-enabled apps must be pre-installed on devices

Engineering Contradiction:
Improveability to invoke apps from web pagesVSAvoidrequirement for pre-installed apps
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-registering protocol handlers with the mobile operating system during app installation. This registration creates a mapping between custom protocols (e.g., myapp://) and the app's bundle identifier. The protocol handler is prepared in advance and automatically invoked when the browser encounters the corresponding protocol URL, eliminating the need for additional runtime complexity or user intervention.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If unique device identifiers are obtained through native code elements, then accurate user tracking is achieved, but integration complexity increases with SDK requirements

Engineering Contradiction:
Improveaccuracy of user trackingVSAvoidintegration complexity with SDK
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the protocol handler automatically obtain UDIDs through native code elements within the app environment, where such access is permitted. The SDK integrates this native code access capability directly into the protocol handler framework, allowing the system to serve itself by automatically capturing and transmitting UDID information without requiring separate complex integration steps for each tracking scenario.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2941748B1Completing mobile APP conversions
Publication Date: 2019.04.24 TAPJOY INC
  • EP2941748B1 patent drawingFigure 1
  • EP2941748B1 patent drawingFigure 2
  • EP2941748B1 patent drawingFigure 3A

AI summary

In an embodiment, a data processing method comprises receiving, at a mobile computing device, a request comprising a protocol identifier, a label value, and a data value, wherein the protocol identifier is associated with a protocol implemented in a first mobile app; using a protocol handler in the mobile computing device associated with the protocol, initiating processing of the request; using a native code element in the mobile computing device: intercepting the request when the label value matches a particular expression, and in response to the intercepting, providing the data value to other than the first mobile app, the protocol handler or the native code element; wherein the method is performed by one or more computing devices.