Repository navigation
feat(attribution): send the Google Play install referrer with the install - #12
Merged
Merged
Conversation
…tall On Android, the install report includes the Play install referrer as installReferrer, read through react-native-device-info, which asks Play at app start and stores the answer; the SDK waits for it at most 2 seconds, alongside the fingerprint. A LinkForty link puts its click id in the referrer of the Play listing it sends a visitor to, so the server matches the install to that exact click. On iOS, and without a referrer, the request is unchanged and the install is matched by fingerprint. AttributionMethod gains 'install_referrer'.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On Android, the install report includes the Google Play install referrer as
installReferrer. The redirect puts the link's click id in the referrer of every Play listing it sends an Android visitor to (LinkForty/core#84), so the server matches the install to that exact click (attributionMethod: 'install_referrer',confidenceScore100,competingLinks0) instead of by fingerprint.readPlayInstallReferrer()(new,src/InstallReferrer.ts) usesreact-native-device-info'sgetInstallReferrer(), which the SDK already depends on.'unknown'until Play answers, so the reader checks every 200 ms for up to 2 seconds.reportInstallreads the referrer in parallel with the fingerprint, so it adds no delay when Play answers quickly. A null referrer is left out of the body.AttributionMethodgains'install_referrer'. README and llms.txt describe it. A server without this field ignores the key.Tests: 79 pass, 5 of them new (iOS, value, waiting through
'unknown'and a rejection, empty, timeout).tsc --noEmitis clean.device-info uses
com.android.installreferrer1.1.2 unless the app setsext.installReferrerVersion. That version gives the same referrer.