pwa-builder / PWABuilder

The simplest way to create progressive web apps across platforms and devices. Start here. This repo is home to several projects in the PWABuilder family of tools.
https://docs.pwabuilder.com
Other
2.55k stars 273 forks source link

Proposal for integrating with Store.app #4619

Open maphe opened 5 months ago

maphe commented 5 months ago

Tell us about your feature idea

Store.app is an open web app store with an emphasis on web apps and PWAs. We would love to be integrated in PWABuilder to make developers' lives easier allowing them to list their app on a marketplace without having to go through native-packaging hoops. This proposal follows this tweet that invited us to do so, so here we are.

As a very first step I've already submitted PR pwa-builder/PWABuilder#4618 in your documentation. That doesn't require any work from either team while still exposing Store.app as a simple option for PWA devs who want to showcase their work.

Now this proposal is about going a step further and hopefully integrate directly on the PWABuilder Report Card to allow one-click listing.

In the "Package for Stores" card, there could be a "Publish on Store.app" button (assuming all the manifest requirements are fulfilled). We would expose a public endpoint for PWABuilder to publish the PWA anonymously and inviting them to then go claim it if it's theirs. We would also expose an additional endpoint to identify whether a PWA is already listed, in which case the "Publish on Store.app" button would be converted into a "See Store.app Listing" link.

Do you have an implementation or a solution in mind?

We will present the API endpoints that we believe would be sufficient for PWABuilder to integrate the solution described above. However, this is a draft proposal for both parties: those endpoints do not exist today in our system. That gives us flexibility to define together what is the best before we dive into implementation.

Ping a listing

Answers the question, is a PWA already listed on Store.app?

Request

PWABuilder would basically forward the site url provided to the repost card

GET /api/listings/ping?url=https://domain.com/subfolder

Response

We would respond with the following minimalistic json indicating wether or not the app is already listed on Store.app, and if it is, the URL to get to the listing page.

{
  status: "absent" | "unclaimed" | "claimed"
  listingUrl: null | string
}

Publish

Ideally PWABuilder would run the check before allowing this call to be perform (but we'll validate on our end as well). The prerequisites for listing purely from the manifest will be:

Request

POST /api/listings
{
  url: string
}

Response

If the listing got created, we would return the URL

{
  listingUrl: string
}

otherwise we'd return proper error codes and messages.

Have you considered any alternatives?

No response

microsoft-github-policy-service[bot] commented 5 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 5 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

jgw96 commented 5 months ago

Hey all! This has not been forgotten, however there have been some changes on my team very recently that we need to fully evaluate before taking something like this on.

jgw96 commented 5 months ago

Hey all! This has not been forgotten, however there have been some changes on my team very recently that we need to fully evalutae before taking something like this on.

maphe commented 5 months ago

Hey @jgw96, sounds good, thanks for the update. Let us know if there's anything we can help with

microsoft-github-policy-service[bot] commented 4 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 4 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 4 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 4 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 3 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 3 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 3 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 months ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 1 month ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 1 month ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 1 month ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 1 month ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 3 weeks ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 weeks ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 1 week ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .

microsoft-github-policy-service[bot] commented 2 days ago

This issue has been marked as "needs attention 👋" since it has not been triaged for 7 days. Please triage the issue .