모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서) 분류가 달려 있어야 합니다.

--Administrator (토론)

Active User 모듈 적용 가이드 (Unity3d)

컴투스위키
이동: 둘러보기, 찾기
Com2uS 공통모듈 >> Active User >> Active User 모듈 적용 가이드 (iOS)

Active User 모듈 적용 가이드 (Android)

Active User 모듈 적용 가이드 (Unity3d)

>> Active User 모듈 레퍼런스 가이드 >> Active User 샘플 가이드 >> Active User FAQ


목차

프로젝트 설정

iOS


유의사항

  • Unity 4.3.4 에서 iOS View 관리 방식이 바뀌어 초기 시작 시 약관노출이 안될 수 있습니다.
    • 게임 시작과 동시에 Active User를 호출하면 Active User View가 SplashView(UnityLogo 화면) 에 SubView로 추가됩니다.
    • 이 경우 Logo가 사라지면서 Active User View도 같이 사라지게 됩니다. 따라서, Active User 설정 시점을 SplashImage(Logo)가 사라진 후에 설정해야 정상적으로 약관 노출이 가능합니다.


  • 게임에서 지원하는 회전방향을 설정해주세요.
  • Xcode -> View Controller에서 아래 코드를 제거해 주세요 (디바이스 회전 관련 코드)
// - (BOOL)shouldAutorotate
// {
//     return YES;
// }
//
// - (NSUInteger)supportedInterfaceOrientations
// {
//     return UIInterfaceOrientationMaskLandscape;
// }


프로젝트 설정


Unity 플러그인 추가

헤더, 함수 추가

  • Xcode 프로젝트에서 UnityView.mm 또는 iPhone_View.mm 파일에 Active User 헤더와 아래 함수를 추가합니다.
    • 해당 함수는 Active User가 보여지는 뷰를 설정해줍니다.
  • 함수를 추가하지 않으면 빌드 오류가 발생합니다.
#include "C2SActiveUser.h"

extern "C" {
    void CS_SetModuleView()
    {
        CS_UserAgreeSetView((void*)UnityGetGLView());
    }
};

Android


<작성법 참고>

Android Project 적용 가이드

UnityActiveUserScreenShot.png

  • Unity Project에 Asset/ Plugins/ Android/ libs 구조로 폴더를 생성하여 아래의 Jar파일들을 추가 합니다.
  • Active User Plugin : C2SActiveUserPlugin.cs 을 추가합니다.
svn://devbackup.com2us.com/Wrapper_redist/program/module/unity/ActiveUser/Plugin/
<작성법 참고>
Jar 파일 추가 (Java Libraries)
Add JARS...
activeuserplugin.jar (svn://devbackup.com2us.com/Wrapper_redist/program/module/unity/ActiveUser/Plugin/)
activeuser.jar (svn://devbackup.com2us.com/Wrapper_redist/program/templates/AndroidTemplate/Com2uSAndroid/module/ActiveUser/libs/)
modulemanager.jar (svn://devbackup.com2us.com/Wrapper_redist/program/templates/AndroidTemplate/Com2uSAndroid/module/ModuleManager/libs/)

AndroidManifest.xml

Active User 모듈 적용 가이드 (Android)#AndroidManifest.xml


Resource 추가

Active User 모듈 적용 가이드 (Android)#Resource 추가

AndroidUnityActivuserResource1.png


Android Mercury 2.12.6 이후 버전 적용부턴 수동으로 리소스를 추가하지 않아도 됩니다.
Android Mercury 의 .aar 파일에 리소스가 포함되어 있습니다.


Unity에서 Active User 초기화

  • 아래 소스코드는 예시입니다.
  • ActiveUserScript가 Main Camera의 Component 스크립트 인 경우, Callback 함수의 객체를 Main Camera로 설정합니다.
public class ActiveUserScript : MonoBehaviour {  

    private C2SActiveUserPlugin activeUser = null;
   
    void Start () {
        activeUser = new C2SActiveUserPlugin(); // 객체 생성
       
        activeUser.setUserAgreeCallback("Main Camera", "UserAgreeCallback"); // UserAgreeCallback 등록
        activeUser.setActiveUserCallback("Main Camera", "ActiveUserCallback"); // ActiveUserCallback 등록
        activeUser.setEnableUserAgreeUI(C2SActiveUserPlugin.USER_AGREE_COLOR_TYPE_WHITE);
        activeUser.start();
    }
}

1. C2SActiveUserPlugin.cs 의 C2SActiveUserPlugin 객체를 생성합니다.

2. UserAgreeCallback 콜백 함수를 등록합니다. (Active User 모듈 레퍼런스 가이드#typedef void (* UserAgreeCB)(USER_AGREE_RESULT result))

3. ActiveUserCallback 콜백 함수를 등록합니다. (Active User 모듈 레퍼런스 가이드#typedef void (* ActiveUserCB)(ACTIVE_USER_RESULT result))

4. start()모듈 시작


  • start() 호출 시점을 늦춰야 한다면, void Start()를 IEnumerator Start ()로 변경합니다.
    IEnumerator Start () {
        activeUser = new C2SActiveUserPlugin(); // 객체 생성
       
        activeUser.setUserAgreeCallback("Main Camera", "UserAgreeCallback"); // UserAgreeCallback 등록
        activeUser.setActiveUserCallback("Main Camera", "ActiveUserCallback"); // ActiveUserCallback 등록
        activeUser.setEnableUserAgreeUI(C2SActiveUserPlugin.USER_AGREE_COLOR_TYPE_WHITE);
        yield return new WaitForSeconds(0.05f);          // 0.05초 지연
        activeUser.start();
    }
  • WaitForSeconds 함수를 추가하여, 원하는 시간만큼 초기화를 지연 시킵니다.


이용약관


public class ActiveUserScript : MonoBehaviour {
    public void ShowUserAgree()
    {
        activeUser.showUserAgreeTerms();
    }
}
  • 위와 같이 함수를 만들고, ActiveUserScript의 ShowUserAgree를 호출하면 사용자 동의창이 호출됩니다.


Com2uS 공통모듈 >> Active User >> Active User 모듈 적용 가이드 (iOS)

Active User 모듈 적용 가이드 (Android)

Active User 모듈 적용 가이드 (Unity3d)

>> Active User 모듈 레퍼런스 가이드 >> Active User 샘플 가이드 >> Active User FAQ
개인 도구
이름공간

변수
행위
둘러보기
도구모음
인쇄/내보내기