# 更新ガイド

> Android 向けアップデートガイドに従って、Tapjoy SDK のバージョン間移行を行います。所定の各ステップを完了することで、インテグレーションエラーや互換性の問題を回避できます。

このガイドでは、Offerwall SDK をあるバージョンから別のバージョンに更新する際に必要なステップについて説明します。問題や競合を防ぐために、すべてのステップを実行することをお勧めします。

## 14.3.0##14.3.0

* `Tapjoy.setDebugEnabled` は非推奨になっているため、使用されている場合はすべて `Tapjoy.setLoggingLevel(TJLogLevel.Debug)` に置き換えます。
* ログレベルは、エラー、警告、情報、デバッグです。
* `TapjoyConnectFlag.ENABLE_LOGGING` は非推奨になっているため、使用されている場合はすべて `TapjoyConnectFlag.TJC_OPTION_LOGGING_LEVEL` に置き換えます。

## 14.2.0##14.2.0

* 非推奨の TJPlacementListener onClick メソッドが使用されている場合は、すべて削除します。次のメジャーバージョンでは削除され、何も行われなくなります。
* 非推奨の getSupportUrl メソッドが使用されている場合は、すべて削除します。次のメジャーバージョンでは削除され、何も行われなくなります。

### 手動での統合##manual-integration

手動で統合する場合は、マニフェストに 2 つの新しいアクティビティを加えます。これらは予測バックジェスチャに関連しています。

```xml
<activity
    android:name="com.tapjoy.TJAdUnitActivity"
    android:enableOnBackInvokedCallback="false"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/TranslucentTheme"
    android:hardwareAccelerated="true"
    tools:ignore="UnusedAttribute" />
<activity
    android:name="com.tapjoy.TJWebViewActivity"
    android:enableOnBackInvokedCallback="false"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/TranslucentTheme"
    android:hardwareAccelerated="true"
    tools:ignore="UnusedAttribute" />
```

## 14.0.0##14.0.0

* `Tapjoy.setActivity()` が使用されている場合は、すべて削除します。次のメジャーバージョンでは削除され、何も行われなくなります。
* `Tapjoy.setGLSurfaceView()` が使用されている場合は、すべて削除します。次のメジャーバージョンでは削除され、何も行われなくなります。
* 非推奨のメソッド `Tapjoy.trackPurchase()` が使用されている場合は、すべて `trackPurchase(String currencyCode, double price)` に置き換えます。

## 13.4.0##13.4.0

新しい `connectWarning` コールバックを追加しました。これは、接続中にノンブロッキングの問題がある場合に発生し、その後に `connectSuccess` も発生します。この機能は現在、ConnectFlags で送信されたときに UserId の問題のみを検出します。

```java title="Java"
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) {
        
    }    
}); 
```

## 13.2.0##13.2.0

### Connect##connect

`connectFailure` コールバックにエラーコードとメッセージパラメーターを追加しました。以前のコールバックは非推奨になりましたが、引き続き機能します。

```java title="Java"
Tapjoy.connect(getContext().getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {
    @Override
    public void onConnectSuccess() {
        super.onConnectSuccess();
    }    
    @Override
    public void onConnectFailure(int code, String message) {
        super.onConnectFailure(code, message);
    }    
    @Override
    public void onConnectFailure() { //Deprecated
        super.onConnectFailure();
    }
}); 
```

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

ゲーム内のレベル数を設定できるようになりました。接続前または接続後に設定できます。

```java title="Java"
Tapjoy.setMaxLevel(10); 
```

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

アプリを現在使用しているユーザーのタイプを設定できるようになりました。これは接続前、接続後、またはセッション中に設定できます。

```java title="Java"
Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.PAYER);
Tapjoy.setUserSegment(TJSegment.NON_PAYER);
Tapjoy.setUserSegment(TJSegment.UNKNOWN); 
```

### エントリーポイント##entry-point

*request connect* を呼び出す前に、エントリーポイントを設定できます。これは、プレースメントがアプリのどこに表示されるかを示します。複数のプリセット値から 1 つを選択できます。

```java title="Java"
TJPlacement placement = Tapjoy.getPlacement("myPlacement", null);
placement.setEntryPoint(TJEntryPoint.ENTRY_POINT_MAIN_MENU);
placement.requestContent(); 

// Available values
TJEntryPoint.ENTRY_POINT_UNKNOWN
TJEntryPoint.ENTRY_POINT_OTHER
TJEntryPoint.ENTRY_POINT_MAIN_MENU
TJEntryPoint.ENTRY_POINT_HUD
TJEntryPoint.ENTRY_POINT_EXIT
TJEntryPoint.ENTRY_POINT_FAIL
TJEntryPoint.ENTRY_POINT_COMPLETE
TJEntryPoint.ENTRY_POINT_INBOX
TJEntryPoint.ENTRY_POINT_INIT
TJEntryPoint.ENTRY_POINT_STORE 
```

### 通貨##currency

* get/spend/earn が負の値を受け付けなくなります。
* 自己管理通貨が管理通貨の API を呼び出すと、エラーが返されます。

プレースメントを作成する前にユーザーのバランスを設定できるようになりました。*requestContent* の前に設定する必要があります。

```java title="Java"
TJPlacement placement = Tapjoy.getPlacement("placement", this);
placement.setCurrencyBalance("1234", 100, new TJSetCurrencyBalanceListener() {
    @Override
    public void onSetCurrencyBalanceSuccess() {
        
    }

    @Override
    public void onSetCurrencyBalanceFailure(int code, String error) {

    }
}); 
```

ユーザーが目標を達成するために必要な通貨の金額を各プレースメントで設定することもできます。

```java title="Java"
TJPlacement placement = Tapjoy.getPlacement("placement", this);
placement.setCurrencyAmountRequired("1234", 100, new TJSetCurrencyAmountRequiredListener() {
    @Override
    public void onSetCurrencyAmountRequiredSuccess() {
        
    }

    @Override
    public void onSetCurrencyAmountRequiredFailure(int code, String error) {

    }
});
```

## 12.8.0##12.8.0

Tapjoy は現在、独自の maven リポジトリをホストしています。Bintray は短期的には引き続き機能しますが、非推奨であるため、できるだけ早く Tapjoy のリポジトリを使用するように更新することをお勧めします。

以前のリリースと新しいリリースはすべて Tapjoy のリポジトリで使用できますが、今後 Bintray で使用できるのは 12.8.0 より前のリリースのみになります。

新しいリポジトリは以下のように使用できます。

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

    dependencies {
      api 'com.tapjoy:tapjoy-android-sdk:12.8.0@aar'
    }
```
