안드로이드 SDK
    • PDF

    안드로이드 SDK

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    안드로이드 앱의 보안을 위한 App Safer 안드로이드 SDK 사용 방법에 대해 설명합니다. SDK를 설치하고 환경을 구성함으로써 App Safer를 연동할 수 있습니다.

    참고

    App Safer를 적용하는 전반적인 샘플 코드는 샘플 코드에서 확인해 주십시오.

    SDK 설치 및 환경 구성

    App Safer에서 제공하는 기능을 이용하려면 먼저 안드로이드 SDK를 설치한 후 환경을 구성해 주십시오. 구성하는 방법은 다음과 같습니다.

    1. 개발 툴에서 앱 프로젝트를 열어 주십시오.
    2. 네이버 클라우드 플랫폼 콘솔에서 다운로드한 AAR 파일을 프로젝트의 libs 폴더로 복사해 주십시오.
      • libs 폴더가 없는 경우 새로 만들어 주십시오.
    3. build.gradle 파일을 열고 다음 코드를 추가해 주십시오.
      repositories {
          flatDir {
              dirs 'libs'
          }
      }
      
    4. build.gradle 파일에 다음 코드를 추가하여 App Safer AAR 파일에 대한 의존성을 설정해 주십시오.
      • 특정 버전만 참고하도록 설정
        dependencies {
            implementation name:'appsafer-android-sdk-${vesion}', ext:'aar'
        }
        
      • 모든 버전을 참고하도록 설정
        dependencies {
            implementation fileTree(dir: 'libs', include: 'appsafer-android-sdk-*.aar')
        }
        
    5. AndroidManifest.xml 파일을 열고 meta-data 태그를 이용하여 권한 적용 및 App Safer Key를 입력해 주십시오.
      • meta-data 태그 내 android:name의 값은 반드시 com.ncp.appsafer.key로 작성해야 합니다.
      • android.permission.INTERNET은 필수 권한입니다. 파일 내 권한이 없는 경우 코드를 추가해 주십시오.
      <?xml version="1.0" encoding="utf-8"?>
      <manifest>
          <uses-permission android:name="android.permission.INTERNET"/>
      
          <!-- required permission for Antivirus(target API >= 30) -->
          <uses-permission
              android:name="android.permission.QUERY_ALL_PACKAGES"
              tools:ignore="QueryAllPackagesPermission" />
      
          <application>
              <meta-data
                  android:name="com.ncp.appsafer.key"
                  android:value="{APPSAFER_KEY}" />
          </application>
      </manifest>
      

    제공 API

    App Safer API는 1개의 패키지를 통해 제공되며, 각 패키지에서 호출 가능한 API는 다음과 같습니다.

    start

    App Safer를 실행하려면 아래 코드를 사용해 주십시오.

    fun start(context: Context): Int
    
    int start(Context context)
    
    • 매개변수

      매개변수설명
      contextApplicationContext
    • 반환 값

      반환 값설명
      EXIT_SUCCESS(-1)실행 실패
      EXIT_FAILURE(0)실행 성공
    • 예제

      if (AppSafer.INSTANCE.start(applicationContext) == 0) {
          // success logic
      }
      
      if (AppSafer.INSTANCE.start(getApplicationContext()) == 0) {
          // success logic
      }
      

    setUserId

    초기화 및 탐지 이벤트 발생 시 App Safer 서버로 전송되는 로그에 사용자 식별자를 포함하려면 아래 코드를 사용해 주십시오.

    fun setUserId(userId: String)
    
    void setUserId(String userId)
    
    • 매개변수

      매개변수설명
      userId사용자 식별자
    • 예제

      • SDK

        AppSafer.INSTANCE.userId = "ExampleUserId"
        
        AppSafer.INSTANCE.setUserId("ExampleUserId");
        
      • 간편 적용

        val exampleId = "exampleId"
        val clazz = Class.forName("com.nbp.appsafer.AppSafer")
        val enumConstants = clazz.enumConstants
        if ("INSTANCE" == enumConstants[0].toString()) {
            clazz.getDeclaredMethod("setUserId", String::class.java).invoke(enumConstants[0], userId)
        }
        
        final String userId = "exampleId";
        Class<?> clazz = Class.forName("com.nbp.appsafer.AppSafer");
        Object[] enumConstants = clazz.getEnumConstants();
        if ("INSTANCE".equals(enumConstants[0].toString())) {
            clazz.getDeclaredMethod("setUserId", String.class).invoke(enumConstants[0], userId);
        }
        

    getUserId

    설정된 사용자 식별자를 조회하려면 아래 코드를 사용해 주십시오.

    fun getUserId(): String
    
    String getUserId()
    
    • 반환 값

      반환 값설명
      String설정한 사용자 식별자
    • 예제

      • SDK

        val userId = AppSafer.INSTANCE.userId
        
        String userId = AppSafer.INSTANCE.getUserId();
        
      • 간편 적용

        var userId: String? = null
        val clazz = Class.forName("com.nbp.appsafer.AppSafer")
        val enumConstants = clazz.enumConstants
        if ("INSTANCE" == enumConstants[0].toString()) {
            userId = clazz.getDeclaredMethod("getUserId").invoke(enumConstants[0]) as String?
        }
        
        String userId = null;
        Class<?> clazz = Class.forName("com.nbp.appsafer.AppSafer");
        Object[] enumConstants = clazz.getEnumConstants();
        if ("INSTANCE".equals(enumConstants[0].toString())) {
            userId = (String) clazz.getDeclaredMethod("getUserId").invoke(enumConstants[0]);
        }
        

    getUserDeviceId

    기기 식별자를 조회하려면 아래 코드를 사용해 주십시오.

    fun getUserDeviceId(): String
    
    String getUserDeviceId()
    
    • 반환 값

      반환 값설명
      String기기 식별자
    • 예제

      • SDK

        val userId = AppSafer.INSTANCE.userDeviceId
        
        String userDeviceId = AppSafer.INSTANCE.getUserDeviceId();
        
      • 간편 적용

        var udid: String? = null
        val clazz = Class.forName("com.nbp.appsafer.AppSafer")
        val enumConstants = clazz.enumConstants
        if ("INSTANCE" == enumConstants[0].toString()) {
            udid = clazz.getDeclaredMethod("getUserDeviceId").invoke(enumConstants[0]) as String?
        }
        
        String udid = null;
        Class<?> clazz = Class.forName("com.nbp.appsafer.AppSafer");
        Object[] enumConstants = clazz.getEnumConstants();
        if ("INSTANCE".equals(enumConstants[0].toString())) {
            udid = (String) clazz.getDeclaredMethod("getUserDeviceId").invoke(enumConstants[0]);
        }
        

    preventScreenshot

    앱의 스크린샷, 녹화, 최근 앱 미리 보기 기능을 제한하려면 아래 코드를 사용해 주십시오.

    참고

    Activity 단위로 호출해 주십시오.

    fun preventScreenshot(window: Window): Int
    
    int preventScreenshot(Window window)
    
    • 매개 변수

      매개변수설명
      windowActivity의 Window 인스턴스
    • 예제

      AppSafer.INSTANCE.preventScreenshot(window)
      
      AppSafer.INSTANCE.preventScreenshot(getWindow());
      

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.