모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서)는 분류가 달려 있어야 합니다.
--Administrator (토론)
Active User 모듈 적용 가이드 (Android)
Com2uS 공통모듈 | >> | Active User | >> | Active User 모듈 적용 가이드 (iOS)
Active User 모듈 적용 가이드 (Android) |
>> | Active User 모듈 레퍼런스 가이드 | >> | Active User 샘플 가이드 | >> | Active User FAQ |
목차 |
역사
Version | Date | SVN Revision | 담당자 | 변경 사항 |
---|---|---|---|---|
2.9.6 | 2020/09/25 | - | 최지수 |
|
2.9.4 | 2020/06/16 | - | 김현석 |
|
2.9.3 | 2020/03/12 | - | 김현석 |
|
2.9.2 | 2020/01/23 | - | 김현석 | |
2.9.1 | 2019/12/12 | - | 최지수 |
|
2.9.0 | 2019/10/16 | - | 최지수 |
|
2.8.10 | 2019/10/07 | - | 최지수 |
|
2.8.9 | 2019/06/25 | - | 최지수 |
[라이브러리 및 리소스 배포 변경사항]
|
2.8.7 | 2019/04/08 | 2864 | 최지수 |
|
2.8.6 | 2019/03/14 | 2859 | 최지수 |
|
2.8.5 | 2018/08/31 | 2844 | 최지수 |
|
2.8.3 | 2018/06/27 | 2841 | 최지수 |
|
2.8.2 | 2018/05/02 | 2838 | 최지수 |
|
2.8.1 | 2018/02/21 | 2834 | 최지수 |
|
2.8.0 | 2017/12/08 | 2828 | 최지수 |
|
2.7.7 | 2017/10/30 | 2825 | 최지수 |
|
2.7.6 | 2017/09/20 | 2820 | 최지수 |
|
2.7.5 | 2017/08/28 | 2816 | 최지수 |
|
2.7.4 | 2017/07/11 | 2808 | 최지수 |
|
2.7.3 | 2017/01/26 | 2803 | 정다운 |
|
2.7.2 | 2016/12/15 | 2800 | 정다운 |
|
2.7.1 | 2016/11/28 | 2796 | 정다운 |
|
2.7.0 | 2016/11/21 | 2795 | 정다운 |
|
2.6.8 | 2016/09/09 | 2789 | 정다운 |
|
2.6.7 | 2016/07/29 | 2785 | 정다운 |
|
2.6.6 | 2016/07/27 | 2783 | 정다운 |
|
2.6.5 | 2016/03/24 | 2761 | 김규진 |
|
2.6.4 | 2016/01/20 | 2746 | 김규진 |
|
2.6.3 | 2016/01/04 | 2738 | 김규진 |
|
2.4.3 | 2015/06/17 | 2682 | 김규진 |
|
2.4.2 | 2015/05/13 | 2664 | 김규진 |
|
2.4.0.1 | 2015/02/25 | 2642 | 박가진 |
|
2.4.0 | 2015/02/06 | 2640 | 박가진 |
|
2.3.4 | 2015/01/13 | 2633 | 안영철 |
|
2.3.3_2 | 2014/12/24 | 2622 | 안영철 |
|
2.3.3_1 | 2014/12/16 | 2617 | 안영철 |
|
2.3.3 | 2014/12/08 | 2615 | 임성훈 |
|
2.3.2 | 2014/11/14 | 2611 | 임성훈 |
|
2.3.0_1 | 2014/10/30 | 2600 | 임성훈 |
|
2.3.0 | 2014/10/28 | 2599 | 임성훈 |
|
2.3.0 | 2014/10/27 | 2589 | 임성훈 |
|
모든 버전의 역사 보기
적용 방법
AndroidManifest.xml
in <manifest>, before <application>...
- targetSdkVersion의 값이 28 이상인 경우 ( 항목 1)~2) )
- 1)FOREGROUND_SERVICE 권한을 추가해야 합니다.<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
- 2)application 태그에 usesCleartextTraffic 설정을 추가해야 합니다. (http:// 관련 통신이 가능하도록)<application
.. (기타 설정) ..
android:usesCleartextTraffic="true" />
- 1)FOREGROUND_SERVICE 권한을 추가해야 합니다.
- 필요한 권한 추가
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
- android.permission.UPDATE_DEVICE_STATS 퍼미션 추가 시 'permission is only granted to system apps'에러 관련 링크
in <application>...
- application 태그에 android:allowBackup 옵션은 설정하지 않을 경우 Default 상태가 true 이다. 만약 false로 설정하지 않을 경우 구글 드라이브 등의 클라우드 백업을 통해 다른 단말에서 앱을 복원하게 되면 이미 앱에 저장되어 있는 단말 정보나 유저 정보가 앱의 내부 저장소에 복사될 수 있다. 때문에 allowBackup 옵션을 false로 설정해야 한다. (18-02-07에 확인된 사항으로 모듈 업데이트가 필요하지 않지만 AndroidManifest.xml에 내용 추가 필요)
in <application>...
android:screenOrientation="behind"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale|fontScale" />
<!-- added in v2.3.2 -->
<service android:name="com.com2us.module.activeuser.downloadcheck.InstallService" />
- AgreementUIActivity는 Android 권한 고지 및 약관 페이지를 관장합니다. 해당 activity 태그에 android:screenOrientation은 게임의 상태에 따라 변경하여 사용바랍니다.
- behind : 이전에 보여진 액티비티의 속성을 따라감 (단, 가로 및 세로의 회전이 가능함)
- landscape : 가로 방향으로 노출 (일반적으로 홈 버튼이 오른쪽에 위치하는 가로 방향 기준으로 노출되며, 180도 전환이 되지 않음)
- portrait : 세로 방향으로 노출 (일반적으로 홈 버튼이 아래 위치하는 세로 방향 기준으로 노출되며, 180도 전환이 되지 않음)
- sensorLandscape : 가로 방향으로 노출 (180도 전환이 가능)
- sensorPortrait : 세로 방향으로 노출 (180도 전환이 가능)
Install referrer 설정
- androidmanifest.xml 에서 위의 코드 이외에 INSTALL_REFERRER에 대한 receiver가 있다면 referrer[1] 정보를 정상적으로 수집할 수 없습니다. 아래 내용을 참고하시기 바랍니다. 항상 com.android.vending.INSTALL_REFERRER는 매니페스트 파일에 한 줄만 존재해야 합니다.(v1.3.1부터 지원)
- Google Play Service에서 Broadcast API와 install_referrer intent 서비스를 중단함에 따라 Play Install Referrer 라이브러리를 사용하도록 변경되었습니다. ( ActiveUser 2.9.2) INSTALL REFERRER 지원 종료 안내 공지 INSTALL REFERRER 마이그레이션 가이드
- INSTALL_REFERRER 기능을 대체할 새로운 InstallReferrer API 설정 가이드는 build.gradle InstallReferrer API 설정 가이드를 참고하세요.
- ActiveUser 2.9.2 이후 버전 적용시에는 AndroidManifest.xml 파일 내 INSTALL_REFERRER값이 존재하는 경우 해당 값을 반드시 제거 하시기바랍니다.
<receiver android:name="com.com2us.module.activeuser.downloadcheck.InstallReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
외부 라이브러리를 적용할 때
- 외부 라이브러리를 사용하는 경우라도 Google에서 더이상 INSTALL_REFERRER 기능을 제공하지 않으므로 {{글자색|red|관련 값을 전부 제거||하여도 됩니다.
<receiver android:name="com.com2us.module.activeuser.downloadcheck.InstallReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
<!-- 외부 라이브러리 적용시 필요한 값 : android:name은 receiver내의 다른 meta-data name과 중복되지 않게 작성하며, android:value는 외부 라이브러리의 receiver android:name을 입력 -->
<meta-data android:name="forward.external_library" android:value="external.library.Receiver" />
<meta-data android:name="forward.external_library_two" android:value="external.library.ReceiverTwo" />
...
</receiver>
Resource
파일:컴투스 게임 kr 및 게임빌 로컬 약관 리소스.zip
{PROJECT_ROOT}/assets/common/
해당 리소스가 존재하는지 확인합니다.
- 2.2.0 이후 리소스 내용이 추가/변경 되었습니다. 2.2.0 미만에서 업데이트 시 확인 해주세요.
- au_terms_meta.json 과 이하 html 파일들은 게임에 따라 달라질 수 있으니 꼭 확인이 필요합니다.
- 약관 내용 변경이 필요한 경우 추가된 약관 html 파일을 수정해서 사용 바랍니다.
- 래퍼를 사용하실 경우에는 직접적으로 Assets폴더에 넣어두시면 덮어쓰는 스크립트에 의해 덮어질 수 있으니 이점 참고해 주시기 바랍니다.
-
기본적으로 화이트 버전의 리소스가 ActiveUserImage안에 들어있습니다. 블랙 버전을 사용하실 경우에는 BlackVerImage 폴더 내부의 파일들을 ActiveUserImage안에 덮어써 주시기 바랍니다.
- 2.8.0 이후 네트워크 통신이 실패해도 로컬 약관을 띄우지 않습니다. 때문에 로컬 약관 리소스를 별도로 첨부할 필요가 없습니다. (어떠한 경우에도 로컬 약관을 띄우지 않음)
Android ActiveUser v2.8.0 이상 적용 시 앱 접근 권한 고지 리소스 적용
앱 접근 권한에 대한 고지화면이 변경되어 관련된 리소스를 추가하였는지 확인합니다. 앱 접근 권한 고지 화면에 대한 레이아웃과 국가별 권한 고지 텍스트 파일을 확인할 수 있습니다.
- 추가 리소스
- layout 폴더에 xml 파일 추가(1개) : checkpermission_layout_v2.xml
- layout-land 폴더에 xml 파일 추가(1개) : checkpermission_layout_v2.xml
- /res 경로에 국가별 value 폴더 추가 후 국가별 hive_permission_strings.xml 추가 (22개) : values, values-ar, values-de, values-en, values-es, values-fr, values-in, values-it, values-ja, values-ko, values-ms, values-pt, values-ru, values-th, values-tr, values-vi, values-zh, values-zh-rCN, values-zh-rHK, values-zh-rMO, values-zh-SG, values-zh-rTW
Android ActiveUser v2.8.2 이상 적용 시 리소스 변경 사항
점검/업데이트/공지 팝업에 사용되는 리소스가 변경되었습니다.
- 추가 리소스
- layout 폴더에 xml 파일 추가(8개): activeuser_popup_maintenance_pad_landscape.xml, activeuser_popup_maintenance_pad_portrait.xml, activeuser_popup_maintenance_phone_landscape.xml, activeuser_popup_maintenance_phone_portrait.xml, activeuser_popup_maintenance_phone_portrait.xml, activeuser_popup_update_pad_portrait.xml, activeuser_popup_update_phone_landscape.xml, activeuser_popup_update_phone_portrait.xml
- drawable 폴더에 png 파일 추가(14개) : activeuser_popup_box_maintenance_pad_0_article.png, activeuser_popup_box_maintenance_pad_1_btn.png, activeuser_popup_box_maintenance_phone_0_article.png, activeuser_popup_box_maintenance_phone_1_btn.png, activeuser_popup_box_pad_1_touch.png, activeuser_popup_box_phone_1_touch.png, activeuser_popup_box_update_pad_0_article.png, activeuser_popup_box_update_pad_0_article.png, activeuser_popup_box_update_phone_0_article.png, activeuser_popup_box_update_phone_1_btn.png, hive_popup_scroll_bar_pad_1.png, hive_popup_scroll_bar_pad_2.png, hive_popup_scroll_bar_phone_1.png, hive_popup_scroll_bar_phone_1.png
- 제거된 리소스
- /assets/common/ActiveUserDialog 이하의 모든 이미지 파일
Android ActiveUser v2.8.3 이상 적용 시 리소스 변경 사항
점검/업데이트/공지 팝업, 약관 다시보기, 권한 고지에 사용되는 리소스가 변경 및 추가되었습니다.
- 추가 리소스
- drawable 폴더에 png 파일 추가(10개) : hive_popup_box_type2_pad_1_btn.png, hive_popup_box_type2_pad_2_btn.png, hive_popup_box_type2_phone_1_btn.png, hive_popup_box_type2_phone_2_btn.png, hive_popup_box_type3_pad_1_btn.png, hive_popup_box_type3_pad_2_btn.png, hive_popup_box_type3_pad_3_btn.png, hive_popup_box_type3_phone_1_btn.png, hive_popup_box_type3_phone_2_btn.png, hive_popup_box_type3_phone_3_btn.png
- layout 폴더에 xml 파일 추가(2개): activeuser_terms_landscape.xml, activeuser_terms_portrait.xml
- 변경 리소스
- layout 폴더에 xml 파일 변경(8개) : activeuser_popup_maintenance_pad_landscape.xml, activeuser_popup_maintenance_pad_portrait.xml, activeuser_popup_maintenance_phone_landscape.xml, activeuser_popup_maintenance_phone_portrait.xml, activeuser_popup_update_pad_landscape.xml, activeuser_popup_update_pad_portrait.xml, activeuser_popup_update_phone_landscape.xml, activeuser_popup_update_phone_portrait.xml
- /res 경로에 국가별 value 폴더 추가 후 국가별 hive_permission_strings.xml 변경 (22개) : values, values-ar, values-de, values-en, values-es, values-fr, values-in, values-it, values-ja, values-ko, values-ms, values-pt, values-ru, values-th, values-tr, values-vi, values-zh, values-zh-rCN, values-zh-rHK, values-zh-rMO, values-zh-SG, values-zh-rTW
Android ActiveUser v2.8.9 이상 적용 시 리소스 변경 사항
ActiveUser v2.8.9 부터 .aar 라이브러리로 배포되면서 리소스를 수동 추가할 필요가 없습니다. .aar 라이브러리에 리소스 파일이 포함되어 있습니다. 단, 권한 고지 팝업의 문구를 커스터마이징 하려는 경우 관련된 xml 파일을 수정하여 프로젝트에 수동으로 추가합니다. [권한 고지 설정방법 확인] 기본적으로 제공되는 권한 고지 팝업의 문구를 사용할 경우 별도의 xml 리소스 추가 없이 ActiveUser의 .aar 라이브러리만 사용하면 됩니다.
ActiveUser가 필요로하는 외부 라이브러리 설정 (v2.8.2 이후부터)
- ActiveUser v2.8.2부터 Android Support v4 라이브러리(27.1.0 버전)을 필요로 합니다.
- Android 8.1.0 이상 버전 대응으로 Support v4 라이브러리의 NotificationCompat.Builder 클래스를 사용하게 되는데 26.x.x 버전에서 해당 클래스의 생성자 형태가 변경되어 AndroidManifest.xml에서 BuildTarget이 26 이상일 경우 ActiveUser.start 메서드 이후 크래시가 발생할 수 있습니다. (ActiveUser v2.8.1 이하에서 발생, BuildTarget이 26 미만일 경우 특이사항 없음)
- BuildTarget 26 이상을 지원하기 위해 프로젝트에 포함된 Android Support v4 라이브러리(버전 27.1.0)를 참조 부탁드립니다.
- Peppermint v2.6.7 이상을 사용하는 경우
- Peppermint v2.6.7에 포함된 Facebook 4.18 라이브러리에는 동일한 Android Support v4 라이브러리가 포함되어 있습니다.
- 중복 사용되어 빌드 시 에러가 나지 않도록 Facebook 4.18에 포함된 Android Support v4만 사용 부탁드립니다.
- ActiveUser v2.8.2부터 참조하고 있는 Support v4 라이브러리 목록
Jar 파일 추가
build.gradle 수정
InstallReferrer API 설정 추가
- Google Play Service에서 Broadcast API와 install_referrer intent 서비스를 중단함에 따라 Play Install Referrer 라이브러리로 변경되었습니다. (ActiveUser 2.9.2) INSTALL REFERRER 지원 종료 안내 공지 INSTALL REFERRER 마이그레이션 가이드
- ActiveUser 2.9.2 이후 버전을 사용하는 경우에는 반드시 build.gradle 파일 내 아래의 코드를 추가해주세요.
- 주의!! 기존에 INSTALL_REFERRER를 사용하던 게임에서는 AndroidManifest INSTALL_REFERRER 가이드를 확인하여 기존에 사용 중인 기능을 제거해주세요.
InstallReferrer 사용시 주의사항 (2020.02.05 기준)
- installreferrer 1.1을 사용할 경우 구글에서 아래의 3가지 퍼미션을 AndroidManifest.xml에 자동으로 추가하는 것으로 확인 되었습니다.
- android.permission.READ_PHONE_STATE - android.permission.WRITE_EXTERNAL_STORAGE - android.permission.READ_EXTERNAL_STORAGE
- 구글 installreferrer 라이브러리에서 잘못 추가하는 것으로 추정되며 만약 게임에서 해당 권한을 사용하지 않을 경우 아래와 같이 "remove" 설정을 해주시기 바랍니다. 이후 구글에서 installreferrer의 업데이트가 이루어질 경우 다시 공지하도록 하겠습니다.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
- 만약 위의 설정을 추가할 때 "Namespace 'tools' is not bound.." 에러가 발생한다면 <manifest> 태그 안에 아래와 같이 수정 부탁드립니다.
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
Android NDK
적용방법 1) 실행 후 크래쉬 발생
실행 후 크래쉬가 발생한다면 아래 코드를 리소스 로딩과 같은 무거운 작업 이후에 실행 되도록 변경합니다.
문제가 해결 되지 않으면 2번 방법을 사용 합니다.
{
...
//로그 활성화
CS_ActiveUserSetLogged(TRUE);
/* deprecated in 2.2.0
//UserAgree화면을 노출하는 함수로
//1.국내 마켓인 경우 반드시 호출하며
//2.글로벌마켓(국내 포함)인 경우 언어설정이 한국어일떄 호출해 줍니다.
//3.해외마켓(국내 제외)인 경우 호출하지 않습니다.
// CS_UserAgreeShowUI(NULL);
*/
CS_ActiveUserStart();
}
void showUserAgreeTerms(){
CS_UserAgreeShowTermsUI();
}
적용방법 2) 사용자 동의 화면 노출 후 크래쉬 발생
1번 방법으로 사용자 동의 화면이 노출된 후에 어플이 크래쉬 나는 문제가 있을 시 적용 합니다.
차이점은 UserAgreeSetCallback를 통해 게임이 실행된다는 점입니다.
CS_knlPrintk("userAgreeCallback : %d",result);
//사용자동의화면에서 동의하거나 동의화면이 나오지 않으면
if(result == USER_AGREE_SUCCESS){
startGame();
}
};
void startClet(int argc, char* argv[])
{
...
//로그 활성화
CS_ActiveUserSetLogged(TRUE);
CS_UserAgreeSetCallback(UserAgreeCallback);
/* deprecated in 2.2.0
//UserAgree화면을 노출하는 함수로
//1.국내 마켓인 경우 반드시 호출하며
//2.글로벌마켓(국내 포함)인 경우 언어설정이 한국어일떄 호출해 줍니다.
//3.해외마켓(국내 제외)인 경우 호출하지 않습니다.
// CS_UserAgreeShowUI(NULL);
*/
CS_ActiveUserStart();
...
}
void showUserAgreeTerms(){
CS_UserAgreeShowTermsUI();
}
MainActivity.java
setAppIdForIdentity은 모듈에서 서버로 전송할 AppId를 변경하는 메서드로 반드시 납품전에 주석 처리 하셔야 합니다.
현재는 필요없는 부분이지만 스마트폰 초기 시절에 사용한 AppID의 경우 Android, iOS 모두 동일하고
App 버전이 변경되어도 동일한 AppID로 사용하다보니 구분할 방법이 없어 Test용으로 AppID를 변경할 수 있도록 한 기능입니다.
따라서 납품전에 주석 처리 해주시면 됩니다.
...
mModuleManager.setAppIdForIdentity("com.com2us.module.activeuser.test");
//mModuleManager.setLogged(true);
mModuleManager.setExitAppIfCracked(isExitAppIfCracked);
mModuleManager.load(mainactivity, wrapperView);
mModuleManager.onActivityCreated();
}
Android SDK
ActiveUser activeUser
public void onCreate(Bundle savedInstanceState) {
...
activeUser = new ActiveUser(this);
//activeUser.setLogged(true);
/* deprecated in 2.2.0
//UserAgree화면을 노출하는 함수로
//1.국내 마켓인 경우 반드시 호출하며
//2.글로벌마켓(국내 포함)인 경우 언어설정이 한국어일떄 호출해 줍니다.
//3.해외마켓(국내 제외)인 경우 호출하지 않습니다.
// activeUser.setEnableUserAgreeUI();
*/
activeUser.start();
...
}
public void onDestroy(){
super.onDestroy();
activeUser.destroy();
}
void showUserAgreeTerms(){
activeUser.showUserAgreeTerms();
}
Android Studio 적용하기 (190625 배포 이후)
1) .aar 라이브러리 추가하기
- 배포된 패키지에 있는 ActiveUser-x.x.x.aar 라이브러리를 프로젝트가 추가합니다.
- build.gradle 설정에서 해당 .aar 파일을 implementation하여 빌드되도록 설정합니다.
2) 통합 리소스 및 수정설정 리소스 추가하기
- 리소스 가이드에 있는 통합 리소스와 수정설정 리소스를 프로젝트에 추가합니다. [리소스 추가하기]
3) ActiveUser 라이브러리가 필요로하는 외부 라이브러리를 추가하기
- ActiveUser 라이브러리는 Android Support 라이브러리 등 외부 라이브러리를 필요로 합니다. 아래 라이브러리를 build.gradle의 dependencies 항목에 추가하여 같이 사용하도록 합니다.
dependencies {
// ...(생략)...
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
}
//...(생략)...
4) gradle.properties 파일 내 androidX 사용 설정
- gradle.properties 파일 내 아래의 코드를 추가하세요. gradle.properties 파일이 존재하지 않는 경우 신규 생성 후 아래의 코드를 추가하세요.
android.enableJetifier=true
튜토리얼
Callback 함수 추가
사용하려는 위치에 아래 예시처럼 콜백 함수를 추가.
약관 동의 Callback
{
switch (type) {
case USER_AGREE_SUCCESS:
NSLog(@"USER_AGREE_SUCCESS");
break;
case USER_AGREE_TERMS_CLOSE:
NSLog(@"USER_AGREE_TERMS_CONFIRM");
break;
default:
break;
}
}
각 약관 동의 콜백은 다음과 같은 경우에 호출
- USER_AGREE_SUCCESS
- 1.약관 동의 화면이 나왔을 때, 모든 체크박스를 체크한 경우.
- 2.이미 약관동의가 완료 된 경우.
- 3.약관 동의가 필요 없는 국가의 경우.
- USER_AGREE_TERMS_CLOSE
- 1.게임내 이용약관 확인 함수 CS_UserAgreeShowTermsUI() 를 호출 한 후 닫기 버튼을 누른 경우. (iOS only)
- (유니티 사용 or 로드가 큰 게임의 경우 CS_UserAgreeShowTermsUI() 호출시 게임정지. USER_AGREE_TERMS_CLOSE 콜백시 게임 재개 가능.)
Get DID Callback
{
switch (type) {
case ACTIVE_USER_GETDID_SUCCESS:
NSLog(@"ACTIVE_USER_GETDID_SUCCESS");
break;
case ACTIVE_USER_GETDID_FAIL:
NSLog(@"ACTIVE_USER_GETDID_FAIL");
break;
default:
break;
}
}
Wrapper 사용 예시
콜백 함수를 추가 한 뒤, ActiveUser Start를 호출.
{
CS_ActiveUserSetCallback(ActiveUserCallBack); // Get did success / fail callback
CS_UserAgreeSetCallback(UserAgreeCallBack); // User agree callback
CS_ActiveUserStartEx(); // 약관 동의 시작
}
iOS 사용 예시
{
CS_ActiveUserSetCallback(ActiveUserCallBack);
CS_UserAgreeSetCallback(UserAgreeCallBack);
CS_ActiveUserStartEx();
}
게임 시작과 동시에 최초 1회에 한하여 약관 동의 창이 노출.
ActiveUser의 Start 함수는 세션 기록을 위해, 앱을 시작할 때 마다 필수로 호출되어야 한다.
게임 내 이용약관 노출
- 게임 내에서 이용약관을 보여주는 기능을 사용할 경우 CS_UserAgreeShowTermsUI()를 호출.
- 해당 함수를 호출하게 되면 이용약관 페이지가 모달뷰로 노출됨.
- loadView.c 파일의 activeUserShowTerms() 함수는 이용약관 확인 버튼을 누르는 경우 호출 되는 코드 입니다.
{
CS_UserAgreeShowTermsUI(NULL);
}
Active User Sample
전체적인 흐름은 program/ wrapper /sample /iOS / ActiveUserSample을 참고.
Debug
- ActiveUser
- ActiveUser의 기본적인 로그가 찍히는 Tag
주석
- ↑ 이 랩이 어떤 경로로 설치 되었는지 확인할 수 있는 정보
Com2uS 공통모듈 | >> | Active User | >> | Active User 모듈 적용 가이드 (iOS)
Active User 모듈 적용 가이드 (Android) |
>> | Active User 모듈 레퍼런스 가이드 | >> | Active User 샘플 가이드 | >> | Active User FAQ |