Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for integrating with Store.app #4619

Open
maphe opened this issue Jan 18, 2024 · 17 comments
Open

Proposal for integrating with Store.app #4619

maphe opened this issue Jan 18, 2024 · 17 comments

Comments

@maphe
Copy link

maphe commented Jan 18, 2024

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 #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:

  • a manifest properly linked on the provided URL through <link rel="manifest />
  • the manifest must contain at least the following:
    • name
    • short_name
    • icons
    • start_url
    • description

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

Copy link
Contributor

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

Copy link
Contributor

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

@jgw96
Copy link
Contributor

jgw96 commented Feb 12, 2024

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 jgw96 closed this as completed Feb 12, 2024
@jgw96
Copy link
Contributor

jgw96 commented Feb 12, 2024

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.

@jgw96 jgw96 reopened this Feb 12, 2024
@maphe
Copy link
Author

maphe commented Feb 12, 2024

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

Copy link
Contributor

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

11 similar comments
Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants