クイックスタート
Tapjoy Unity プラグインをプロジェクトにインポートして、SDK の統合を有効にします。このクイックスタートのウォークスルーでは、.unitypackage のインポート、SDK キーの設定、必要な Tapjoy ゲームオブジェクトの追加について説明します。
読み終わるまでの所要時間 3 分最終更新 10日前
SDK の統合
アプリと統合するための最初のステップは、Unity SDK のダウンロード です。 Tapjoy Unity Plugin の zip ファイルには、簡単にインポートできる Unity パッケージファイルと、Tapjoy のアップグレード用にファイルをドラッグアンドドロップできる生のファイルが含まれています。TapjoyUnityPlugin_vVERSION.unitypackage- Unity プロジェクトを開きます。
- Assets (アセット) > Import Package (パッケージをインポート) > Custom Package (カスタムパッケージ) に移動します。
- ファイルを指定します。
TapjoyUnityPlugin_vVERSION.unitypackage - インポートファイルのリストを確認し、競合がないかどうかを確認します。
- Import (インポート) を選択してファイルを受け入れます。
Unity 5.4 以降での更新
統合の更新中、Unity 5.4 以降を使用している場合は、"fix" (修正) ボタンが表示され、Google Play 開発者サービスのライブラリが iOS ビルドに含まれるとマークされていることに関わるエラーを修正できます。 Fix を選択して、Google Play 開発者サービスが Android ビルドにのみ含まれるようにします。Unity 5.4 より前のバージョンでは、google-play-services_lib が Android ビルドにのみ含まれるように手動で設定する必要があります。新しい統合ではこの修正は不要で、このボタンは表示されません。アプリ権限の追加 (Android の場合)
ACCESS_WIFI_STATE<manifest ...> ... <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> ...</manifest>
Tapjoy への接続
Tapjoy の設定は Tapjoy ウィンドウで開始できます。Window > Tapjoy
- Android および iOS 用の SDK キーの設定
- Android マーケット (Google や Amazon など) のストア名の追加
- 広告 ID、永続的 ID、および IDFA の使用の有効化または無効化
- Disable Advertising Id (広告 ID を無効にする): このチェックボックスは、Android の DISABLE_ADVERTISING_ID_CHECK 接続フラグと同じ効果があります。デフォルトでは、Tapjoy の Android SDK は Google Advertising Identifier の存在を確認し、見つからない場合は初期化に失敗します。このボックスをオンにすると、このチェックが無効になり、Google Advertising Identifier が存在しない場合でも Offerwall SDK が初期化されます。これは、Google Play 開発者サービスがアプリにない場合 (Google Play 以外のアプリストアでリリースするためのビルドを作成する場合など) に便利です。
- Disable Persistent Ids (永続的 ID を無効にする): このチェックボックスは、Android の DISABLE_PERSISTENT_IDS 接続フラグと同じ効果があります。Offerwall SDK は永続的識別子 (MAC アドレスや Android 識別子など) を Tapjoy サーバーに送信し、広告識別子が利用できない場合のフォールバック広告識別子として使用します (広告 ID に関する Play Console のヘルプドキュメント で推奨されているオプション)。このフラグが設定されている場合、SDK 内で広告識別子が使用できない場合にのみ、広告主のトラッキング目的で永続的 ID が Tapjoy サーバーに送信されます。
- DISABLE_ANDROID_ID_AS_ANALYTICS_ID 接続フラグに相当するチェックボックスはありません。(このフラグが設定されている場合、Tapjoy が分析の目的で使う ID は Android ID のコピーではなく、ランダムに生成された文字列です。以前のバージョンからこのフラグの設定を変更するビルドをリリースすると、既存のユーザーの一部が Tapjoy の分析ツールによって新規ユーザーと見なされる場合があります。)このフラグを設定する場合は、Tapjoy Unity の手動接続 を使用し、DISABLE_ANDROID_ID_AS_ANALYTICS_ID フラグを加える必要があります。
- ロギングレベルの設定。
最大ユーザーレベル
Tapjoy にゲーム内のレベル数を伝えることができます。この値は、connect を呼び出す前または後に設定できます。Tapjoy.SetMaxLevel(10);
ユーザーセグメント
setUserSegmentTapjoy.SetUserSegment(TJSegment.VIP);Tapjoy.SetUserSegment(TJSegment.Payer);Tapjoy.SetUserSegment(TJSegment.NonPayer);Tapjoy.SetUserSegment(TJSegment.Unknown);
手動接続
Unity SDK では、コードで接続ステップをコントロールできます。デフォルトでは、SDK が接続を処理します。手動コントロールを行うには、まず Tapjoy の設定ウィンドウ (Window (ウィンドウ) > Tapjoy) で "Auto-Connect" (自動接続) オプションをオフにします。 このオプションをオフにすると、SDK は接続を自動的に処理しなくなります。コードで接続を処理する必要があります。この動作はネイティブ SDK と同じです。 アプリケーションの初回起動時に、Connectもう 1 つのバージョンの Connect は、2 番目のパラメーターである文字列/文字列値のディクショナリを受け取ります。このディクショナリは connectFlags で、ネイティブ SDK と同じように動作します。#if UNITY_ANDROID Tapjoy.Connect("your_android_sdk_key");#elif UNITY_IOS Tapjoy.Connect("your_ios_sdk_key");#endif
ロギングレベルをプログラムで取得および設定することもできます。Dictionary<string,string> connectFlags = new Dictionary<string,string>();connectFlags.Add("TJC_OPTION_USER_ID", "<USER_ID_HERE>");#if UNITY_ANDROID Tapjoy.Connect("your_android_sdk_key", connectFlags);#elif UNITY_IOS Tapjoy.Connect("your_ios_sdk_key", connectFlags);#endif
SDK で他のアクション (広告のロードなど) を実行する前に、SDK の接続を完了する必要があります。接続イベントによって、OnConnectSuccess と OnConnectFailure の 2 つのイベントデリゲートがトリガーされます。接続イベントをリッスンするデリゲート関数を宣言します。onConnectSuccess が起動したら、他の SDK 関数の使用を開始できます。 SDK の接続に失敗した場合は、パラメーターを指定せずに Connect() を呼び出すことで接続を再試行できます。これにより、SDK は最後に接続しようとした SDK キーを使用して接続を再試行します。// Set logging levelTapjoy.SetLoggingLevel(LoggingLevel.Debug);// Get logging levelLoggingLevel loggingLevel = Tapjoy.GetLoggingLevel();
コールバック
SDK を実行できたら、次はベストプラクティスのコードを作成します。Offerwall SDK は、広告のリクエストやトラッキングデータの送信を行う前に、サーバーに正常に接続する必要があります。この SDK は、SDK が正常に接続されたときに実行されるデリゲート関数OnConnectSuccessOnConnectWarningconnectSuccessOnConnectFailureブーリアンTapjoy.OnConnectSuccess += HandleConnectSuccess;...public void HandleConnectSuccess() { Debug.Log ("Connect Success"); // Now that we are connected we can start preloading our placements TJPlacement p = TJPlacement.CreatePlacement("my_placement"); p.RequestContent();}Tapjoy.OnConnectWarning += HandleConnectWarning;...void HandleConnectWarning(int code, string message){ }Tapjoy.OnConnectFailed += HandleConnectFailed...public void HandleConnectFailed(int code, string message){}
Tapjoy.isConnected