Unity SDK 기본 연동

Singular Unity SDK
다운로드 Singular Unity SDK version 2.1.2
호환성

Unity 4.7.2+

샘플 앱 베스트 프랙티스에 기반한 전체 SDK 연동 방법 확인을 위해 샘플 앱을 참조해주세요.
연동 가이드

 

Android와 iOS 준비 사항 설정

Android 준비 사항

AndroidManifest.xml 파일 내에 다음 코드를 <application> 태그 아래 추가하여 인스톨 리퍼러를 사용할 수 있도록 합니다.

<receiver android:exported="true" android:name="com.singular.sdk.SingularInstallReceiver" android:permission="android.permission.INSTALL_PACKAGES">
    <intent-filter>      
        <action android:name="com.android.vending.INSTALL_REFERRER"></action>      
    </intent-filter>
</receiver>

또한 다음 권한을 추가합니다.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

Google Play Services (Mobile Ads)

Singular SDK는 Google Play Services APIs 7.5+에 포함된 Google Mobile Ads API를 사용합니다.

이미 앱 내에 Google Play Services를 포함했다면 Singular에서 필요로 하는 조건은 충족됩니다.

만약 해당 서비스를 포함하지 않았다면 다음 디펜던시를 앱의 build.gradle 파일에 추가해서 Google Mobile Ads를 개별적으로 연동할 수 있습니다.

compile 'com.google.android.gms:play-services-ads:11.6.0'

For more information, see Google's guide to setting up Google Play Services.

Android 설정 (Proguard 및 Eclipse) ▼

Proguard를 사용한다면, proguard-unity.txt 파일에 다음 코드를 추가하세요.

-keep class com.singular.sdk.** { *; }
-keep public class com.android.installreferrer.** { *; }
-keep public class com.singular.unitybridge.** { *; }

Eclipse로 앱을 빌드하는 경우, 다음 중 하나의 방법으로 Eclipse 프로젝트에 AAR을 연동하세요.

  • singular_sdk-9.x.x.aar의 압축 해제
  • classes.jarsingular_sdk-9.x.x.jar로 이름 변경(메인 main SDK)
  • 원하는 방법에 따라 Eclipse 프로젝트에 위 jar 및 libs/installreferrer-release.jar( Google Referrer API 라이브러리) 연동
  • AAR 내의 AndroidManifest.xml 파일의 BIND_GET_INSTALL_REFERRER_SERVICE 권한을 AndroidManifest.xml로 복사

iOS 준비 사항

다음 라이브러리/프레임워크를 Unity XCode 프로젝트에 링크합니다.

  • Security.framework
  • SystemConfiguration.framework
  • iAD.framework
  • Adsupport.framework
  • WebKit.framework
  • libsqlite3.0.tbd
  • libz.tbd

SDK 패키지 다운로드 및 임포트

먼저 SDK unitypackage 파일을 다운로드하세요.

Assets > Import Package > Custom package 메뉴를 사용해서 앱에 unitypackage를 임포트합니다.

SDK 오브젝트 추가

Unity 플랫폼에서 다음 단계를 따르세요.

  • Main 씬에 오브젝트를 추가하고 SingularSDKObject로 이름 변경
  • SingularSDK 스크립트를 해당 오브젝트에 끌어다 넣습니다.
  • Inspection 창에서 Singular API Key와 API Secret을 복사하여 붙여 넣습니다.

기본 연동 설정

SDK 초기화

SDK 초기화 코드는 앱이 열릴 때마다 호출돼야 합니다. 이는 Singular의 어트리뷰션 기능이 동작하기 위한 전제 조건이자, Singular에 새 세션을 보내서 유저 리텐션을 계산하는 기준으로 사용됩니다.

기본적으로 SingularSDK.cs는 씬이 생성될 때 Awake 메서드를 통해 initializes the SDK를 자동 초기화합니다.

수동 초기화

앱 오픈 시점이 아닌 실행 이후 시점에 SDK를 수동으로 초기화하기를 원하는 경우 다음 단계를 따르세요.

  • SingularSDK 오브젝트의 inspection 창에서 Initialize on Awake 옵션을 비활성화합니다.
  • Singular.InitializeSingularSDK 정적 메서드를 사용해서 SDK를 초기화합니다.
SingularSDK.InitializeSingularSDK 메서드
정의 Awake에서 Singular SDK가 초기화되지 않은 경우 초기화합니다.
메서드
public void InitializeSingularSDK()
사용예
// API Key and API Secret are set on the 
// game object associated with SingularSDK SingularSDK.InitializeSingularSDK();

Note on Thread Safety: The Singular Unity SDK should always be called from the same thread, the same way you call other Unity methods.

Optional: Configuring the Session Timeout

By default, if the app runs in the background for 60 seconds or more before returning to the foreground, the Singular SDK registers a new session. You can change the default timeout value by modifying the Session Timeout Sec property of your SingularSDKObject.

Optional: Setting the User ID

The Singular SDK can send a user ID from your app to Singular. This can be a username, email address, randomly generated string, or whichever identifier you use as a user ID. Singular will use the user ID in user-level data exports as well as internal BI postbacks (if you configure any).

To send the user ID to Singular, call the SetCustomUserId method. To unset the ID (for example, If the user logs out of their account), call UnsetCustomUserId.

Notes:

  • The user ID persists until you unset it by calling UnsetCustomUserId or until the app is uninstalled. Closing/restarting the app does not unset the user ID.
  • If you already have the user ID available when the app opens, and you want it to be available to Singular from the very first session, make sure to set it before initializing the Singular SDK.
SingularSDK.SetCustomUserId 메서드
정의 Singular에 유저 ID 전송
메서드
public void SetCustomUserId(string customUserId)
사용예
SingularSDK.SetCustomUserId("custom_user_id");
SingularSDK.UnsetCustomUserId 메서드
Description 마지막 CustomUserId 호출에서 Singular로 전송된 유저 ID를 해제
메서드
public void UnsetCustomUserId()
사용예
SingularSDK.UnsetCustomUserId();
도움이 되었습니까?