# Android SDK

### **开始使用**

要开始使用 Offer18 的 Android SDK 进行跟踪，您需要将该 SDK 作为依赖项集成到您的应用中。

对于 **Gradle** 在 **Kotlin，** 在以下文件中添加依赖项 `build.gradle.kts` 文件

```gradle
implementation("com.offer18:android-sdk:{VERSION}")
```

对于 **Gradle** 在 **Groovy，**  在以下文件中添加依赖项 `build.gradle` 文件

```gradle
implementation 'com.offer18:android-sdk:{VERSION}'
```

{% hint style="warning" %}
您必须替换 `{VERSION}` 为 Offer18 的 Android SDK 的最新稳定版本
{% endhint %}

查找 Android SDK 的最新稳定版本

{% embed url="<https://central.sonatype.com/artifact/com.offer18/android-sdk>" %}

***

### 权限

确保您的应用具有以下权限

```xml
<uses-permission android:name="android.permission.INTERNET"/>
```

***

### SDK 初始化

导入 `Offer18` 类来自 `com.offer18.sdk` 包

```java
import com.offer18.sdk.Offer18;
```

要初始化软件开发包（SDK），请在您的应用代码中插入提供的代码片段。

{% code fullWidth="false" %}

```java
Offer18.init(getApplicationBaseContext(), "{DOMAIN}", "{ACCOUNT_ID}","tid_key_in_referrer_url");
```

{% endcode %}

{% hint style="info" %}

* 替换 `{DOMAIN}` 为您的跟踪域名。&#x20;
* 替换 `{ACCOUNT_ID}` 为您的账户 ID。
* 替换 **tid\_key\_in\_referrer\_url** 为 tid 使用您自己的参数键
  {% endhint %}

***

### 追踪转化

导入 `Offer18` 类来自 `com.offer18.sdk` 包

```java
import com.offer18.sdk.Offer18;
```

要使用 Offer18 的 Android SDK 启用转化跟踪，您需要在应用的订单成功页（感谢页面）中插入特定的代码片段。

```java
Map<String, String> args = new HashMap<>();  
args.put("o", ""); // 0000000 (Offer ID)
args.put("tid", "");  // x-xxxx-xxxxxx-xxxxxx (Click ID)
args.put("event", ""); // install
args.put("adv_sub1", ""); 
args.put("adv_sub2", "");
args.put("adv_sub3", "");
args.put("adv_sub4", "");
args.put("adv_sub5", "");
args.put("coupon", "");
args.put("sale", "");
args.put("payout", "");
Offer18.trackConversion(args);
```

***

### 跟踪转化（自动）

导入 `Offer18` 类来自 `com.offer18.sdk` 包

```java
import com.offer18.sdk.Offer18;
```

如果您不想通过获取 Referrer 详情来获取点击 ID，您可以在配置中使用 Offer18 的点击 ID 键。

#### 初始化 SDK&#x20;

要初始化软件开发包（SDK），请在您的应用代码中插入提供的代码片段。&#x20;

```java
Offer18.init(getApplicationBaseContext(), "{DOMAIN}", "{ACCOUNT_ID}","tid_key_in_referrer_url");
```

#### 完成转化

```java
Map<String, String> args = new HashMap<>();  
args.put("o", ""); // Offer ID  
args.put("tid", "{REFERRER_TID}"); // 自动填充 TID
args.put("event", ""); // install
args.put("adv_sub1", "");
args.put("adv_sub2", "");
args.put("adv_sub3", "");
args.put("adv_sub4", "");
args.put("adv_sub5", "");
args.put("coupon", "");
args.put("sale", "");
args.put("payout", "");
Offer18.trackConversion(args);
```

{% hint style="info" %}
“**{REFERRER\_TID}**” 将自动从 Referrer URL 检索点击 ID 并将其包含在 trackConversion 中。

* TID 将基于 SDK 初始化期间提供的键值自动检测
* 当检测到宏时将进行替换 **{REFERRER\_TID}** 被检测到
* **trackConversion** 将失败如果
  * 未手动 **tid** 提供，&#x20;
  * 未 **tid** 通过引用 URL 检测到&#x20;
  * **tid** 已检测到但未提供宏&#x20;
  * 提供了宏但没有 **tid** 或为空 **tid** 从 referrer url 检测到
    {% endhint %}
