LLM(AI)を使用しての実装 – 次のプロンプトを使用します。
次のツールを使用して、Tenjin SDKをプロジェクトに追加してください。https://raw.githubusercontent.com/tenjin/sdk-llm-guides/main/guides/android/llm-guide.md
Android SDK実装ガイド #
Tenjin Android SDKを使用すると、Androidアプリ内でイベントやインストール状況をトラックできます。Tenjinおよび当社の製品の詳細については、https://tenjin.com/jaをご覧ください。
- 過去のバージョン履歴については、こちらのリリースノートをご確認下さい。
- Android SDKの実装には、最新のAndroid Studioを利用されることをお勧めします。
- Unityの実装手順については、こちらをご確認ください。
- ご質問がある方は、support-jp@tenjin.comまでお問い合わせください。
基本実装 #
マニュアルインストール #
以下の「Android Studio」セクションに記載されている手順をご確認ください。
Maven #
Mavenを使用する場合は、com.tenjin:android-sdk:VERSIONをGradleの依存関係に追加し、ソースリポジトリにまだ存在しない場合はmavenCentral()を追加してください。
Android Studio #
- 最新のAndroid SDKをこちらよりダウンロードします。
- Tenjin SDKをAndroid Studioプロジェクトに追加します。 Android Studioのプロジェクトナビゲータに移動します。プロジェクトナビゲータでオプション
Projectを選択します。 Android Studioプロジェクトのappモジュールの下にlibsフォルダーがあります。 - ファイル
tenjin.jarまたはtenjin.aarをlibsフォルダに追加してください。
- Android Studioプロジェクトの
appモジュールで、build.gradleファイルを選択し、依存関係ブロックの下に以下を追加します。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation files('libs/tenjin.aar')
}> デモプロジェクトは、tenjin-android-sdkの実装サンプルです。
Google PlayまたはAmazonストア #
Google PlayストアまたはAmazonストアでアプリを配布する場合には、次の初期設定を実装してください。
パーミッション #
manifestファイルに下記のパーミッションを追加します。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to get network connectivity (i.e. wifi vs. mobile) -->Google Play開発者サービスでは、広告ID(Android広告ID(AAID))を使用するすべてのAPIレベル32(Android 13)アプリに対し、マニフェストファイル内でGoogle Play開発者サービスのAD_ID権限(下記参照)を宣言することを要求しています。
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>Android広告ID (AAID)とインストールリファラ #
Android広告ID(AAID)とインストールリファラライブラリを下記の通り、build.gradleファイルに追加します。
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:{version}'
implementation 'com.android.installreferrer:installreferrer:{version}'
}Metaインストールリファラーを収集できるようにするには、次のクエリをAndroid マニフェストに追加します。
<queries>
<package android:name="com.facebook.katana" />
</queries>
<queries>
<package android:name="com.instagram.android" />
</queries>次に、下記をstrings.xmlファイルに記載してください。YOUR_META_APP_IDはお使いのアプリのMeta App IDになります。
<string name="facebook_app_id" translatable="false">YOUR_META_APP_ID</string>アプリストア設定 #
デフォルトでは, unspecifiedがアプリストアの設定になります。アプリに応じて、アプリストアの値をgoogleplayまたはamazonに更新します。
AndroidManifest.xml:
<meta-data
android:name="TENJIN_APP_STORE"
android:value="googleplay" />setAppStore():
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.setAppStore(TenjinSDK.AppStoreType.googleplay);アプリストアオプション #
TenjinSDK.AppStoreType.googleplay // Google Play App Store
TenjinSDK.AppStoreType.amazon // Amazon AppStore
TenjinSDK.AppStoreType.other // OtherSDK初期化 #
- アプリページのSDKタブ(CONFIGURE > Apps > 対象のアプリを選択 > SDK)から
SDK_KEYを取得してください。注:SDK_KEYはアプリごとに固有のものです。同一アプリに対して最大3つまでキーを作成できます。
- Activityにおいて、Tenjinをインポートします:
import com.tenjin.android.TenjinSDK; - 各
ActivityのonResumeメソッドにおいて、下記コードを追加してください。
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.connect();注: アプリ内でonCreateとonResumeの間でユーザーの同意を求めるロジックがある場合、同意しないユーザーは onResumeで追跡されないため、TenjinSDKの初期化にはonResumeではなくonCreateを使用してください。
注: アプリの初回起動だけでなく、すべてのonResumeにこのコードを実装するようにしてください。推奨事項に従わない場合は、適切なサポートを提供できないか、アカウントが停止される可能性があります。
その他のAndroidストア #
アプリをGooglePlayストアまたはAmazonストア以外(その他のAndroidストア)に配布する場合は、次の初期設定を実装します。
パーミッション #
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Required to get network connectivity (i.e. wifi vs. mobile) -->Google Playサービスは、広告 ID(Android広告 ID (AAID))を使用するすべての APIレベル 32(Android 13)アプリに対して、マニフェストファイル内で Google Playサービスの AD_ID権限(下記参照)を宣言することを要求します。
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>Android広告ID (AAID)とインストールリファラ #
Android広告ID(AAID)とインストールリファラライブラリを下記の通り、build.gradleファイルに追加します。
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:{version}'
implementation 'com.android.installreferrer:installreferrer:{version}'
}IMEIをターゲットとする アドネットワークを使用している場合は、以下の権限を有効にする必要があります。(Google Playでアプリを配布している場合は、この権限を追加しないでください。)
<uses-permission android:name="android.permission.READ_PHONE_STATE" />OAID #
TenjinはAndroidのOAIDを使用したAndroidアプリストアのトラッキングをサポートしています。OAIDライブラリを実装した場合のオプションは下記の通りです。
MSA OAID #
MSA OAIDは、MSA (Mobile Security Alliance)が提供する、中国で製造されるデバイスで取得可能な広告IDです。MSA ライブラリを実装する場合は、oaid_sdk_1.0.25.aarとsupplierconfig.jsonをダウンロードします。
また、下記をgradleファイルに追加します。
implementation files('libs/oaid_sdk_1.0.25.aar')必ずsupplierconfig.jsonをプロジェクトのassetsフォルダにコピーしてください。
Huawei OAID #
中国以外では、Huaweiによって提供されるOAIDを取得することが可能です。HuaweiOAIDライブラリを追加するには下記の手順を実施します。
build.gradleファイル内で、Huawei SDKに対するMavenのアドレスを追加します。
allprojects {
repositories {
google()
maven { url 'https://developer.huawei.com/repo/' }
}
}dependencies {
implementation 'com.huawei.hms:ads-identifier:{version}'
}Huaweiインストールリファラ #
Huaweiアプリギャラリーにてアプリをプロモーションする場合, 上記のHuawei OAID SDK及びインストールリファラライブラリを追加します。
dependencies {
implementation 'com.huawei.hms:ads-identifier:{version}'
implementation 'com.huawei.hms:ads-installreferrer:{version}'
}
アプリストア設定 #
デフォルトでは, unspecifiedがアプリストアの設定になります。アプリストアの値をotherに更新します。
AndroidManifest.xml:
<meta-data
android:name="TENJIN_APP_STORE"
android:value="other" />setAppStore():
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.setAppStore(TenjinSDK.AppStoreType.other);SDK初期化 #
- アプリページのSDKタブ(CONFIGURE > Apps > 対象のアプリを選択 > SDK)から
SDK_KEYを取得してください。注:SDK_KEYはアプリごとに固有のものです。同一アプリに対して最大3つまでキーを作成できます。
- Activityにおいて、Tenjinをインポートします:
import com.tenjin.android.TenjinSDK; - 各
ActivityのonResumeメソッドにおいて、下記コードを追加してください。
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.connect();注: アプリの初回起動だけでなく、すべてのonResumeにこのコードを実装するようにしてください。推奨事項に従わない場合は、適切なサポートを提供できないか、アカウントが停止される可能性があります。
難読化設定 #
-keep class com.tenjin.** { *; }
-keep public class com.google.android.gms.ads.identifier.** { *; }
-keep public class com.google.android.gms.common.** { *; }
-keep public class com.android.installreferrer.** { *; }
-keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}
# Keep the signatures that Gson/TypeToken rely on
-keepattributes Signature
-keepattributes *Annotation*
# General Gson/TypeToken protection
-keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeTokenOAIDのクラスについては難読化しないでください。
-keep class XI.CA.XI.**{*;}
-keep class XI.K0.XI.**{*;}
-keep class XI.XI.K0.**{*;}
-keep class XI.xo.XI.XI.**{*;}
-keep class com.asus.msa.SupplementaryDID.**{*;}
-keep class com.asus.msa.sdid.**{*;}
-keep class com.bun.lib.**{*;}
-keep class com.bun.miitmdid.**{*;}
-keep class com.huawei.hms.ads.identifier.**{*;}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class com.zui.opendeviceidlibrary.**{*;}
-keep class org.json.**{*;}
-keep public class com.netease.nis.sdkwrapper.Utils {public <methods>;}Huaweiのライブラリを使用している場合は、下記の設定を行います。
-keep class com.huawei.hms.ads.** { *; }
-keep interface com.huawei.hms.ads.** { *; }追加実装 #
GDPR #
一般データ保護規則(EU)(GDPR)は、欧州連合(EU)および欧州経済領域(EEA)におけるデータ保護とプライバシーに関するEU法の規則です。
アプリを初めて開いたときに、ユーザーがトラッキングを許可するかどうかの同意を得る必要があります。その後、結果をcheckOptInValue()に書き込みます。その後、以下の実装手順に従ってください。アプリで GDPR に準拠する必要がない場合は、このセクション全体を無視してください。
GDPR準拠の一環として、TenjinのSDKを使用すると、デバイス/ユーザーのオプトイン/オプトアウト、またはオプトインまたはオプトアウトする特定のデバイス関連パラメータを選択できます。optOut()はTenjinにAPIリクエストを送信せず、イベントも処理しません。
オプトイン/オプトアウトを実装するには:
import com.tenjin.android.TenjinSDK;
public class TenjinDemo extends ActionBarActivity {
@Override
public void onResume() {
//standard code
super.onResume()
//Integrate TenjinSDK connect call
String apiKey = " ";
TenjinSDK instance = TenjinSDK.getInstance(this, apiKey);
boolean userOptIn = checkOptInValue();
if (userOptIn) {
instance.optIn();
}
else {
instance.optOut();
}
instance.connect();
//Your other code...
//...
}
protected boolean checkOptInValue(){
// check opt-in value
// return true; // if user opted-in
return false;
}
}特定のデバイスパラメータをオプトイン,オプトアウトするにはoptInParams()または optOutParams()メソッドを使用します。
- OptInParams()メソッドにより指定されたパラメータのみを送信します。OptOutParams()メソッドにより、指定されたパラーメータ以外のパラメータを送信します。
- Tenjinシステムでデバイスを正しく追跡するためには、以下のパラメータが必要となりますのでご注意ください。必須パラメータが欠落している場合、イベントは処理または記録されません。
advertising_id
- IMEI および/または OAID 対応の広告ネットワークをターゲットにする場合は、以下のパラメータが必須となります:
imeioaid
- Google Adsを使用する場合は、以下のパラメータが必要です。
platformos_versionapp_versionlocaledevice_modelbuild_idadvertising_id
特定のデバイス関連パラメータのみを取得したい場合は、optInParams()を使用します。以下の例では、ip_address、advertising_id、limit_ad_tracking、および referrer というデバイス関連パラメータのみを取得します。
String apiKey = " ";
TenjinSDK instance = TenjinSDK.getInstance(this, apiKey);
String[] optInParams = {"ip_address", "advertising_id", "limit_ad_tracking", "referrer"};
instance.optInParams(optInParams);
instance.connect();特定のデバイス関連パラメータを除くすべてのパラメータを送信する場合は、optOutParams()を使用します。以下の例では、以下のパラメータを除くすべてのデバイス関連パラメータを送信します。
String apiKey = " ";
TenjinSDK instance = TenjinSDK.getInstance(this, apiKey);
String[] optOutParams = {"locale", "timezone", "build_id"};
instance.optOutParams(optOutParams);
instance.connect();CMPを用いたオプトイン/アウト #
ユーザーのデバイスにすでに保存されている CMP同意 (目的 1)の情報を使用して、Tenjin SDKを自動的にオプトインまたはオプトアウトできます。このメソッドは、オプトインかオプトアウトかを示すブール値を返します。
optInOutUsingCMP()
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
optInOut = instance.optInOutUsingCMP(); デバイスパラメータ #
| パラメータ | 説明 |
|---|---|
| ip_address | IPアドレス |
| advertising_id | Google広告ID |
| limit_ad_tracking | limit ad tracking enabled |
| oaid | 広告IDを開く |
| imei | 端末のIMEI |
| platform | プラットフォーム |
| referrer | Google Play インストール元 |
| os_version | OSバージョン |
| device | デバイス名 |
| device_manufacturer | デバイス製造元 |
| device_model | デバイスモデル |
| device_brand | デバイスブランド |
| device_product | デバイスプロダクト |
| carrier | キャリア |
| connection_type | セルラーまたはWifi |
| screen_width | デバイススクリーン幅 |
| screen_height | デバイススクリーン高さ |
| os_version_release | OSバージョン |
| build_id | ビルドID |
| locale | デバイスロケール |
| country | ロケール国 |
| timezone | timezone |
アプリ内課金イベント #
ユーザーの収益と購入行動を把握するために、開発者はtransactionイベントをTenjin に送信できます。Tenjinはtransactionレシートを検証します。現在、Google PlayからのIAPトランザクションのみをサポートしていることにご注意ください。
IMPORTANT: You will need to add your app’s public key in the Tenjin dashboard (Settings tab of your app page, under IAP Validation). You can retrieve your Base64-encoded RSA public key from the Google Play Developer Console \> Select your app > Monetize > Monetization setup > Google Play Billing > Licensing: Base64-encoded RSA public key. Please note that for Android, we currently only support IAP transactions from Google Play.

