# クイックスタート

> クイックスタートガイドに従って Android で Tapjoy を初期化します。

## SDK のインテグレーション##sdk-integration

### Maven (推奨)##maven-(recommended)

Maven を使用すると、アプリケーションの build.gradle ファイルに数行を加えることで Offerwall を統合できます。
Tapjoy を使用するには、build.gradle ファイルに加えます。

```java
    repositories {
      maven {
        name "Tapjoy's maven repo"
        url 'https://sdk.tapjoy.com/'
      }
      maven {
        name 'Google'
        url 'https://maven.google.com/'
      }
    }

    dependencies {
      implementation 'com.tapjoy:tapjoy-android-sdk:14.4.0'
    }
```

### アプリの権限とアクティビティの追加##add-app-permissions-and-activities

以下の権限が必要です。

* `ACCESS_WIFI_STATE` (任意)

アプリのマニフェストアクティビティにも同じ configChanges を追加する必要があります。

```java
android:configChanges="orientation|keyboardHidden|screenSize|uiMode"
```

この時点で、アプリケーションをコンパイルして実行し、アプリのすべてが動作していることを確認するようお勧めします。実際にはアプリケーションのコードに対して何も行っていないため、アプリケーションの機能にエラーや変更はありません。

#### AD\_ID と Google Play ファミリープログラム##ad\_id-and-the-google-play-families-program

Tapjoy 12.9.0 には `play-services-ads` v17.1.0 が含まれています。本バージョンの `play-services-ads` には、Google Play ファミリープログラムのメンバーに対して削除する必要がある `AD_ID` 権限が含まれています。

マニフェストに以下の要素を追加することで、アクセス権を除外できます。

```java
  <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
```

詳細については、[こちら](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en-GB) を参照してください。

## Tapjoy への接続##connect-to-tapjoy

次のステップは、アプリケーションに Tapjoy 接続コードを追加することです。このコードのキー ビットは、アプリケーションで Offerwall SDK を "オン" にします。

> **Note:**
>
> Tapjoy Connect 呼び出しは非常に重要です。正しく実装されていないと、Tapjoy の製品や機能は動作しません。

Tapjoy 接続呼び出しを実装するには、統合するアプリケーション用の Offerwall SDK キーが必要です。これを見つけるには、Tapjoy ダッシュボードでアプリケーションを操作し、上部のナビゲーションバーにある "Settings" (設定) ボタンを選択します。"App Settings" (アプリ設定) に移動すると、ページの下部に SDK キーがあります。

次に、コードを記述します。Tapjoy をアクティビティにインポートします。

```java
  import com.tapjoy.Tapjoy
```

次に、メインアクティビティの `onCreate()` メソッドで Tapjoy に接続します。

```java
  Hashtable<String, Object> connectFlags = new Hashtable<String, Object>();
  connectFlags.put(TapjoyConnectFlag.TJC_OPTION_LOGGING_LEVEL, TJLogLevel.DEBUG); // 本番ビルドではこれを無効にする
  connectFlags.put(TapjoyConnectFlag.USER_ID, "USER_ID_GOES_HERE"); // 自己管理通貨で重要

Tapjoy.connect(getContext().getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {
    @Override
    public void onConnectSuccess() {
        
    }
    @Override
    public void onConnectWarning(int code, String message) {
        
    }
    @Override
    public void onConnectFailure(int code, String message) {
        
    }    
}); 
```

このコードでは、Tapjoy に接続し (成功、失敗、警告のコールバックをリッスン)、2 つの '接続フラグ' (ロギングとユーザー ID) を設定していることがわかります。`onConnectSuccess` は、SDK が Tapjoy サーバーに正常に接続されたことを示します。接続に成功したが、ノンブロッキングの問題が発生した場合、`onConnectWarning` が最初に発生します。この機能は現在、ConnectFlags で送信されたときに UserId の問題のみを検出します。サーバーに正常に接続できない場合、`onConnectFailure` が発生します。

パブリッシャーにとって最も一般的で便利な接続フラグは、**TJC\_OPTION\_LOGGING\_LEVEL** と **USER\_ID** の 2 つです。

デバッグビルドではロギングフラグを使用しますが、本番用にビルドする場合は無効にすることが重要です。

**USER\_ID** フラグの設定は、自己管理通貨を使用する場合に重要です。これを接続時に設定することが重要です。プレースメントが呼び出される前に確実に設定し、報酬の問題が発生しないようにするためです。

OS から提供されるさまざまな Android 識別子が Tapjoy でどのように使用されるかをパブリッシャーが制御するのに役立つ、その他の接続フラグがいくつかあります。

| フラグ                            | 説明                                                                                                                                                                                | ノート                                                                                   |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `ALLOW_LEGACY_ID_FALLBACK`     | このフラグを設定すると、広告 ID を使用できない場合、Offerwall SDK は永続化された ID を広告の目的に使用します。                                                                                                                | SDK バージョン 12.2.1 以降で使用できます。                                                           |
| `DISABLE_ADVERTISING_ID_CHECK` | デフォルトでは、Tapjoy の Android SDK は Google Advertising Identifier の存在を確認し、見つからない場合は初期化に失敗します。このフラグを設定すると、このチェックが無効になり、Google Advertising Identifier が存在しない場合でも Offerwall SDK が初期化されます。 | これは、Google Play 開発者サービスがアプリにない場合 (Google Play 以外のアプリストアでリリースするためのビルドを作成する場合など) に便利です。 |

すべての接続フラグの説明については、[Java SDK リファレンス](https://ltv.tapjoy.com/sdk/api/java/com/tapjoy/TapjoyConnectFlag.html) を参照してください。

次に、アプリケーションをコンパイルして実行します。

### 最大ユーザーレベル##max-user-level

Tapjoy にゲーム内のレベル数を伝えることができます。この値は、connect を呼び出す前または後に設定できます。

```java
Tapjoy.setMaxLevel(10); 
```

### ユーザーセグメント##user-segment

`setUserSegment` を呼び出すことで、ユーザーをセグメントの一部として識別できます。これは connect を呼び出す前または後に設定できます。

```java
Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.PAYER);
Tapjoy.setUserSegment(TJSegment.NON_PAYER);
Tapjoy.setUserSegment(TJSegment.UNKNOWN); 
```
