Skip to content

Commit 5cc7492

Browse files
authored
[Issue #841 #840 #839] Expanding sync application examples (#851)
Expanding upon the description of the sync applications case by adding examples. Updating navigator.install usage example to match most recent requirements. Fixes #841, fixes #840, fixes #839
1 parent 6ae0013 commit 5cc7492

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

AcquisitionInfo/explainer.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ if ('install' in navigator) {
225225
installVersion: "1.0.0.0"
226226
};
227227
// Web install with additional attribution information
228-
const appInstalled = await navigator.install("foo.com", {"referral-info": referralInfo});
228+
const appInstalled = await navigator.install("https://www.foo.com/app", "https://www.foo.com/install_url", {"referral-info": referralInfo});
229229
}
230230
```
231231

@@ -265,6 +265,34 @@ the acquisition information that is recorded for the originally acquired applica
265265
other installations. This applies to any and all other installation for the same user profile across any other device supported
266266
by the UA.
267267

268+
For example, a user may discover App A through an ad campaign run on the Microsoft Store. The user proceeds to install App A on
269+
Device A. Running `getDetails()` from the newly acquired app would return the following:
270+
271+
```js
272+
details = {
273+
installSource: "apps.microsoft.com",
274+
attributionId: "adCampaign",
275+
... // Additional attribution information
276+
}
277+
```
278+
279+
The same user logs in on Device B and logs into the profile that installed App A on Device A. Sync would install App A once again
280+
but on Device B, at which point the `getDetails()` payload would return the following:
281+
282+
```js
283+
details = {
284+
installSource: "apps.microsoft.com",
285+
attributionId: "adCampaign",
286+
sync: true,
287+
... // Additional attribution information
288+
}
289+
```
290+
291+
The `installSource`, `attributionId`, and *any other attribution information* that existed on Device A is passed on. Addtionally,
292+
a boolean property called `sync` is added to the dictionary which indicates that the app in question is a synced application
293+
brought over from a previous device. This ensures that we are able to accurately track which users were historically impacted
294+
by which acquisition campaigns, even across devices.
295+
268296
## Considered Alternatives
269297

270298
### Flattening the API

0 commit comments

Comments
 (0)