Public Key入力後, 下記のTenjin SDKメソッドをご利用ください。
public void transaction(String productId, String currencyCode, int quantity, double unitPrice, String purchaseData, String dataSignature)例:
public void sendPurchaseEvent(Purchase purchase, Double price, String currencyCode) {
String sku = purchase.getSku();
String purchaseData = purchase.getOriginalJson();
String dataSignature = purchase.getSignature();
TenjinSDK instance = getTenjinInstance();
instance.transaction(sku, currencyCode, 1, price, purchaseData, dataSignature);
}IAP検証が正しく機能しているかどうかは、ライブテストデバイスデータツールで確認できます。以下のライブイベントが表示されるはずです。

Tenjinに送る前に必ず課金イベントを「承認」してください。詳しくはこちらをお読みください。
新しい設定により、アプリストアの収益手数料を0%、15%または30%の間で選択可能です。
- CONFIGURE --> Appsをクリック。
- アプリを選択。
- App Store Commissionのセクションで、Editをクリック
- アプリストア手数料として30%、15%、または0%を選択。
- 開始日と終了日を選択します。 (終了日を指定しない場合は、終了日を空白のままにすることもできます)
- Saveをクリックします (注: 手数料は変更を加えた日付以降に適用され、過去日付には適用されません。そのため、変更を行う日付から以降の開始日を設定してください)。
Amazonアプリストア
Amazonアプリストアのレシート検証には、receiptIdパラメータとuserIdパラメータが必要です。
重要:: Amazonアプリの共有キーを Tenjin管理画面に追加する必要があります。共有キーは、Amazonアプリストアの開発者アカウントから取得できます。
カスタムイベント #
注: SDK初期化処理の前にカスタムイベントを送らないようにしてください。
重要:カスタムイベント名は80文字未満に制限してください。また、固有のカスタムイベント名は500個を超えないようにしてください。
Tenjin SDKを使用してカスタムイベントを渡すことができます。 eventWithName(String name).
カスタムイベントを利用して、特定のイベントを獲得したユーザの流入元のコスト情報などに紐付けることが可能です。下記が実装例となります。
String apiKey = <SDK_KEY>;
TenjinSDK instance = TenjinSDK.getInstance(this, apiKey);
//Integrate a custom event with a distinct name - ie. swiping right on the screen
instance.eventWithName("swipe_right");INTEGER型の値をvalueをカスタムイベントに含める方法 #
カスタムイベントにはINTEGER型のvalueを含めることができます。 eventWithNameAndValue(String name, int value).
イベントのnameに整数値の valueを渡すことで、マーケターはTenjin ダッシュボードでそのメトリックに渡された値を合計し、平均値を追跡できます。DataVault を使用する場合は、これらの値を使用して、役立つ追加のメトリックを導き出すことができます。
String sdkKey = <SDK_KEY>;
TenjinSDK.instance = TenjinSDK.getInstance(this, sdkKey);
//Integrate a custom event with a distinct name and value - ie. paying 100 virtual coins for an item
instance.eventWithNameAndValue("item", 100);上記の例を使用すると、Tenjin管理画面では、名前が指定されたすべてのイベントの値を合計して平均します。 item.
渡された値が整数でない場合、このイベントは機能しないことに注意してください。
//Integrate a custom event with a distinct name and value - ie. paying 100 virtual coins for an item
instance.eventWithNameAndValue("item", "1");サーバ間連携 #
Tenjinはサーバー間連携を提供しています。これにより、SDK連携を必要とせずに、インストールイベントとインストール後イベントをサーバーからTenjinサーバーに直接送信できます。
アプリサブバージョン #
A/Bテストを実施する場合、appendAppSubversion() メソッドを用いて、アプリバージョンに固定の数値を付加することが可能です。例えば、アプリのバージョンが1.0.1でappendAppSubversion() : @8888をセットすると、レポートされるアプリバージョンは1.0.1.8888となります。
データボルトを用いれば、このアプリバージョンごとのパフォーマンスを分析することが可能です。
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.appendAppSubversion(8888);
instance.connect();LiveOpsキャンペーン #
アプリ開発者は、自社サーバーまたはTenjinと連携していないネットワークにカスタムでコールバックを送信できます。これにより、開発者はこれらのユーザーレベルのアトリビューションデータをリアルタイムで収集して分析できます。以下は、Tenjinのカスタムコールバックを使用した使用例です。
- 独自のデータ分析ツールをお持ちの場合は、S2Sコールバックを使用することで、デバイスごとにアトリビューションデータをゲーム内データに紐付けることができます。
- ユーザーのアトリビューションソースに応じて、さまざまなアプリコンテンツを表示します。たとえば、ユーザーAがオーガニックに関連付けられ、ユーザーBがMetaに関連付けられているとします。ユーザー Bの方がアプリに関心を持っている可能性が高いため、ユーザーがアプリをインストールした後に特別なゲーム内オファーを表示することができます。
LiveOpsの使用方法に関する詳細は、こちらをご覧ください。
カスタマーユーザーID #
イベントのパラメーターとして送信するカスタマーユーザー IDを設定および取得できます。
.setCustomerUserId(userId: "user_id")
.getCustomerUserId()
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.setCustomerUserId(userId: "user_id");
userId = instance.getCustomerUserId(); アナリティクスのインストールID #
下記のメソッドを用いて、ランダムに生成され、デバイスのローカルストレージに保存されているユニークなAnalytics IDを取得できます。 getAnalyticsInstallationId()
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
analyticsId = instance.getAnalyticsInstallationId; ユーザープロファイル – LiveOpsメトリクス #
Tenjin Android SDKは、ユーザーエンゲージメント指標を自動的に追跡し、プレイヤーの行動や生涯価値を把握するのに役立ちます。これらの指標は自動的に収集され、プログラムからアクセスできます。
自動トラッキング #
SDKは下記をトラックします:
- セッションメトリクスセッション数、期間、初回/最終セッション日
- アプリ内課金(IAP): トランザクション件数、通貨別収益、購入プロダクトID
- 広告収益(ILRD): サポート対象のアドネットワークからのインプレッションレベルの収益
ユーザプロファイルデータの取得 #
フルプロファイルオブジェクトの取得 #
すべてのメトリックを含むUserProfileDataオブジェクトを返します。
import com.tenjin.android.TenjinSDK;
import com.tenjin.android.userprofile.UserProfileData;
TenjinSDK instance = TenjinSDK.getInstance(this, "<SDK_KEY>");
UserProfileData profile = instance.getUserProfile();
// Session metrics
int sessionCount = profile.getSessionCount();
long totalTime = profile.getTotalSessionTime();
long avgLength = profile.getAverageSessionLength();
long lastSession = profile.getLastSessionLength();
long currentSession = profile.getCurrentSessionDuration();
Long firstSession = profile.getFirstSessionDate();
Long lastSessionDate = profile.getLastSessionDate();
// IAP metrics
int iapCount = profile.getIapTransactionCount();
Map<String, Double> revenueByCurrency = profile.getIapRevenueByCurrency();
List<String> productIDs = profile.getPurchasedProductIDs();
// ILRD metrics
double totalAdRevenue = profile.getTotalILRDRevenueUSD();
Map<String, Double> revenueByNetwork = profile.getIlrdRevenueByNetwork();利用可能なプロパティ(Javaゲッター):
| メソッド | 返却型 | 説明 |
|---|---|---|
getSessionCount() | int | トータルセッション数 |
getTotalSessionTime() | long | ミリ秒単位のトータルセッション時間 |
getAverageSessionLength() | long | ミリ秒単位の平均セッション |
getLastSessionLength() | long | ミリ秒単位の最終完了セッション |
getCurrentSessionDuration() | long | 現在のミリ秒単位のアクティブセッション |
getFirstSessionDate() | Long | 最初のセッションのタイムスタンプ(エポックからのミリ秒) |
getLastSessionDate() | Long | 最終セッションのタイムスタンプ(エポックからのミリ秒) |
getIapTransactionCount() | int | トータルのIAPカウント |
getIapRevenueByCurrency() | Map<String, Double> | 通貨コードごとの収益 |
getPurchasedProductIDs() | List<String> | ソートされたプロダクトID |
getTotalILRDRevenueUSD() | double | トータルのUSD単位の広告収益 |
getIlrdRevenueByNetwork() | Map<String, Double> | ネットワークごとの広告収益 |
Dictionaryとしてプロファイルを取得 #
すべてのメトリックを含むマップを返します。これにより、簡単にシリアル化できます。
Map<String, Object> profileDict = instance.getUserProfileDictionary();
// Example usage
Integer sessionCount = (Integer) profileDict.get("session_count");
String firstSession = (String) profileDict.get("first_session_date");
Map<String, Double> iapRevenue = (Map<String, Double>) profileDict.get("iap_revenue_by_currency");
List<String> productIds = (List<String>) profileDict.get("purchased_product_ids");辞書キー(常に表示):
| キー | 型 | 説明 |
|---|---|---|
session_count | Integer | トータルセッション |
total_session_time | Long | ミリ秒単位のトータルセッション時間 |
average_session_length | Long | ミリ秒単位の平均セッション |
last_session_length | Long | ミリ秒単位の最終完了セッション |
iap_transaction_count | Integer | トータルのIAPカウント |
total_ilrd_revenue_usd | Double | トータルのUSD単位の広告収益 |
辞書キー(条件付き – 利用可能な場合のみ):
| キー | 型 | 説明 |
|---|---|---|
first_session_date | String | ISO8601形式の日付 |
last_session_date | String | ISO8601形式の日付 |
current_session_length | Long | アクティブセッションの継続時間(ミリ秒) |
iap_revenue_by_currency | Map<String, Double> | 通貨マップ → 収益 |
purchased_product_ids | List<String> | ソートされたプロダクトID |
ilrd_revenue_by_network | Map<String, Double> | ネットワークマップ → 収益 |
プロファイルのリセット #
ユーザープロファイルデータをすべて消去します。
instance.resetUserProfile();セッション構成 #
セッションタイムアウトをカスタマイズする(デフォルトは30分):
UserProfileManager.setSessionTimeoutMs(600000); // 10 minutesイベントのキャッシュ/リトライ #
リクエストが失敗した場合、またはユーザーがインターネットに接続していない場合のイベントとIAPの再試行とキャッシュを有効/無効にできます。これらのイベントは、新しいイベントがキューに追加され、ユーザーが接続を回復した後に送信されます。
.setCacheEventSetting(setting: true)
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.setCacheEventSetting(setting: true);インプレッションレベル広告収益 #
Tenjinは、以下のメディエーションプロバイダーが提供するインプレッション単位の広告収益(ILRD)機能との連携をサポートしています。各連携方法では、メディエーションのコールバックからインプレッションのペイロードをJSONObjectまたはJSON文字列として受け取ります。各プロバイダーの具体的な設定手順については、リンク先のガイドをご参照ください。
| プロバイダー | メソッド | 設定ガイド |
|---|---|---|
| AppLovin MAX | instance.eventAdImpressionAppLovin(json) | ガイド |
| Unity LevelPlay | instance.eventAdImpressionIronSource(json) | ガイド |
| AdMob | instance.eventAdImpressionAdMob(json) | ガイド |
| HyperBid | instance.eventAdImpressionHyperBid(json) | |
| TopOn | instance.eventAdImpressionTopOn(json) | ガイド |
| Clever Ads Solutions (CAS) | instance.eventAdImpressionCAS(json) | ガイド |
| TradPlus | instance.eventAdImpressionTradPlus(json) | ガイド |
| CloudX | instance.eventAdImpressionCloudX(json) | ガイド |
| 他プロバイダー | instance.eventAdImpressionCustom(json) | カスタムメディエーションを参照 |
この機能を使用すると、ユーザーへの広告表示に伴う広告収益に関連するイベントを受け取ることができます。詳細なドキュメントはこちらからご覧いただけます。
カスタムメディエーション #
ご利用のメディエーションプロバイダーが上記のリストに含まれていない場合は、v1.19.0以降で利用可能な汎用カスタムメディエーションメソッドを使用してインプレッションを報告できます。インプレッションデータを含むJSONオブジェクト(またはJSON文字列)を渡してください。必須フィールドは network_name、currency、および revenue_decimal(今回のインプレッションによる収益)またはrevenue_cpm(1,000インプレッションあたりの収益)のいずれかです。使用可能なフィールドの完全なリストは、ILRD APIのドキュメントで確認できます。この方法で送信されたインプレッションは、customディエーションソースの下で報告され、ad_revenue_mediationおよびデバイスパラメータはSDKによって自動的に設定されます。
TenjinSDK instance = TenjinSDK.getInstance(this, "<SDK_KEY>");
JSONObject impression = new JSONObject();
impression.put("network_name", "my_network");
impression.put("mediation_country", "US");
impression.put("currency", "USD");
impression.put("ad_unit_id", "my_ad_unit_id");
impression.put("ad_format", "banner");
impression.put("revenue_decimal", 0.001);
impression.put("precision", "BID");
instance.eventAdImpressionCustom(impression);Google DMAパラメータ #
すでに CMPが実装されている場合、Google DMAパラメータはTenjin SDKによって自動的に収集されます。 Tenjin SDKでの追加実装は必要ありません。 CMPをオーバーライドしたい場合、または独自の同意メカニズムを使用したい場合は、以下メソッドを使用できます。
setGoogleDMAParameters(boolean, boolean)
TenjinSDK instance = TenjinSDK.getInstance(this, " ");
instance.setGoogleDMAParameters(adPersonalization, adUserData); Google DMAパラメータの収集を明示的に管理するために、いつでも柔軟にオプトインまたはオプトアウトできます。デフォルト設定はオプトインですが、OptInGoogleDMAまたは OptOutGoogleDMAメソッドを使用して設定を簡単に調整でき、データプライバシー設定を完全に制御できます。
instance.optInGoogleDMA();
instance.optOutGoogleDMA(); テスト #
実装が正しく機能しているかどうかは、ライブイベントツールで確認できます。advertising_idをテストデバイスのリストに追加してください。これは、サポート -> テストデバイスにあります。ライブイベントツールページに移動し、アプリからテストイベントを送信してください。ライブイベントが受信されるはずです。
