> For the complete documentation index, see [llms.txt](https://being-and-time.gitbook.io/boom-clap-melody-field-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://being-and-time.gitbook.io/boom-clap-melody-field-guide/publishers/install-melody.md).

# Install melody

Publishers deploy Melody through CanNoli. Before installation, create an active Spin and attach it to a Melody Noli.

#### CanNoli

* [Learn about CanNoli, personal link sharing layer](https://4cannoli.com/)
* [CanNoli Field Guide](https://being-and-time.gitbook.io/4cannoli-field-guide/)

### Prerequisites

* A CanNoli account with level 2 Melody access.
* An active Spin.
* An active Noli assigned to that Spin.
* A public website or publishing environment when using a CDN kit.
* Permission to add scripts when using Tangerine or Pineapple.

See [Spins](/boom-clap-melody-field-guide/publishers/spins.md) before continuing.

### Choose a deployment method

#### Direct Noli

Use the hosted Noli URL directly when you want the simplest setup. The visitor opens the Noli, sees the Melody intermission, and continues to the configured destination.

This requires no publisher-site script.

#### Tangerine

Tangerine is the safer default for blogs and managed publishing platforms. It rewrites eligible outbound links so they route through the hosted Noli experience.

Choose Tangerine when:

* the platform allows a small custom script;
* you want CanNoli to host the intermission;
* page overlays or local rendering are not appropriate;
* the platform has restrictive iframe or script behavior.

#### Pineapple

Pineapple renders the Melody experience locally on a custom publisher site. It requires support for custom JavaScript, requests to `4cannoli.com`, iframe embeds, and a page layer.

Choose Pineapple when:

* you control the website implementation;
* you want the Spin displayed in the publisher environment;
* you can test scripts, frames, content security policy, and mobile behavior;
* you need frequency and travel-mode controls.

Test Pineapple on one page before a wider rollout. If the platform strips scripts or blocks embedded players, use Tangerine.

### Generate the installation

1. Open the CanNoli **Account** page.
2. Find **CDN Kits**.
3. Choose Tangerine or Pineapple.
4. Select the Noli flavor attached to your Spin.
5. Enter the parent-site origin, such as `https://example.com`.
6. Approve the publisher origin.
7. Configure the available delivery options.
8. Select **Generate insert** and add the generated code to the publisher site.

Only approved origins can start CDN sessions for that Noli.

### Pineapple controls

Pineapple currently supports:

* **Fly**, which continues forward automatically;
* **Stay**, which waits for the visitor;
* maximum windows within a time range;
* cooldown time between windows;
* optional capture of internal store links.

Most blogs, editorial sites, and busy publisher pages should leave internal-link capture disabled. It is intended for storefronts that deliberately want product or collection links to open an intermission.

### After installation

Test desktop and mobile behavior with a real public link. Confirm that:

* the destination still opens correctly;
* the intermission can be skipped;
* embedded media is visible when used;
* the page does not shift or overflow;
* browser privacy or content-security settings do not block CanNoli;
* impressions begin appearing on the Spin profile after validation.


---

# 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://being-and-time.gitbook.io/boom-clap-melody-field-guide/publishers/install-melody.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.
