> ## Documentation Index
> Fetch the complete documentation index at: https://devzone.nayax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 扩展类型

> 四种核心扩展显示类型的参考：屏幕、全屏、带弹出窗口的按钮和标签页。

您的核心扩展程序在 Nayax Core 中以四种显示类型之一的形式呈现。显示类型控制布局，包括您的应用在用户界面中的位置、是否接收元素上下文以及 Nayax 如何传递身份验证令牌。在向 Nayax 注册应用之前，请选择符合您使用场景的类型。

## 显示类型概览

| 显示类型 | 菜单类型 | 布局 | 接收上下文 | 代币交付 |
| - | - | - | - | - |
| 屏幕 | 应用程序 | 页面全屏显示，Nayax菜单可见 | 不 | postMessage |
| 全屏 | 应用程序 | 完整页面，无 Nayax 菜单 | 不 | 参见注释 |
| 带弹出窗口的按钮 | 应用插件 | 当前屏幕上方的模态框 | 是的 | postMessage |
| 标签页 | 应用插件 | 当前屏幕内的标签页 | 是的 | postMessage |

<Note>
  全屏扩展程序无法通过 postMessage 接收令牌。请联系 Nayax 以确认您的全屏扩展程序的令牌发送方式。
</Note>

## 屏幕

\*\*菜单类型：\*\*应用程序

Screen 扩展程序会在 Nayax Core 中以全页面形式加载，平台导航菜单仍然可见。用户可以通过菜单选择访问该扩展程序。

\*\*何时使用：\*\*您的应用是一个独立的工具或仪表板，不需要对另一个屏幕中选择的特定元素做出反应。

**Token delivery:** postMessage from the parent frame. Your app receives `token` and `cortexUrl`. No `selection` context is passed.

Screen 扩展类型会以全页形式加载，并显示 Nayax Core 菜单。

## 全屏

\*\*菜单类型：\*\*应用程序

全屏扩展程序会以全屏页面的形式加载，并完全替换 Nayax Core 的导航。您的应用将提供自己的导航。

\*\*何时使用：\*\*您的应用有自己的导航结构，并且需要占据整个视口。

\*\*令牌传递：\*\*全屏类型扩展程序无法使用 postMessage 方式。构建全屏扩展程序之前，请联系 Nayax 确认令牌传递方式。

全屏扩展类型会以全页面形式加载，但不显示 Nayax Core 导航菜单。

## 带弹出窗口的按钮

\*\*菜单类型：\*\*应用插件

“带弹出窗口的按钮”扩展程序会在现有的 Nayax Core 屏幕中添加一个按钮。点击该按钮会在模态窗口中打开您的应用。

\*\*何时使用：\*\*您的应用是一个上下文操作或工具，它作用于当前处于焦点状态的元素（例如，可从“机器”屏幕访问的特定于机器的诊断工具）。

令牌传递:来自父级 frame 的 postMessage。您的应用会收到 `token`、`cortexUrl`,以及一个包含当前聚焦元素上下文信息的 `selection` 对象。

“带弹出窗口的按钮”扩展类型会以模态覆盖层的形式打开您的应用。

\*\*必须指定容器：\*\*您必须指定容器 ID 才能将按钮放置在父屏幕上。请参阅下方的[“可用容器”](#available-containers) 。

## 标签页

\*\*菜单类型：\*\*应用插件

Tab 扩展程序会在现有的 Nayax Core 屏幕中添加一个标签页。您的应用会以 iframe 的形式加载到该标签页中。

\*\*何时使用：\*\*您的应用程序是一个视图或面板，它在逻辑上属于屏幕上的现有选项卡旁边（例如，机器详细信息屏幕上的自定义报告选项卡）。

令牌传递:来自父级 frame 的 postMessage。您的应用会收到 `token`、`cortexUrl`,以及一个包含当前聚焦元素上下文信息的 `selection` 对象。

Tab 扩展类型会将您的应用作为标签页加载到现有的 Nayax Core 屏幕中。

## 配置字段

当您向 Nayax 提供应用详细信息进行注册时，请使用以下字段：

| 场地 | 必需的 | 描述 |
| - | - | - |
| 标题 | 是的 | 显示名称显示在 Nayax Core 菜单或按钮/选项卡标签中 |
| 菜单类型 | 是的 | Screen 或 Fullscreen 使用 `App`。Button with Popup 或 Tab 使用 `App Plugin`。 |
| 父菜单 | 条件 | 应用显示的菜单项或屏幕。应用插件类型必需。 |
| 模型 | 不 | 应用的权限模型标识符。用于权限范围和角色管理。 |
| 图标 | 不 | 菜单或按钮上显示的图标文件 |
| 网址 | 是的 | 应用程序的托管 URL |
| 类型 | 是的 | 显示类型：`Screen`、`Fullscreen`、`Button with Popup` 或 `Tab` |
| 容器 | 条件 | 应用插件类型为必填项。指定按钮在父屏幕上的显示位置。应用类型留空。 |
| 瞄准镜 | 不 | 限制或覆盖用户对您应用的权限。请参阅[身份验证](/docs/core-extension/authentication#scopes)。 |

### 配置示例：屏幕（外部应用程序）

一个显示 Nayax Core 菜单的全屏外部应用程序：

| 场地 | 价值 |
| - | - |
| 标题 | 燃料点 |
| 菜单类型 | 应用程序 |
| 父菜单 | 运营 |
| 模型 | 应用程序/加油站 |
| 网址 | [https://fuelpoint.roseman.co.il/](https://fuelpoint.roseman.co.il/) |
| 类型 | 屏幕 |
| 容器 | （空的） |

## 可用容器

应用插件扩展（带弹出窗口和选项卡的按钮）需要一个容器 ID，用于将按钮定位在父屏幕上。以下容器可用：

| 容器 ID | 地点 |
| - | - |
| `btn_info` | 信息部分按钮 |
| `btn_actions` | 操作部分按钮 |

## 快速参考

| 我想要... | 菜单类型 | 显示类型 |
| - | - | - |
| 使用 Nayax 菜单添加全页应用程序 | 应用程序 | 屏幕 |
| 添加一个带有自定义导航的全页应用程序 | 应用程序 | 全屏 |
| 添加一个按钮，点击后可以在弹出窗口中打开我的应用。 | 应用插件 | 带弹出窗口的按钮 |
| 将我的应用添加为现有屏幕上的一个标签页 | 应用插件 | 标签页 |

## 下一步

<CardGroup cols={2}>
  <Card title="验证" icon="key" href="/docs/core-extension/authentication">
    了解 Nayax 如何为每种显示类型提供令牌。
  </Card>

  <Card title="开始" icon="rocket" href="/docs/core-extension/get-started">
    完整演示如何注册和测试您的扩展程序。
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.