Snap stores
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:
1. Username
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.
2. Naming
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.
3. Pushing
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.
4. Releasing
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.
Release channels
Snaps can be released into multiple channels (stable, candidate, beta, and 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
Brand stores
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.