@@ -225,7 +225,7 @@ if ('install' in navigator) {
225
225
installVersion: " 1.0.0.0"
226
226
};
227
227
// 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});
229
229
}
230
230
```
231
231
@@ -265,6 +265,34 @@ the acquisition information that is recorded for the originally acquired applica
265
265
other installations. This applies to any and all other installation for the same user profile across any other device supported
266
266
by the UA.
267
267
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
+
268
296
## Considered Alternatives
269
297
270
298
### Flattening the API
0 commit comments