> ## 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.

# 安卓应用

该 SDK 提供了一个附带源代码的演示应用程序，让您从第一天起就能测试集成效果。此演示提供了一个功能完整的应用程序，通过 Nayax SDK API 与 EMV Core 通信。您可以将该源代码应用程序作为开发自有系统的基础。

<Warning>
  在开始之前，请确保您的读卡器已在 Nayax Core 系统中注册。若未注册，则无法完成支付交易。
</Warning>

## 安装

SDK 包含以下文件：

| 文件名 | 描述 |
| - | - |
| `com.nayax.emvCore-release-v.v-bbb.apk` | EMV Core 服务软件包。 |
| `com.nayax.emv_core_android_test-release-v.v-bbb.apk` | SDK 示例应用程序。 |
| `emv-core-test-v.v-bbb.zip` | 包含库和 Java 示例应用程序源代码的 Android Studio 项目。 |

要安装演示应用程序，请按以下步骤操作：

1. 在您的 Android 设备上安装 EMV Core 服务 `com.nayax.emvCore-release-x.x-xxx.apk`。
2. 安装测试应用程序 `com.nayax.emv_core_android_test-release-x.x.x.apk`。

<Note>
  如果 EMV Core 服务与应用程序或读卡器之间出现通信问题，请重启 EMV Core 服务。
</Note>

## 使用演示应用程序

要开始使用测试应用程序，您可以按以下步骤操作：

1. 将您的 UNO 读卡器连接到 Android 设备。如果收到系统消息“Allow EmvCore Service to access Saturn 8700”，请点击 **OK**。

   <Frame>
     <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image1.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=34e01b849b6866561bd696fa36b10aba" alt="" width="231" height="511" data-path="images/docs/android-demo-application/image1.png" />
   </Frame>

   <Warning>
     如果此消息频繁出现，您可以配置设备以减少提示：

     * 在 Android 操作系统设置中将 Nayax 读卡器加入白名单。
     * 在您的移动设备上，勾选“**Always open EmvCore service when Saturn 8700 is connected**”选项并点击 **OK**。
     * 同时建议在系统提示时允许“**Stop optimizing battery usage**”选项。
   </Warning>
2. 应用程序将自动尝试连接 EMV Core 服务和 UNO 读卡器。连接成功后，屏幕顶部的状态栏将显示 **Ready**（就绪）。

### 浏览应用程序

演示应用程序包含多个页面，用于执行特定操作。

### Maintenance 页面

<Frame>
  <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image2.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=498129e5518d3a6438c639c59ac7b828" alt="" width="232" height="512" data-path="images/docs/android-demo-application/image2.png" />
</Frame>

在 **Maintenance**（维护）页面，您可以执行以下操作：

* **Get Data**（获取数据）：从 EMV Core 服务和读卡器获取版本信息和状态。
* **Show Message**（显示消息，仅适用于 UNO-PLUS 读卡器）：允许您编辑并向读卡器显示屏发送两行文本。

### Settings 页面

<Frame>
  <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image3.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=49582b3e7362a43111fc9ce5b57c78b3" alt="" width="232" height="513" data-path="images/docs/android-demo-application/image3.png" />
</Frame>

在 **Settings** 页面，您可以配置以下选项：

* **Currency Code**：输入货币代码（例如，美元为 `840`，欧元为 `978`）。
* **Product ID**：可选，为产品分配一个标识符，以便在交易日志和报告中进行追踪。
* **Timeout**：设置交易的超时时长（单位：秒）。最长时间为 `60` 秒，如需无限轮询，请使用 `continuous=true`。
* **Continuous**：当发生超时时自动重新发起交易轮询，可实现无限次轮询。可通过 `CancelTransaction` 命令停止该交易轮询。

### Payment 页面

执行支付交易：

1. 两步交易请选择 **Authorize**，单步交易请选择 **Pay**。
2. 输入交易 **Amount**。
3. 按 **START** 发起交易。虚拟显示屏将显示 **Present card**，状态栏将显示 **Payment transaction**。
   <Frame>
     <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image4.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=1f43f9671e3c1bd5561de8c5acc32bb0" alt="" width="231" height="512" data-path="images/docs/android-demo-application/image4.png" />
   </Frame>
4. 将 EMV 卡轻触读卡器。
5. 一旦收到交易响应，屏幕上会显示该响应，之后即可进入结算页面。
   <Frame>
     <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image5.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=959529d89262f3351d5e1950a257fbd1" alt="" width="231" height="512" data-path="images/docs/android-demo-application/image5.png" />
   </Frame>
6. 您也可以继续执行另一笔授权。之前的交易可能会保持开放状态（Authorized）。

### Config 页面

<Frame>
  <img src="https://mintcdn.com/nayax-44d6e37b/1pW0jXOF4OhjjY4f/images/docs/android-demo-application/image6.png?fit=max&auto=format&n=1pW0jXOF4OhjjY4f&q=85&s=d4bb5467b0d9d9267442962339c8c81b" alt="" width="241" height="475" data-path="images/docs/android-demo-application/image6.png" />
</Frame>

在 Config 页面，您可以测试 `GetAttribute` 命令：

1. 输入属性（Attribute）名称，例如 `CONFIG_VERSION`。
2. 按 `GET ATTRIBUTE` 从配置文件中获取属性值。

### External settlement 示例设置

要在演示应用中模拟 [External Settlement](/docs/zh/integrate-pos-device/emv-core/payment-flows/pre-authorization-with-external-settlement)，请向 Nayax 支持团队获取以下参数，并在示例应用的 `settings.java` 文件中设置：

* `externalSettlementTokenId`
* `externalSettlementToken`
* `externalSettlementIntegratorId`
* `externalSettlementSignKey`


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