Intent to Extend Experiment: Digital Goods API

103 views
Skip to first unread message

Rouslan Solomakhin

unread,
Jan 21, 2022, 2:32:58 PM1/21/22
to blink-dev, gle...@chromium.org, Dominick Ng

Hello blink-dev,


We would like to extend the experiment by two milestones to end in M101 (inclusively), instead of the current origin trial end of M99.

Reason this experiment is being extended

The motivation is twofold.
  1. We need more time to collect feedback from the experimental partners.
  2. We would like to introduce changes that are requested by the web developers and collect data on those changes during the origin trial.
The changes in question are DGAPI 2.1, which are non-breaking additions. The new version:
  • Adds to DigitalGoodsService:
    • Promise<sequence<PurchaseDetails>> listPurchaseHistory();
  • Adds to ItemDetails:
    • ItemType type;
    • sequence<DOMString> iconUrls;
    • unsigned short introductoryPriceCycles;
  • Adds enum ItemType.

Contact emails

mgi...@chromium.orggle...@chromium.orgrou...@chromium.org

Explainer

https://github.com/WICG/digital-goods/blob/master/explainer.md

Specification

Currently under review in https://github.com/WICG/digital-goods/pull/40.

Design docs

https://docs.google.com/document/d/1Jbt2Mzt-xg1cWVlFScBQsoX_pE8Kg1gYpulxUSV8FM0/edit

Summary

An API for querying and managing digital products to facilitate in-app purchases from web applications, in conjunction with the Payment Request API (which is used to make the actual purchases). The API would be linked to a digital distribution service connected to via the user agent. In Chromium, this is specifically a web API wrapper around the Android Play Billing API.


Blink component

Blink>Payments

Search tags

paymentsbilling

TAG review

https://github.com/w3ctag/design-reviews/issues/571 TAG recommends making a Chrome-specific API. Other issues addressed.

TAG review status

Issues addressed

Risks

Interoperability and Compatibility

Similar to Payment Request: this API is used to talk to specific store backends, and so its usage is tailored to the specific store. The reason it's a proposed web standard is so that the same code (which is specific to one store) is portable across browsers.


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/349) Requested 2020-05-27

WebKit: No signal (https://lists.webkit.org/pipermail/webkit-dev/2021-October/032001.html) Requested 2021-10-08.

Web developers: Positive (https://discourse.wicg.io/t/proposal-web-payments-digital-product-management-api/4350)

Other signals: rouslan@ presented DGAPI at 2021 TPAC (meeting notes) and at a recent PWA Dev Sync (meeting notes). Other browser implementers and app stores do not appear to have immediate plans to engage with DGAPI. There were some questions, no objections.

Ergonomics

Used in tandem with the Payment Request API.



Goals for experimentation

- General API design. Determine whether developers need to access more data that would be exposed through the Play Billing API but is not exposed through our web API. - Specifically, we would like to know whether the API is suitable for abstracting over other non-Play stores. While running an experiment with the current implementation won't tell us this, it will set up real-world clients and we can then try their sites on other implementations.


Ongoing technical constraints

We would like to avoid stopping the experiment in between the phases to avoid unnecessarily disrupting current users of the API while we work on the next iteration.



Debuggability

We have had several requests from developers to make the API easier to debug, but it is difficult due to the interaction with a backing service based in an app/store context. We are looking for suggestions (https://github.com/WICG/digital-goods/issues/33) on how we might improve the debuggability of the API.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No

No, Android and Chrome OS only (the two platforms where we have Play Store integration).


Is this feature fully tested by web-platform-tests?

No

Requires code in //chrome?

False

Tracking bug

https://crbug.com/1250604


Launch bug

https://crbug.com/1288420


Estimated milestones

Origin trial extension begins: m100.
Origin trial extension ends: m101 (inclusive).

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5339955595313152

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/vkS3k30lWNs
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/wIYqo3F_Vmo

This intent message was generated by Chrome Platform Status.

Glen Robertson

unread,
Jan 23, 2022, 8:17:20 PM1/23/22
to Rouslan Solomakhin, blink-dev, Dominick Ng
This is an intent to extend "Digital Goods API v2.0" not "Digital Goods API" (they are separate experiments).

Rouslan Solomakhin

unread,
Jan 25, 2022, 2:03:35 PM1/25/22
to Glen Robertson, blink-dev, Dominick Ng
Hi blink-dev,

After some discussions, we have decided to ship 2.0 to stable instead, because we feel that it's ready and we have not received any negative feedback for DGAPI 2.0 origin trial. I will be sending an "intent to ship" shortly. In the meantime, please disregard this "intent to extend the experiment" email.

Cheers,
Rouslan
Reply all
Reply to author
Forward
0 new messages