# 虚拟货币概述

> 了解 Tapjoy Offerwall 自管虚拟货币和 Tapjoy 托管虚拟货币，从而根据 Android 应用的需求选择和配置合适的虚拟货币。

Tapjoy 提供了两种方式将虚拟货币集成到您的应用程序中：Tapjoy 托管货币和自管货币。

## Tapjoy 托管货币（推荐）

使用 Tapjoy 托管货币在 Tapjoy 服务器上存储用户的货币余额。该服务对使用 Tapjoy 发行商 SDK 的发行商免费开放，无需自行搭建后端基础设施来管理货币数据。

> **Note:**
>
> 使用 **Tapjoy 托管货币**的应用程序无法支持额外的 Tapjoy 货币。

## 自管货币

使用自管货币在您自有服务器上存储和管理用户的货币余额。该方法控制权更高，但需要您自行处理所有后端存储和货币管理工作。

> **Note:**
>
> 您可以在单个应用程序内实现多种自管货币。要使用多种 Tapjoy 货币，必须选择自管选项。系统不支持将托管货币与自管货币混合使用。

## 选择货币管理类型

推荐的最佳实践是使用自管货币，以获得更多功能支持。下表比较了这两种货币选项的功能：

| 货币功能           | Tapjoy 托管货币 | 自管货币 |
| -------------- | :---------: | :--: |
| 多种货币           |      否      |   是  |
| 控制用户余额         |      否      |   是  |
| 根据奖励 ID 进行故障排除 |      否      |   是  |
| 交易可见性          |      否      |   是  |
| 设置简单           |      是      |   是  |
| 更少 SDK 调用      |      是      |   否  |

## 设置虚拟货币

> **Note:**
>
> 虚拟货币创建后无法删除。请谨慎操作，避免货币列表杂乱。您必须为每个平台（iOS 和 Android）分别创建货币。

### 后台配置

![Berrywall（提供墙）后台中的虚拟货币配置。](/api/media?file=/grow/media/images/virtual-currency-config.png)

要直接通过 Tapjoy 后台界面设置虚拟货币，请完成以下步骤：

1. 从右上角的列表中选择您的应用。

2. 在左侧导航栏选择 **Virtual Currency（虚拟货币）**。

3. 选择右上角的 **Add Virtual Currency（添加虚拟货币）**。

4. 完成表单填写。请参考以下最佳实践来配置您的货币：

**Set a currency exchange rate with enough granularity:**`100 = $1` 是一个带细粒度的货币兑换比例示例。如果兑换比例设为 `2 = $1` 这样，可能导致填充率下降，因为部分任务的价值可能不足 1 单位货币。**Avoid high exchange rates:**汇率过高的一个例子是`100,000,000 = $1`。在 Android 平台上，货币余额上限为 2,147,483,647。 请避免设置超过该上限的兑换比例，否则可能导致余额获取失败。

系统将在 15 分钟内启用您的货币。在此期间，除非您的设备是测试设备，否则任务将不会显示。要启用测试任务，请在左侧菜单转到 **Settings（设置）**> **App Settings（应用设置）**> **Test Devices（测试设备）**。

## 从 Tapjoy 托管货币迁移到自管货币

如果应用尚未上线，可通过 Tapjoy 后台更换应用的货币。请确保在回调 URL 字段中输入格式正确的 URL。

如果应用已上线，可执行以下操作：

* 创建新的应用和 SDK 密钥，以防旧版本用户丢失奖励。
* 通过以下方式迁移用户余额：
  * 使用旧 SDK 密钥调用 `getCurrencyBalance`（首次启动时）。
  * 使用检索到的余额更新您的系统。
  * 后续启动时改用新的 SDK 密钥。
* 禁用原有的广告系列，并在新的 App ID 下重新创建这些广告系列。
* 咨询您的 Tapjoy 客户经理，再继续操作。

> **Note:**
>
> 无法迁回 Tapjoy 托管货币。

如需外部虚拟货币服务器解决方案，可考虑使用 Parse 或 UrbanAirship 等平台。
