まず、Android SDK をダウンロード します。
ダウンロードしたSDKを解凍すると、docs, libraries, TapjoyEasyapp のフォルダができます。
dependencies {
implementation files('libs/tapjoyconnectlibrary.aar')
}
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0'
}
以下の Permission を設定します:
ACCESS_WIFI_STATE
(任意)play-services-ads
v17.1.0 は AD_ID
パーミッションを含みますが、このパーミッションは Google Play ファミリー向けプログラム に加入している場合には削除しなければなりません。
マニフェストに以下の記述を追加すれば、このパーミッションを排除できます:
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
詳細は こちら をご参照ください。
AARではなくJARによるSDK実装を行う場合、以下のパーミッションおよびアクティビティが追加で必要になります。
INTERNET
ACCESS_NETWORK_STATE
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Tapjoy の SDK 最新バージョン の機能を使うために、以下のアクティビティを AndroidManifest.xml
の Application 部分に追加します:
<activity
android:name="com.tapjoy.TJAdUnitActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
android:name="com.tapjoy.TJWebViewActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/TranslucentTheme"
android:hardwareAccelerated="true" />
<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" />
また、アプリのアクティビティのマニフェストに同様の configChanges を指定するようにして下さい:
android:configChanges="orientation|keyboardHidden|screenSize"
この時点でプロジェクトのコンパイルが可能です。アプリをコンパイル、実行してアプリが正常に動作する事を確認してみるのも良いかもしれません。まだアプリのコードに何も手を入れていないため、アプリにエラーが発生したり動作が変わる事もないはずです。
次に、Tapjoy connect をアプリに実装します。 これにより、アプリからTapjoy SDK を"起動"します。
Tapjoy connect の実装は非常に重要です。この実装が正常に行われていない場合、Tapjoyの機能がいっさい動作しなくなるからです
Tapjoy connect を実装するためには、実装を行うアプリのTapjoy SDK Keyが必要になります。この値を取得するには Tapjoyダッシュボードで実装するアプリを選択肢、"設定" - "アプリ設定" をクリックします。画面下部の SDK Keyの箇所に各プラットフォームのSDK Keyが表示されています。
コードを実装して行きます。 Tapjoy を Activity にインポートします:
import com.tapjoy.Tapjoy
次に、メイン Activity の onCreate() メソッドに Tapjoy connect を実装します:
Hashtable<String, Object> connectFlags = new Hashtable<String, Object>();
connectFlags.put(TapjoyConnectFlag.ENABLE_LOGGING, "true"); // プロダクション用アプリではこの設定を外す事
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 に connect をし(て成功、失敗、および警告のコールバックをリスニングし)、ふたつの connectFlags (ログおよびユーザID) を設定しています。onConnectSuccess
は SDK が Tapjoy サーバへの接続が成功した事を示します。 connect が成功しつつも致命的でない問題が発生している場合は、先に onConnectWarning
を呼びだします。現時点ではこの機能は ConnectFlags で指定した UserId に問題がある場合にのみ呼び出されます。サーバへの接続が成功しなかった場合は、 onConnectFailure
が呼び出されます。
パブリッシャーにとって ENABLE_LOGGING および USER_ID の二つが重要かつ有用なフラグです。
ログ用フラグはデバッグ用ビルドでは有用ですが、製品版では無効にしておく必要があります。
USER_ID フラグを設定する事は自社管理仮想通貨を使用する場合には非常に重要です。この値はどのプレイスメントを呼び出すより前に設定する必要があるため、connect で設定する事は重要で、リワードでの問題が発生する可能性を回避できます。
いくつかのコネクトフラグは、TapjoyがAndroid OSから得られる各種IDをどのように使用するかをパブリッシャーが制御できます:
すべてのコネクトフラグについては、Java SDK Reference をご参照下さい。
アプリをコンパイルして、実行してみて下さい。
これでTapjoyがアプリで起動するようになりました。