Distribute your app
Effective on 7.0.4 and above
The app store
ArcOS has a built-in app store that contains apps that ArcOS users have published. So, if you've created an app that you really want others to use, you can publish it to the store, and it'll show up if people look for it.
Uploading your package
You can upload packages to ArcOS via the app store. First, create an ArcOS app using the various guides and instructions found on the documentation site. Then, open the App Store, go to Made By You, and click Upload.
Selecting a package from your filesystem will publish it immediately. It'll fail if another package with the same name already exists. You cannot use the Upload button to update a package you uploaded. To update an already published package, look here.
Store assets
You can add screenshots, a banner and an icon to your package for the app store to grab. First, I'll create a folder named store
in the src
directory. Next, I'll define the store
object in project.arc.json
's metadata
property, like so:
{
"metadata": {
// . . .
"store": {
"image": "store/image.png",
"banner": "store/banner.png",
"screenshots": [
"store/screenshots/1.png",
"store/screenshots/2.png"
]
}
}
// . . .
},
The store asset paths are relative to the src
directory of your app project. So, if your banner is in src/store/banner.png
, you'll put store/banner.png
in metadata.store.banner
. When it comes to filetypes; effectively everything that a modern browser can render is supported. Do note that these assets will be copied to the user's filesystem when the application is being installed, because they're technically part of the app's source code.
The readme file
There's also a README.md
file (case sensitive) that you can create in the src/
directory. The contents of this file will be read and rendered as markdown on the store page of your app. There's partial support for GitHub flavoured markdown, ArcOS uses svelte-markdown under the hood for rendering markdown content.
Note that external assets like image files do not work in app store readmes. You're restricted to text only I'm afraid. Sorry!
Updating your package
If you've created a new version of your app, you can upload it to the app store to give that update to all of your users. First, be sure to increase the version number in project.arc.json
and src/_app.tpa
. The first one is especially important, as ArcOS will reject your update package if that version string isn't incremented.
Once that's done, go ahead and build your app using npx v7cli build
, and upload it to ArcOS using the file manager. Next, open the App Store, go to Made By You, click on the package you want to update, and click Update.... Select the package you just uploaded from your system, and ArcOS will update your package.
Deprecating and deleting
If you're no longer willing to maintain your ArcOS app, you can choose to Deprecate it. To do this, go to the Made By You store page, click on the app you want to deprecate, scroll down to the Danger Zone, and click Deprecate. You'll be asked to elevate before the package is actually deleted.
Deprecating or deleting a package cannot be reverted! If you deprecate a package, you won't be able to update it again, and users will be warned that the package is deprecated. Think before you act.
Similarly, to delete a package, go to the Made By You store page, click on the app you want to delete, scroll down to the Danger Zone, and click Delete. You'll be asked to elevate before the package is actually deleted.
Administrative action
if your package is found to have copyrighted content, explicit depictions of sexual activity, or other inappropiate or illegal content, an authorized ArcOS administrator may choose to block your package. This means that users will no longer be able to download your app, and that it won't show up in store listings. You'll receive an ArcOS message if your app got blocked, explaining the reason why, and what you can do to get your app unblocked.
Your account might end up getting deactivated if you repeatedly distribute the aforementioned types of content. Stay safe, stay kind, play nice.
Last updated