Given the simplicity and flexibility of the snap format, there are many ways to distribute snap applications. Using the Snap Store exposes your application to tens of millions of potential users and gives you detailed install statistics, so using it is recommended. Once the snap is in the stable channel users can find your snap in the snap directory or by using Gnome Software.
The Snap Store
The main way of distributing snaps is through the Snap Store dashboard, where you can customize how snaps are presented, review each new pushed snap, and control the release process over several release channels. Here is the model it follows:
You’ll choose a username as part of creating your Snap Store account. This unique name will represent you as a publisher, so pick a name that best reflects your brand. You will not be able to change it once set.
You can release a snap under any name you have rights to. Names can be registered by using the
snapcraft register command, or by visiting the Register new snap dashboard page. You can also grant other developers permission to release versions of a snap you own on the dashboard “Collaboration” page.
Pushing to the Snap Store is done directly from the command-line with the
snapcraft push command.
It’s worth noting that when you push a snap, the Snap Store assigns it a revision number of 1. The Snap Store then automatically increments this revision number each time you push a new version.
After pushing your snap, it is reviewed by way automated checks. Most automated reviews pass with no further action needed.
Use of some interfaces will trigger a manual review. You will receive emails explaining any further action needed and the state of the review process.
Once your snap has been reviewed and approved, you can release it using the
snapcraft release command, instantly making the snap available to users.
Snaps can be released into multiple channels (
edge). This enables you to engage with users who are willing to test changes. It lets users decide how close to the leading edge of development they want to be.
By default, snaps are installed from the
stable channel. Versions of snaps from other channels need to be explicitly selected:
$ snap install hello --channel=beta $ hello Hello, snap padawan!
A snap can be refreshed from a different channel from the one it was originally installed from:
$ snap refresh hello --channel=edge Name Version Rev Developer Notes hello 2.10.1 29 canonical - hello (edge) installed
Brands can also take advantage of white label brand stores, which are branded extensions to the Snap store. Note that this is a commercial offering aimed at brands.