AB#259630 DDL flow optimizations #66
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User description
https://mobius.visualstudio.com/Backstage/_workitems/edit/259630
Description of Changes
Breaking Changes
Release Checklist
Prepare:
[ ] Detail any breaking changes. Breaking changes require a new major version number, and a migration guide in wiki / README.mdBump versions in:
[ ] add links to newly created wiki pages to readme[ ] Update major version numbers in wiki (basic integration + push guides)Integration tests
T&T Only
Mobile Only
Deferred Deep Links
Combined
Release Procedure
devtomasterGenerated description
Below is a concise technical summary of the changes proposed in this PR:
graph LR subgraph "app" ["app"] MainActivity_onCreate_("MainActivity.onCreate"):::modified OPTIMOVE_("OPTIMOVE"):::modified MyDeferredDeepLinkHandler_handle_("MyDeferredDeepLinkHandler.handle"):::modified MyApplication_onCreate_("MyApplication.onCreate"):::modified MainActivity_onCreate_ -- "No change to seeIntent call behavior." --> OPTIMOVE_ MainActivity_onCreate_ -- "Added pushRequestDeviceToken call to request permission." --> OPTIMOVE_ MyDeferredDeepLinkHandler_handle_ -- "Added Toast to display deferred deep link data." --> OPTIMOVE_ MyApplication_onCreate_ -- "Removed pushRequestDeviceToken call from onCreate." --> OPTIMOVE_ classDef added stroke:#15AA7A classDef removed stroke:#CD5270 classDef modified stroke:#EDAC4C linkStyle default stroke:#CBD5E1,font-size:13px end subgraph "optimove-sdk" ["optimove-sdk"] DeferredDeepLinkHelper_checkForNonContinuationLinkMatch_("DeferredDeepLinkHelper.checkForNonContinuationLinkMatch"):::modified DeferredDeepLinkHelper_checkForDeferredLinkOnClipboard_("DeferredDeepLinkHelper.checkForDeferredLinkOnClipboard"):::added DeferredDeepLinkHelper_checkForDeferredLinkOnClipboardWithRetry_("DeferredDeepLinkHelper.checkForDeferredLinkOnClipboardWithRetry"):::added DeferredDeepLinkHelper_getClipText_("DeferredDeepLinkHelper.getClipText"):::modified DeferredDeepLinkHelper_maybeProcessUrl_("DeferredDeepLinkHelper.maybeProcessUrl"):::modified DeferredDeepLinkHelper_maybeProcessCachedLink_("DeferredDeepLinkHelper.maybeProcessCachedLink"):::modified DeferredDeepLinkHelper_handleDeepLink_("DeferredDeepLinkHelper.handleDeepLink"):::modified DeferredDeepLinkHelper_invokeDeepLinkHandler_("DeferredDeepLinkHelper.invokeDeepLinkHandler"):::modified Optimobile_handler_("Optimobile.handler"):::added DeferredDeepLinkHelper_checkForNonContinuationLinkMatch_ -- "Adds clipboard deferred deep link checking call" --> DeferredDeepLinkHelper_checkForDeferredLinkOnClipboard_ DeferredDeepLinkHelper_checkForDeferredLinkOnClipboard_ -- "Introduces retry logic for clipboard deferred deep link checking" --> DeferredDeepLinkHelper_checkForDeferredLinkOnClipboardWithRetry_ DeferredDeepLinkHelper_checkForDeferredLinkOnClipboardWithRetry_ -- "Retrieves clipboard text with retry and classification check" --> DeferredDeepLinkHelper_getClipText_ DeferredDeepLinkHelper_checkForDeferredLinkOnClipboardWithRetry_ -- "Processes clipboard URL text as deferred deep link" --> DeferredDeepLinkHelper_maybeProcessUrl_ DeferredDeepLinkHelper_maybeProcessCachedLink_ -- "Handles cached deferred deep link URLs" --> DeferredDeepLinkHelper_handleDeepLink_ DeferredDeepLinkHelper_invokeDeepLinkHandler_ -- "Posts deep link handling asynchronously via Optimobile.handler" --> Optimobile_handler_ classDef added stroke:#15AA7A classDef removed stroke:#CD5270 classDef modified stroke:#EDAC4C linkStyle default stroke:#CBD5E1,font-size:13px endImplement robust retry logic within the
DeferredDeepLinkHelperto enhance the reliability of deferred deep link resolution, specifically addressing scenarios where clipboard descriptions are initially unavailable on Android 12+ devices. Concurrently, remove theDeepLinkFingerprintercomponent and its associated code, streamlining the SDK and eliminating redundant fingerprinting functionality.ClipDescriptionmight not be immediately available. This ensures that deep links are processed reliably even with initial clipboard access delays. The sample application is updated to demonstrate deep link handling.Modified files (4)
Latest Contributors(2)
DeepLinkFingerprinterclass and all related fingerprinting code from the SDK. This change simplifies the codebase, removes an unnecessary dependency, and aligns with privacy considerations by eliminating the collection of device fingerprint data for deep link matching. The SDK version is updated to reflect these significant changes.Modified files (6)
Latest Contributors(2)