LGTM3

On Wed, Feb 14, 2024 at 7:48 AM Yoav Weiss (@Shopify) <
yoavwe...@chromium.org> wrote:

> LGTM2
>
> On Tuesday, February 13, 2024 at 1:42:39 PM UTC+1 Nan Lin wrote:
>
> On Tue, Feb 13, 2024 at 7:35 AM Yoav Weiss (@Shopify) <
> yoavwe...@chromium.org> wrote:
>
>
>
> On Tue, Feb 13, 2024 at 12:10 PM Nan Lin <lin...@chromium.org> wrote:
>
> Hi Yoav,
>
> On Tue, Feb 13, 2024 at 3:10 AM Yoav Weiss (@Shopify) <
> yoavwe...@chromium.org> wrote:
>
>
>
> On Fri, Feb 9, 2024 at 5:59 AM Nan Lin <lin...@chromium.org> wrote:
>
> Hi Yoav,
>
> On Thu, Feb 8, 2024 at 11:09 PM Yoav Weiss (@Shopify) <
> yoavwe...@chromium.org> wrote:
>
>
>
>
>
> On Wed, Feb 7, 2024 at 12:58 PM Nan Lin <lin...@chromium.org> wrote:
>
> Thanks Mike.
>
> On Wed, Feb 7, 2024 at 12:50 AM Mike Taylor <miketa...@chromium.org>
> wrote:
>
> On 2/6/24 3:59 AM, Nan Lin wrote:
>
> Hi Mike,
>
> Thanks for reviewing. Please see responses inline.
>
> Nan
>
> On Mon, Feb 5, 2024 at 9:33 PM Mike Taylor <miketa...@chromium.org> wrote:
>
> Hi Nan,
> On 2/2/24 5:00 AM, Nan Lin wrote:
>
> Contact emails
>
> lin...@chromium.org, johni...@chromium.org
>
> Explainer
>
> Cross App and Web Attribution Measurement
> <https://github.com/WICG/attribution-reporting-api/blob/main/app_to_web.md>
>
> Specification
>
> https://wicg.github.io/attribution-reporting-api/#cross-app-and-web
>
> Summary
>
> This is an extension to the Attribution Reporting API
> <https://github.com/WICG/conversion-measurement-api> that has already
> shipped.
>
> Currently, the Attribution Reporting API
> <https://github.com/WICG/conversion-measurement-api> supports attributing
> events within a single browser instance. This proposal expands the scope of
> attribution to allow attributing conversions that happen on the web to
> events that happen off the browser on the same device, within other
> applications such as mobile applications, or vice-versa.
>
> The proposal here leverages OS-level support for attribution. In
> particular, it gives the developer an option to allow events on the mobile
> web to be delegated to Android’s Privacy Sandbox
> <https://developer.android.com/design-for-safety/privacy-sandbox/attribution>,
> although support for other platforms could also be implemented in the
> future.
>
> Note that with this proposal new features shipped by the OS may be
> implicitly supported without web API changes. For example, Android may ship
> support for new registration fields not supported in the existing
> Attribution Reporting API. Once a developer elects to delegate events to
> the OS, there is no way web-visible to introspect this.
>
> Could you help me better understand the implications of this? Does it just
> mean that debugging becomes challenging for new fields, or are there other
> possible implications depending on new OS features? Or possibly the web API
> lags behind what is possible via the platform, until the web API catches up
> formally?
>
>
> It’s not about debugging. Currently the web API and the Android’s
> implementation of the Attribution Reporting API are expected to be
> interoperable. However it’s possible that Android may ship support for new
> registration fields in the OS-level API, which may or may not be supported
> in the web API. The web API may lag behind, or even not implement the new
> features at all. Once the event is delegated to the OS, the attribution
> registration will be handled by the OS and possibly using the new features
> in its API.
>
>
> Can you provide an example of how future OS-level changes can result in
> semantics changes for the web exposed API?
> Is the information flow here strictly from the web API to the OS API? Or
> is it possible for the OS attribution to flow into the web? (e.g. if an ad
> on a native app ends up landing on a website)
>
>
> Please see my response below for the workflow to delegate a web event to
> the OS.
>
>
> Thanks for the clarifications!
>
>
> For example, the OS API implements a new feature, and allows developers to
> opt in this feature with a new field in the 
> Attribution-Reporting-Register-Source/Trigger
> JSON.
>
> The web API only delegates the registration url (to which the OS API will
> ping) to the OS API, and the registration url can respond to OS API ping
> with the new field in the Attribution Reporting response headers to opt in
> the new feature implemented by the OS API.
>
> All the cross app web attribution is handled by the OS API. For app to web
> flow (an ad on a native app ends up landing on a website), the reporting
> origin can respond with Attribution-Reporting-Register-OS-Trigger header
> to delegate the trigger event to the OS API to perform the attribution
> within the OS API. So yes, the information flow is strictly from the web
> API to the OS API.
>
>
> So if the OS API registers an event source
> <https://developer.android.com/design-for-safety/privacy-sandbox/attribution#register-attribution-source>
> with a parameter that the Web API doesn't recognize, would that parameter
> be ignored when that event is triggered by the web API?
>
>
> The parameter would not be ignored by the OS API even if the event is
> triggered by the web API. When the event is delegated to the OS API, it
> will be completely handled by the OS API and can use all features available
> in the OS API even if some features may not be supported in the web API.
>
>
> Does that mean that when a trigger is called on the web API in that
> scenario, that trigger would be delegated to the OS, and the OS would be
> the one doing the reporting?
>
>
> That’s right. This design places trust in the OS to process cross app web
> attribution reporting. When the trigger is delegated to the OS, it could be
> attributed to an app source, or a web source that was delegated to the OS,
> and an attribution report would be scheduled by the OS API if any.
>
>
> That makes sense. Thanks for bearing with me :)
>
>
>
>
>
>
>
>
> Thanks for the response! I'm still trying to understand what a
> registration field is in the context of this API - is that a possible
> future item added to the OS registration struct in https://wicg.github.io/
> attribution-reporting-api/#os-registration? (Apologies, I can't find any
> reference to "registration field" in the draft spec...).
>
>
> Sorry for the confusion. The registration field in the context of the
> Attribution Reporting API is a JSON field in the 
> Attribution-Reporting-Register-Source
> (
> https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md#
> registering-attribution-sources) and Attribution-Reporting-Register-Trigger
> (
> https://github.com/WICG/attribution-reporting-api/
> blob/main/EVENT.md#triggering-attribution
> ) headers. Android also implements the Attribution Reporting API that
> supports header-based registration (
> https://developer.android.com/design-for-safety/privacy-
> sandbox/attribution#enroll-ad-tech-platform).
>
> The workflow to delegate a web event to the OS is as follows:
> 1. In the web API, the reporting origin can respond with a list of
> registration urls in the Attribution-Reporting-Register-OS-Source and
> Attribution-Reporting-Register-OS-Trigger headers.
> 2.  The browser delegates the registration urls to the OS-level API.
> 3. The OS-level API makes a request to the registration url.
> 4. The registration url responds with the 
> Attribution-Reporting-Register-Source
> or Attribution-Reporting-Register-Trigger header, which is handled by the
> OS-level API.
>
> If the OS-level API supports a new registration field in the
> Attribution-Reporting-Register-Source or 
> Attribution-Reporting-Register-Trigger
> JSON, in step 4 above the registration url could respond with the new
> registration field for new features supported in the OS-level API but not
> the web API.
>
> Hope that clarifies.
>
>
> This can happen without web API change and there’s no way web-visible to
> introspect this.
>
> OK, so introspection here is not about debugging, but being able to make
> decisions programmatically at runtime? Is that correct?
>
>
> Yes, that’s correct. Once the web event is delegated to the OS, the
> attribution registration will be handled by the OS-level API, and there’s
> no way for the web API to decide or even know the actual registration.
>
>
>
> Blink component
>
> Internals > AttributionReporting
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EAttributionReporting>
>
>
> TAG review
>
> https://github.com/w3ctag/design-reviews/issues/724#
> issuecomment-1908353938
>
> TAG review status
>
> Pending
>
> Risks
>
>                  Interoperability and Compatibility
>
> See the Attribution Reporting API I2S
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/2Rmj5V6FSaY> for
> information on the other general measurement proposals in this space.
>
> Private Click Measurement in Safari supports app to web measurement (
> https://webkit.org/blog/11529/introducing-private-
> click-measurement-pcm/#:~:text=App%2Dto%2DWeb%20Click%20Measurement). On
> iOS, some web to app measurement is supported via SKAdNetwork (
> https://developer.apple.com/documentation/skadnetworkforwebads). There is
> currently no interop between these proposals and the cross app web API for
> Attribution Reporting.
>
> If Blink ever ships on iOS (at least in the EU, given recent announcements
> by Apple), would it be possible to expect interop between iOS and Android?
>
>
> There’s no official position from WebKit yet, but there’s some concern on
> the interoperability between Safari’s Private Click Measurement and the
> Attribution Reporting API. We may expect similar concerns on supporting
> Attribution Reporting API on iOS, therefore would not expect
> interoperability between iOS and Android in the short term.
>
> Thanks - ignoring the PCM API proposal, my question was more along the
> lines of if it would be possible to implement this proposal were Blink to
> be shipped on iOS (rather than the current Bling architecture), i.e., do
> the underlying iOS APIs allow for implementing this proposal. I don't think
> this is a blocking concern today, but an interesting interop concern for a
> future state.
>
>
> Thanks for explaining. To implement this proposal on iOS, it requires the
> iOS API to support a similar registration url based interface and handle
> the attribution registration. This is currently not supported by the
> underlying iOS API and we would not expect this happen in the short term.
> But I agree that it’s a reasonable interop concern in the future were Blink
> to be shipped on iOS.
>
>
>
>
> Gecko: No official position (https://github.com/mozilla/
> standards-positions/issues/791#issuecomment-1908359889)
>
> Any reason we didn't file a new issue w/ Mozilla (or TAG...), but we did
> with WebKit?
>
>
> We initially requested feedbacks for TAG, Mozilla and Webkit all in the
> comments of the Attribution Reporting API requests as it’s an extension of
> that API. We were then suggested by WebKit folks to file a new issue
> instead as it’s easier for their system to handle new requests.
>
>
>
> WebKit: No official position (https://github.com/WebKit/
> standards-positions/issues/307)
>
> Web developers: Positive. Some testers are currently implementing and
> providing feedback and more usage expected in 2024. Developers have
> requested expansion of coverage of this feature (example:
> https://github.com/WICG/attribution-reporting-api/issues/1125).
>
> Debuggability
>
> The Attribution Reporting API utilizes DevTools and an internal page (
> chrome://attribution-internals) to facilitate testing and integration.
> The debugging information for OS registrations from Chrome will be
> displayed in DevTools and the internal page as well.
> <https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md#optional-transitional-debugging-reports>
>
> Additionally, debug reports
> <https://github.com/WICG/attribution-reporting-api/blob/main/app_to_web.md#optional-debugging-reports>
> are supported for OS registrations. The Attribution Reporting API for
> Android also implements a similar debugging reports framework
> <https://developer.android.com/design-for-safety/privacy-sandbox/attribution-app-to-web#transitional-debugging>
> to facilitate cross app and web testing.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, Chrome OS, Android, and Android WebView)?
>
> The Attribution-Reporting-Support header is supported on all platforms.
> Today, only Android offers a native Attribution Reporting API, so the
> ability to register with the OS is only supported on those platforms
> (Android and Android WebView).
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> The Attribution-Reporting-Support header is tested by web platform tests,
> but the integration with OS is not as web platform tests are not
> supported for Android.
>
> Requires code in //chrome?
>
> False
>
> Estimated milestones
>
> Chrome 123
>
> Launch bug
>
> https://launch.corp.google.com/launch/4238495
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/4994430156668928
>
> Links to previous Intent discussions
>
> Cross App and Web Attribution Measurement Intent to Experiment
> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/gTvI5x-qex8>
>
> Cross App and Web Attribution Measurement Intent to Extend Experiment
> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/0drGQpsOKh0>
>
> Attribution Reporting API Intent to Ship
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/2Rmj5V6FSaY>
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit https://groups.google.com/a/
> chromium.org/d/msgid/blink-dev/CA%2BVrgP%3DZDhgDguTkPXBnPOk8CpOVkxKHyBo
> eUR9%3D43c7p6wZuw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BVrgP%3DZDhgDguTkPXBnPOk8CpOVkxKHyBoeUR9%3D43c7p6wZuw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
>
> To view this discussion on the web visit https://groups.google.com/a/
> chromium.org/d/msgid/blink-dev/CA%2BVrgPn%2BCBi6AEExLWMrwRF9y68cs5GGQ4vh
> FPxXCHmwndZeCQ%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BVrgPn%2BCBi6AEExLWMrwRF9y68cs5GGQ4vhFPxXCHmwndZeCQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5164e08a-c56c-4948-a72e-a2d7b86d0094n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5164e08a-c56c-4948-a72e-a2d7b86d0094n%40chromium.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8QyqJen_bx0kSCt%3D1%2BeZYvX7GsLLzTbF3fJG-JEjuFwA%40mail.gmail.com.

Reply via email to