IGAW 공통 모듈
IGAWorks의 모든 서비스는 공통 모듈 + 애드온의 형태로 제공되고 있습니다.
유니티 안드로이드 프로젝트를 위해 제공하고 있는 유니티 패키지는 공통모듈과 애드온이 모두 포함된 통합버전입니다.
공통 모듈 연동을 마치신 다음 사용하시고자 하는 각 서비스 별 가이드를 참고하여 추가 연동을 진행하시면 됩니다.
IGAW 공통모듈 연동을 통해 앱의 실행 횟수 및 DAU 수치를 확인할 수 있습니다.
애드브릭스 연동을 진행하실려면 애드브릭스 리마스터를 연동해 주시길 부탁드립니다.
AndroidManifest.xml
안드로이드 매니페스트 파일을 수정하여 IGAWorks 관리페이지에서 발급받은 앱키, 해시키, 퍼미션 등을 설정합니다.
<application></application> 태그 안에 아래와 같이 앱키, 해시키를 입력합니다.
<meta-data android:name="igaworks_app_key" android:value="앱키를 설정하세요." />
<meta-data android:name="igaworks_hash_key" android:value="해시키를 설정하세요." />
<manifest></manifest> 태그 안에 필수 퍼미션을 추가합니다. 아래 퍼미션들이 추가되지 않으면 정상적인 서비스 이용이 어려울 수 있습니다.
<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 버전 이상에서는 안드로이드 6.0 버전에서의 권한 요청 팝업 노출 이슈로 인해 게임의 UX를 해칠 수 있기에, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE 퍼미션을 필수로 요구하지 않습니다.
트래킹링크 & 애드팝콘 광고 상품 이용 안내
트래킹링크나 애드팝콘 광고 상품을 이용하기 위해서는 반드시 구글 인스톨 리시버를 등록해야 합니다.
리시버가 정상 설정되지 않으면, 신규실행 여부를 체크할 수 없습니다. 다음 아티클을 참고하여 리시버 설정을 진행합니다.
[IGAWorks 구글 인스톨 리시버 등록 가이드]
Google Play Referrer 설정
Google Play Referrer 설정은 애드브릭스 광고 트랙킹 시 부정 트래픽 방지를 목적으로 사용됩니다.
Goolge Play Referrer 를 사용하기 위해서는 Installer 라이브러리를 추가합니다. [다운로드]
라이브러리 추가 후 Androidmanifest.xml 에 아래 권한을 추가합니다.
트래킹링크나 애드팝콘 광고 상품을 이용하기 위해서는 반드시 구글 인스톨 리시버를 등록해야 합니다.
리시버가 정상 설정되지 않으면, 신규실행 여부를 체크할 수 없습니다. 다음 아티클을 참고하여 리시버 설정을 진행합니다.
[IGAWorks 구글 인스톨 리시버 등록 가이드]
Google Play Referrer 설정
Google Play Referrer 설정은 애드브릭스 광고 트랙킹 시 부정 트래픽 방지를 목적으로 사용됩니다.
Goolge Play Referrer 를 사용하기 위해서는 Installer 라이브러리를 추가합니다. [다운로드]
라이브러리 추가 후 Androidmanifest.xml 에 아래 권한을 추가합니다.
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
Auto Session Tracking (안드로이드 4.0.4 이상 사용 가능)
Common 4.4.0a 버전부터 안드로이드 액티비티 상 별도의 설정 없이 Auto Session Tracking 을 지원합니다.
Auto Session Tracking 을 사용하기 위해서는 앱이 최소 안드로이드 4.0.4 이상을 지원해야 합니다.
Common 4.4.0a 버전부터 안드로이드 액티비티 상 별도의 설정 없이 Auto Session Tracking 을 지원합니다.
Auto Session Tracking 을 사용하기 위해서는 앱이 최소 안드로이드 4.0.4 이상을 지원해야 합니다.
SDK에서 제공하는 Application 클래스를 선언
Androidmanifest.xml 에 아래의 내용을 선언합니다.
<application
android:name="com.igaworks.IgawDefaultApplication"
</application>
이후 플러그인 초기화를 진행합니다.// using 지시문을 선언합니다.
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//유니티 엔진이 초기화될 때, IGAW 플러그인을 초기화 합니다.
IgaworksUnityPluginAOS.InitPlugin ();
}
}
Androidmanifest.xml 에 아래의 내용을 선언합니다.
<application
android:name="com.igaworks.IgawDefaultApplication"
</application>
// using 지시문을 선언합니다.
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//유니티 엔진이 초기화될 때, 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);
// 어플리케이션 클래스에서는 autoSessionTracking API 외 어떠한 애드브릭스 분석용 API도 호출해서는 안됩니다.
}
}
주의! Application 클래스에서는 autoSessionTracking API 외 어떠한 애드브릭스 분석용 API도 호출해서는 안됩니다.
이미 Application 클래스를 사용하고 있다면 Androidmanifest.xml 에 아래의 내용을 선언합니다.
<application
android:name="PACKAGE_NAME.YourCustomApplication"
</application>
public class YourCustomApplication extends Application{ @Override public void onCreate(){ super.onCreate(); IgawCommon.autoSessionTracking(YourCustomApplication.this); // 어플리케이션 클래스에서는 autoSessionTracking API 외 어떠한 애드브릭스 분석용 API도 호출해서는 안됩니다. } }
주의! Application 클래스에서는 autoSessionTracking API 외 어떠한 애드브릭스 분석용 API도 호출해서는 안됩니다.
IGAW 공통 모듈 연동 (안드로이드 4.0.4 이하 버전까지 지원할 경우)
앱이 안드로이드 4.0.4 이하 버전까지 지원하실 경우 아래와 같이 플러그인 초기화 및 기본분석 API 를 연동합니다.
플러그인 초기화
어플리케이션 실행 후 유니티가 초기화될 때 init 과 startApplication api를 호출하여 플러그인도 초기화합니다.
// using 지시문을 선언합니다.
using IgaworksUnityAOS;
public class MySampleScene : MonoBehavior {
void Awake() {
//유니티 엔진이 초기화될 때, IGAW 플러그인을 초기화 합니다.
IgaworksUnityPluginAOS.InitPlugin ();
}
}
+ init api는 유니티 플러그인과 안드로이드 네이티브 SDK를 연결하는 역할을 합니다.
+ startApplication api는 네이티브 SDK를 초기화 하는 역할을 합니다.
기본 분석 API
startSession, endSession api를 호출하여 유저의 세션 유지 시간, 분석 데이터의 전송을 처리합니다.
이 함수들은 반드시 짝을 이루어 동작하여야 합니다.
어플리케이션이 foreground나 background로 전환될 때 호출해야 합니다.
public class MySampleScene : MonoBehavior {
//앱 시작
void Start()
{
//유니티 버전 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();
}
}
+ 유니티 5.3 버전 미만에서는 OnApplicationPause 함수가 앱이 최초 시작할 때, 호출되지 않기 때문에 Start()에서 startSession을 직접 호출해야 합니다.
GDPR 연동
GDPR 이벤트를 호출하여 호출 시점 이후부터 SDK 동작을 막을 수 있습니다.
자세한 내용은 아래 연동 가이드를 참고하여 연동해 주시길 부탁드립니다.
IGAWorks 애드온 연동
공통 연동이 마무리 되셨다면, 각 서비스 별 가이드를 참고하여 애드온 연동을 진행합니다.