안드로이드 SDK

Prev Next

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를 실행하려면 아래 코드를 사용해 주십시오.

참고

start() 함수는 네트워크 통신을 수행하므로 UI(Main) 스레드에서 호출할 경우 ANR이 발생할 수 있습니다. 따라서 별도의 스레드에서 호출하는 것을 권장합니다.

@Throws(AppSaferException::class)
fun start(context: Context)
void start(Context context) throws AppSaferException;
  • 매개변수

    매개변수 설명
    context ApplicationContext
  • 예제

    runBlocking {
        AppSafer.INSTANCE.start(applicationContext)
    }
    
    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {
            AppSafer.INSTANCE.start(getApplicationContext());
        }
    });
    thread.start(); 
    

setUserId

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

참고

해당 API는 start() 호출 전 설정이 필요합니다.

@Throws(AppSaferException::class)
fun setUserId(userId: String)
void setUserId(String userId) throws AppSaferException;
  • 매개변수

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

    AppSafer.INSTANCE.userId = "ExampleUserId"
    
    AppSafer.INSTANCE.setUserId("ExampleUserId");
    

getUserId

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

@Throws(AppSaferException::class)
fun getUserId(): String
String getUserId() throws AppSaferException;
  • 반환 값

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

    val userId = AppSafer.INSTANCE.userId
    
    String userId = AppSafer.INSTANCE.getUserId();
    

getUserDeviceId

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

@Throws(AppSaferException::class)
fun getUserDeviceId(): String
String getUserDeviceId() throws AppSaferException;
  • 반환 값

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

    val userId = AppSafer.INSTANCE.userDeviceId
    
    String userDeviceId = AppSafer.INSTANCE.getUserDeviceId();
    

preventScreenshot

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

참고

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

@Throws(AppSaferException::class)
fun preventScreenshot(window: Window): Int
int preventScreenshot(Window window) throws AppSaferException;
  • 매개 변수

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

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