IGAWorks基本連携
IGAWorkのサービスは、共通モジュール+アドオン(Add-On)の形式で提供しております。
UnityのAndroidプロジェクトのために提供しているパッケージは、基本連携及び各アドオンを含んだ総合バージョンです。
IGAWorksのサービスをご利用いただくには、初めに基本連携を完了させてください。
AndroidManifest.xml
AndroidManifestファイルを修正して、IGAWorksの管理画面でアプリを追加した際に発行した「App key」、「Hash Key」と「Permission」などを設定します。
<application></application> タグの中に、以下のようにapp keyとhash keyを設定します。
<meta-data android:name="igaworks_app_key" android:value="App Keyを設定してください。" />
<meta-data android:name="igaworks_hash_key" android:value="Hash Keyを設定してください。" />
<manifest></manifest> タグの中に、必須Permissionを追加します。以下のPermissionを追加しない場合、正常にサービスをご利用いただけない場合があります。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 以下はオプションです。 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
* アップデートのご案内 *
Common 4.2.0以降では、Android 6.0バージョンで発生する権限に関するポップアップ画面表示がアプリのUXを損なう可能性があるため、READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE Permissionをオプション項目に変更しました。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 以下はオプションです。 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
* アップデートのご案内 *
Common 4.2.0以降では、Android 6.0バージョンで発生する権限に関するポップアップ画面表示がアプリのUXを損なう可能性があるため、READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE Permissionをオプション項目に変更しました。
Common 4.2.0以降では、Android 6.0バージョンで発生する権限に関するポップアップ画面表示がアプリのUXを損なう可能性があるため、READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE Permissionをオプション項目に変更しました。
トラッキングURL & adPOPcorn広告実施の場合
トラッキング機能、またはadPOPcornのプロモーションを利用される場合は、必ずGoogleインストールレシーバーを登録してください。
レシーバーが正常に設定されていない場合、新規起動の計測に問題が発生する可能性があります。以下のマニュアルを参考にし、レシーバーの設定を完了してください。
「IGAWorks Googleインストールレシーバーの登録」
トラッキングURL & adPOPcorn広告実施の場合
トラッキング機能、またはadPOPcornのプロモーションを利用される場合は、必ずGoogleインストールレシーバーを登録してください。
レシーバーが正常に設定されていない場合、新規起動の計測に問題が発生する可能性があります。以下のマニュアルを参考にし、レシーバーの設定を完了してください。
「IGAWorks Googleインストールレシーバーの登録」
Auto Session Tracking (Android 4.0.4以上対応)
Common v.4.4.0a から、アクティビティ上の設定が必要ないAuto Session Trackingを対応します。
Auto Session Trackingを利用するためには、アプリがAndroid 4.0.4以上を対応する必要があります。
Common v.4.4.0a から、アクティビティ上の設定が必要ないAuto Session Trackingを対応します。
Auto Session Trackingを利用するためには、アプリがAndroid 4.0.4以上を対応する必要があります。
SDKから提供するApplicationクラスを宣言
Androidmanifest.xml に下記の内容を宣言します。
<application
android:name="com.igaworks.IgawDefaultApplication"
</application>
その後、プラグインを初期化します。// using指示を宣言します。
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//Unityエンジンが初期化される時に、IGAWプラグインを初期化します。
IgaworksUnityPluginAOS.InitPlugin ();
}
}
Androidmanifest.xml に下記の内容を宣言します。
<application
android:name="com.igaworks.IgawDefaultApplication"
</application>
その後、プラグインを初期化します。
// using指示を宣言します。
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//Unityエンジンが初期化される時に、IGAWプラグインを初期化します。
IgaworksUnityPluginAOS.InitPlugin ();
}
}
自体Applicationクラスを利用する場合
既にApplicationクラスを利用する場合、Androidmanifest.xmlで下記内容を宣言します。
<application
android:name="PACKAGE_NAME.YourCustomApplication"
</application>
その後、Android Studioにimportし、Applicationクラスに下記コードを追加します。public class YourCustomApplication extends Application{
@Override
public void onCreate(){
super.onCreate();
IgawCommon.autoSessionTracking(YourCustomApplication.this);
// ApplicationクラスではautoSessionTracking API以外のadbrix分析APIも呼び出しては行けません。
}
}
既にApplicationクラスを利用する場合、Androidmanifest.xmlで下記内容を宣言します。
<application
android:name="PACKAGE_NAME.YourCustomApplication"
</application>
その後、Android Studioにimportし、Applicationクラスに下記コードを追加します。
public class YourCustomApplication extends Application{ @Override public void onCreate(){ super.onCreate(); IgawCommon.autoSessionTracking(YourCustomApplication.this); // ApplicationクラスではautoSessionTracking API以外のadbrix分析APIも呼び出しては行けません。 } }
ご注意! ApplicationクラスではautoSessionTracking AP以外のadrixAPIは呼び出しては行けません。
IGAW基本連携(Android 4.0.4以下対応)
アプリがAndroid 4.0.4以下のバージョンまで対応する場合、下記のようにプラグイン初期化及び基本分析APIを連携します。
プラグインの初期化
アプリの起動後、Unityが初期化されるタイミングで、init とstartApplication APIを呼び出し、プラグインも初期化します。
// using指示文を宣言します。
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//Uintyエンジンが初期化する時、IGAWプラグインを初期化します。
IgaworksUnityPluginAOS.InitPlugin ();
}
}
// using指示文を宣言します。
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//Uintyエンジンが初期化する時、IGAWプラグインを初期化します。
IgaworksUnityPluginAOS.InitPlugin ();
}
}
+ init APIは、UnityプラグインとAndroid Native SDKを繋げます。
+ startApplication APIは、Native SDKを初期化します。
基本分析API
startSession, endSession APIを呼び出し、ユーザーのセッションの維持時間、分析データの送信を処理します。この数値は必ずペアで起動するように設定してください。
アプリがforegroundやbackgroundに転換する際に呼び出します。
public class MySampleScene : MonoBehavior {
//アプリ起動
void Start()
{
//Unity v.5.3未満では、アプリの初期起動の際にOnApplicationPauseをリターンしないため、直接startSessionを呼び出す。
#if UNITY_5_3_OR_NEWER
Debug.Log("Current Unity version is UNITY_5_3_OR_NEWER");
#else
IgaworksUnityPluginAOS.Common.startSession();
#endif
}
//アプリステータスのチェック
void OnApplicationPause(bool pauseStatus){
if (pauseStatus) {
Debug.Log ("go to Background");
IgaworksUnityPluginAOS.Common.endSession();
} else {
Debug.Log ("go to Foreground");
IgaworksUnityPluginAOS.Common.startSession();
}
}
public class MySampleScene : MonoBehavior {
//アプリ起動
void Start()
{
//Unity v.5.3未満では、アプリの初期起動の際にOnApplicationPauseをリターンしないため、直接startSessionを呼び出す。
#if UNITY_5_3_OR_NEWER
Debug.Log("Current Unity version is UNITY_5_3_OR_NEWER");
#else
IgaworksUnityPluginAOS.Common.startSession();
#endif
}
//アプリステータスのチェック
void OnApplicationPause(bool pauseStatus){
if (pauseStatus) {
Debug.Log ("go to Background");
IgaworksUnityPluginAOS.Common.endSession();
} else {
Debug.Log ("go to Foreground");
IgaworksUnityPluginAOS.Common.startSession();
}
}
+ Unity v.5.3未満では、OnApplicationPause関数がアプリ初期起動の際に呼び出されないため、Start()からstartSessionを直接呼び出してください。
GDPR 連携
GDPR イベントを呼び出して、呼び出した時点からSDKの作業を停止します。
本イベントが呼び出された時点で、adbrixのデータ集計、LiveOpsのプッシュ通知やお知らせポップアップ、adPOPcornのキャンペーン参加ができません。
本機能はユーザーがアプリを削除した後、再インストールするまでには変更することができません。
IgaworksUnityPluginAOS.common.gdprForgetMe();