> For the complete documentation index, see [llms.txt](https://mercure-technologies.gitbook.io/xprem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mercure-technologies.gitbook.io/xprem/installation-guide/configure-your-application.md).

# Configure your application

### Open the dashboard

Open `{{SERVER_URL}}/dashboard` and login using the ADMIN\_EMAIL & ADMIN\_PASSWORD defined [here](/xprem/installation-guide/server-configuration.md#dashboard-credentials).

### Create your app

<div><figure><img src="/files/hjMO9kJEwHcmXQyjH0Kj" alt="" width="253"><figcaption></figcaption></figure> <figure><img src="/files/EHHMkCvdFn5p86Tlmm1K" alt="" width="375"><figcaption></figcaption></figure></div>

Then go to **App Info** and copy your App ID.

<figure><img src="/files/1ZLxaN8wsmaoq7NDENtM" alt=""><figcaption></figcaption></figure>

### Download the signing certificate

Go to **App Info** and click **Download certificate** in the top-right corner.

Save it into your Expo project as `certs/certificate.pem`:

```bash
mkdir -p certs
mv ~/Downloads/app-<your-app-id>-certificate.txt certs/certificate.pem
```

Your app uses this certificate to verify that updates really came from your server. Commit it to your Expo project.

### Create an API Key

Go to **API tokens** and create a new token:

{% hint style="info" %}
Make sure to copy your token now. You won't be able to see it again.
{% endhint %}

<figure><img src="/files/E3auOmTeJYa0RYzUD9vV" alt=""><figcaption></figcaption></figure>

### Configure your Expo app

From the root of your Expo project, run:

```shellscript
npx eoas init
```

| Prompt                                             | Answer                      |
| -------------------------------------------------- | --------------------------- |
| Project id (sent as expo-app-id the in the header) | **Your dashboard app UUID** |
| URL of your update server                          | BASE\_URL                   |
| Do you have already generated your certificates    | **Yes**                     |

### Publish your first update

```shellscript
export RELEASE_CHANNEL={{APP_RELEASE_CHANNEL}}
export EOO_TOKEN={{API_KEY}}
npx eoas publish --branch {{BRANCH}}
```

### Point a channel at your branch

Each Expo build is bound to a release channel at build time, and each update is published to a branch. A channel points to one branch, and that mapping determines which updates the build receives.\
Go to Channels -> Create Channel and attach it to the branch you've just created.

<figure><img src="/files/bfdhgyK3f11XDpjlte59" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The "production" channel is used in this demo but you should use the one attached to your expo build
{% endhint %}

### Submit your application

Your app now needs a new native build. The server URL and signing certificate are embedded at build time, so any build made before this change will keep pointing at the old configuration.

Build, submit to the App Store and Google Play, and once your users are on that version, every JavaScript change after it ships over the air.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mercure-technologies.gitbook.io/xprem/installation-guide/configure-your-application.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
