5) Unity Settings
Tnk에서 제공하는 tnkad.unitypackage 파일을 다운 받습니다. [Unity plugin 다운받기]
적용할 Unity 프로젝트를 연 상태에서 다운로드 받은 tnkad.unitypackage 파일을 실행하면 아래와 같이 Plugin 파일들이 import 창이 뜹니다. 모두 선택된 상태에서 [import] 버튼을 누르면 Plugin 파일들이 프로젝트로 import 됩니다.
[Android Plugin 설정]
Plugin 내에는 TnkAdAndroidMenifest.xml 파일이 포함되어 있습니다. 이 파일의 내용을 참고하시어 AndroidMenifest.xml 파일을 직접 작성하시거나 또는 Android project로 export 하신 후 생성된 AndroidMenifest.xml 파일을 기초로 TnkAd SDK에서 필요로 하는 내용을 추가하시기 바랍니다.
작성하신 AndroidMenifest.xml 파일은 Unity 프로젝트의 Plugins/Android 폴더 저장하시기 바랍니다.
아래는 TnkAdAndroidMenifest.xml 파일의 내용입니다. 주석으로 되어 있는 부분의 설명을 확인하시고 본인의 AndroidMenifest.xml 파일에 반영해주세요.
TnkAdAndroidMenifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="your.package.name"
android:theme="@android:style/Theme.NoTitleBar" android:versionName="1.0" android:versionCode="1" android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="9"/>
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
<!-- permissions for TnkAd -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:icon="@drawable/app_icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="com.tnkfactory.spaceshootler.UnityPlayerNativeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" /> <!-- set true -->
</activity>
<!-- TnkAd Offerwall Activities -->
<activity android:name="com.tnkfactory.ad.AdWallActivity" android:screenOrientation="portrait"/>
<activity android:name="com.tnkfactory.ad.AdMediaActivity" android:screenOrientation="landscape"/>
<!-- TnkAd Referrer tracking receiver -->
<receiver android:name="com.tnkfactory.ad.TnkReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<!-- Set your Tnk App_ID here -->
<meta-data android:name="tnkad_app_id" android:value="your-appid-from-tnk-site" />
</application>
<uses-feature android:glEsVersion="0x00020000" />
<supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" />
</manifest>
* Permission 설정
TnkAd SDK 가 필요로 하는 permission을 아래와 같이 설정합니다.
Permission 설정
<!-- permissions for TnkAd -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
* Tnk App Id 설정
Tnk 사이트에서 앱을 등록하시면 발급되는 APP ID 값을 아래 <meta-data/> tag로 설정합니다. android:value의 값을 실제 APP ID 값으로 변경하세요.
<meta-data/> tag는 반드시 <application/> tag 바로 안쪽에 위치해야합니다.
Tnk App Id 설정
<!-- Set your Tnk App_ID here -->
<meta-data android:name="tnkad_app_id" android:value="your-appid-from-tnk-site" />
* Offerwall Activity 설정
Offerwall Activity는 보상형 광고목록이 출력되는 Activity입니다. 매체앱으로서 충전소 기능을 탑제하시려면 아래의 <activity/> 설정을 추가하셔야합니다. 매체가 아닌 광고만 진행하실 경우에는 설정하실 필요가 없습니다.
Offerwall Activity 설정
<!-- TnkAd Offerwall Activities -->
<activity android:name="com.tnkfactory.ad.AdWallActivity" android:screenOrientation="portrait"/>
<activity android:name="com.tnkfactory.ad.AdMediaActivity" android:screenOrientation="landscape"/>
* Referrer Receiver 설정
앱 분석보고서의 유입 경로별 데이터 분석을 위해서는 아래의 <receiver/> 설정을 추가하세요. 앱 분석도구를 사용하시지 않는다면 꼭 설정하실 필요는 없습니다.
Referrer Receiver 설정
<!-- TnkAd Referrer tracking receiver -->
<receiver android:name="com.tnkfactory.ad.TnkReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
* UnityPlayer 설정
Unity 4.3 이상 버전을 사용하신다면 아래와 같이 ForwardNativeEventsToDalvik 옵션을 true로 설정하셔야 화면에 touch 이벤트가 동작합니다. 매체앱으로서 전면 중간광고 창을 띄우고자 하신다면 반드시 아래와 같이 설정해주세요. 광고만 진행하시는 경우에는 설정하실 필요가 없습니다.
UnityPlayer 옵션 설정
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="com.tnkfactory.spaceshootler.UnityPlayerNativeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" /> <!-- set true -->
</activity>
[iOS Plugin 설정]
Tnk 사이트에서 발급 받은 APP_ID를 사용하여 Tnk Plugin을 초기화해주어야합니다. 초기화 방법은 API를 호출하는 방법과 info.plist 파일에 설정하는 2가지 방법이 있지만 Unity 에서는 info.plist 에 설정하는 방법을 권장합니다.
Unity에서 Xcode 프로젝트를 생성한 후 info.plist 파일을 찾아서 아래와 같이 "tnkad_app_id" 항목을 추가하고 APP_ID 값을 설정합니다. 이곳에 설정해두면 TnkSession 객체가 처음 사용되는 시점에 자동으로 초기화 됩니다.
* APP_ID 값은 Tnk 사이트에서 앱 등록하면 발급받으실 수 있습니다. 이 값을 아래 화면과 같이 Value 항목에 설정합니다.
* Unity에서 XCode를 생성할 때에 "Append"로 생성하면 기존 설정이 유지되지만, "Replace"로 설정하는 경우 설정 값이 사라지므로 이 경우에는 다시 설정해주셔야합니다.