Mobile App Deep Linking via UI Event Replay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile applications often lack deep linking functionality to specific states, making it difficult for users to access internal app states from external sources, requiring significant developer effort and expertise, which can be a barrier due to time, budget, or expertise constraints.
Innovation Solution
A routing library is provided that can be integrated into mobile applications, allowing developers to expose deep linking capabilities without extensive code modifications, enabling external access to app states through a developer portal that determines UI action sequences to simulate user interactions, thus facilitating deep linking without requiring deep linking expertise.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If deep linking functionality is implemented manually by developers, then deep states can be accessed from external sources, but it requires significant developer effort and expertise in deep linking
Solution Approach 1:
An automated deep linking system acts as an intermediary between external sources and app deep states. The system includes a deep linking manager that receives deep link requests, parses them to identify target deep states, and automatically navigates to those states without requiring manual developer configuration for each link. This mediator handles the complexity of deep linking internally while presenting a simple interface to external sources.
Solution Approach 2:
The app performs self-service deep linking by maintaining an internal registry of its own deep states and navigation paths. When a deep link request is received, the system autonomously resolves the link to the appropriate deep state using its built-in navigation logic, without requiring external developers to implement custom deep linking code. The app serves itself by managing deep state exposure independently.
2Ease of operation
If deep linking is not implemented, then developer resources can be allocated to other priorities, but deep states remain inaccessible from external sources requiring manual user navigation
Solution Approach 1:
The system pre-registers and pre-processes deep state information during app initialization or build time, creating a ready-to-use deep linking registry. When a deep link is received, the navigation path has already been prepared and validated, allowing immediate execution without requiring users to manually navigate through multiple screens. The heavy lifting of path determination is done in advance.
Solution Approach 2:
The manual mechanical process of users copying and pasting search results into search fields is replaced with an automated electronic deep linking system. External sources can directly invoke deep states through structured deep link URLs, and the system automatically translates these URLs into the corresponding navigation sequences, substituting manual user actions with automated programmatic navigation.
3Reliability
If deep linking expertise is required, then deep states can be properly exposed, but developers without such expertise cannot implement deep linking functionality
Solution Approach 1:
The deep linking system is designed as a universal framework that can be applied to any mobile app regardless of its specific functionality or domain. The system provides standardized interfaces and methods for registering deep states and handling deep link requests, making deep linking capability available to all developers through a common mechanism rather than requiring app-specific custom implementations.
Solution Approach 2:
The system changes the parameter of implementation complexity by providing high-level abstractions and automated tools. Instead of requiring developers to manually configure complex navigation paths and state mappings, the system accepts simple deep state identifiers and automatically generates the necessary navigation logic, effectively transforming a complex parameter (implementation difficulty) into a simple one (state registration).
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A mobile application development system includes a developer portal that receives a first application from a first developer and provides a routing library to the first developer for incorporation into the first application. An offline analysis system executes the first application and, during execution, monitors a sequence of user interface (UI) events initiated by an operator starting from an initial state and proceeding to a first state. The offline analysis system stores the sequence of UI events as a first data structure corresponding to the first state. The routing library includes instructions that, subsequent to installation of a copy of the first application in a user device, receive a link from an operating system of the user device identifying the first state and, based on the first data structure corresponding to the first state, replay, in order, each UI event from the sequence of UI events to the first application.