Update Guide

このガイドはTapjoy SDKのバージョンをアップデートする場合に必要となる手順を記述します。衝突や不具合を避けるために、すべての手順を実行する事をお勧めします。

13.2.0

Connect (初期化)

connectFailure コールバック に エラーコード と エラーメッセージ を追加しました。既存のコールバックは非推奨となりましたが動作します。

try {
  await Tapjoy.connect(sdkKey, flags);
} catch (error: any) {
  let errorString = `Tapjoy SDK failed to connect. code: ${error.code}, message: ${error.message}`;
} 

最大ユーザーレベル

ゲーム内でのレベル数を設定できるようになりました。connect 前、後 どちらでも設定ができます。

Tapjoy.setMaxLevel(10); 

ユーザーセグメント

現在アプリを使用しているユーザーの種別をアプリから設定できます。connect 前、後、およびアプリセッションの最中に設定できます。

Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.Payer);
Tapjoy.setUserSegment(TJSegment.NonPayer);
Tapjoy.setUserSegment(TJSegment.Unknown);

エントリポイント

request content を呼び出す前に、プレイスメントコンテンツのエントリポイント を設定できます。これはアプリ内のどこからプレイスメントが表示されるかを示します。複数あるプリセット値の中から選択できます。

let placement = new TJPlacement("myPlacement");
placement.setEntryPoint(TJEntryPoint.TJEntryPointMainMenu);
placement.requestContent(); 

// 指定可能な値
TJEntryPointUnknown // 設定をするのではなく、設定されていた値を削除します
TJEntryPointOther
TJEntryPointMainMenu
TJEntryPointHud
TJEntryPointExit
TJEntryPointFail
TJEntryPointComplete
TJEntryPointInbox
TJEntryPointInit
TJEntryPointStore

仮想通貨

  • 仮想通貨に対する get/spend/earn はマイナスの値を受け付けなくなりました。
  • 自社管理仮想通貨を利用している場合にTapjoy管理仮想通貨のAPIを呼びだした場合、エラーが返るようになりました。

プレイスメントを作成する際にユーザーの仮想通貨の残高を指定できるようになりました。requestContent の呼び出しよりも前に指定する必要があります。

let placement = new TJPlacement('placementName');
try {
  await placement?.setCurrencyBalance('1234', 100);
} catch (e: any) {
  let code = e.code;
  let message = e.message;
}

また、各プレイスメントに対してユーザーが目的を達するのに必要な仮想通貨の量を指定できるようになりました。

let placement = new TJPlacement('placementName');
try {
await offerwallPlacement?.setRequiredAmount(100, '100');
} catch (e: any) {
  let code = e.code;
  let message = e.message;
} 

ユーザー プライバシー

各プラットフォームに一致するようインターフェースをアップデートしました。また、Android の optOutAdvertisingId インターフェースをサポートしました。

let privacyPolicy = new TJPrivacyPolicy();
privacyPolicy.setSubjectToGDPRStatus(TJStatus.True);
privacyPolicy.setBelowConsentAgeStatus(TJStatus.False);
privacyPolicy.setUserConsentStatus(TJStatus.Unknown);
privacyPolicy.setUSPrivacy('1---');
privacyPolicy.optOutAdvertisingID(false);