# 更新ガイド

> SDK バージョン間で安全にアップグレードする手順については、この Unity プラグイン更新ガイドに従ってください。

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

## 14.2.0##14.2.0

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

## 14.0.0##14.0.0

* 非推奨の `Tapjoy.TrackPurchase` メソッドが使用されている場合は、新しいメソッド `Tapjoy.TrackPurchase(string currencyCode, double productPrice)` にすべて置き換えます。

## 13.4.0##13.4.0

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

```csharp
Tapjoy.OnConnectWarning += HandleConnectWarning;

void HandleConnectWarning(int code, string message)
{
    
}
```

## 13.2.0##13.2.0

### Connect##connect

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

```csharp
void Start() {	
    // Connect Delegates	
    Tapjoy.OnConnectSuccess += HandleConnectSuccess;	
    Tapjoy.OnConnectFailed += HandleConnectFailed;
	// Deprecated since 13.2.0	
    Tapjoy.OnConnectFailure += HandleConnectFailure;
    }
void OnDisable(){	
    // Connect Delegates	
    Tapjoy.OnConnectSuccess -= HandleConnectSuccess;	
    Tapjoy.OnConnectFailed -= HandleConnectFailed;
	// Deprecated since 13.2.0	
    Tapjoy.OnConnectFailure -= HandleConnectFailure;
    }
public void HandleConnectFailed(int code, string message){

}
// Deprecated since 13.2.0public void HandleConnectFailure(){
} 
```

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

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

```csharp
Tapjoy.SetMaxLevel(10); 
```

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

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

```csharp
Tapjoy.SetUserSegment(TJSegment.VIP);
Tapjoy.SetUserSegment(TJSegment.Payer);
Tapjoy.SetUserSegment(TJSegment.NonPayer);
Tapjoy.SetUserSegment(TJSegment.Unknown); 
```

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

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

```csharp
TJPlacement placement = TJPlacement.CreatePlacement("placementName");
placement.SetEntryPoint(TJEntryPoint.COMPLETE); 

// Available values
TJEntryPoint.UNKNOWN
TJEntryPoint.OTHER
TJEntryPoint.MAIN_MENU
TJEntryPoint.HUD
TJEntryPoint.EXIT
TJEntryPoint.FAIL
TJEntryPoint.COMPLETE
TJEntryPoint.INBOX
TJEntryPoint.INIT
TJEntryPoint.STORE 
```

### 通貨##currency

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

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

```csharp
TJPlacement placement = TJPlacement.CreatePlacement("placementName");
placement.SetCurrencyBalance("[CURRENCY_ID]", 100);

// Callbacks

void OnEnable() 
{	
    TJPlacement.OnSetCurrencyBalanceSuccess += HandleSetCurrencyBalanceSuccess;	
    TJPlacement.OnSetCurrencyBalanceFailure += HandleSetCurrencyBalanceFailure;	
}

void OnDisable() 
{	
    TJPlacement.OnSetCurrencyBalanceSuccess -= HandleSetCurrencyBalanceSuccess;	
    TJPlacement.OnSetCurrencyBalanceFailure -= HandleSetCurrencyBalanceFailure;
}

public void HandleSetCurrencyBalanceSuccess(TJPlacement placement) 
{

}

public void HandleSetCurrencyBalanceFailure(TJPlacement placement, int code, string error)
{

}
```

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

```csharp
TJPlacement placement = TJPlacement.CreatePlacement("placementName");
placement.SetRequiredAmount("[CURRENCY_ID]", 200); 

// Callbacks

void OnEnable() 
{	
    TJPlacement.OnSetCurrencyAmountRequiredSuccess += HandleSetRequiredAmountSuccess;	
    TJPlacement.OnSetCurrencyAmountRequiredFailure += HandleSetRequiredAmountFailure;}

void OnDisable() 
{	
    TJPlacement.OnSetCurrencyAmountRequiredSuccess -= HandleSetRequiredAmountSuccess;	
    TJPlacement.OnSetCurrencyAmountRequiredFailure -= HandleSetRequiredAmountFailure;
}

public void HandleSetCurrencyBalanceSuccess(TJPlacement placement)
{

}

public void HandleSetCurrencyBalanceFailure(TJPlacement placement, int code, string error)
{

}

public void HandleSetRequiredAmountSuccess(TJPlacement placement)
{

}
public void HandleSetRequiredAmountFailure(TJPlacement placement, int code, string error)
{

}
```

## 12.8.1##12.8.1

更新前に、`Assets > Plugins > Android` からすべての Tapjoy ファイルと Google Play Services ファイルを削除します。

Offerwall SDK は、External Dependency Manager (EDM) によって Maven を使用して管理されるようになりました。EDM は Tapjoy Unity プラグインの一部として含まれており、Android をサポートするために必要です。

### カスタム Gradle テンプレート##custom-gradle-templates

カスタム Gradle テンプレートを使用している場合は、Jetifier を有効にする必要があります。

使用しているバージョンの Unity エディターでそれがオプションである場合は、カスタム Gradle プロパティファイルを使用する必要もあります。

## 12.8.0##12.8.0

更新前に、`Assets > iOS` で Tapjoy.framework と Resources フォルダーを削除します。

Offerwall SDK は、External Dependency Manager (EDM) によって Cocoapods を使用して管理されるようになりました。EDM は Tapjoy Unity プラグインの一部として含まれており、iOS をサポートするために必要です。Cocoapods のバージョンが 1.9.0 以降で、Xcode のバージョンが 11.0 以降であることを確認してください。
