Android SDK

Prev Next

Classic/VPC環境で利用できます。

Androidアプリのセキュリティのための App Safer Android SDKの使用方法について説明します。SDKをインストールして環境を構成することで、App Saferを連携します。

参考

App Saferを適用する全般的なサンプルコードは、サンプルコードでご確認ください。

SDKのインストールおよび環境の構成

App Saferで提供する機能を利用するには、まず Android SDKをインストールした後に環境を設定します。構成する方法は、次の通りです。

  1. 開発ツールでアプリプロジェクトを開きます。

  2. NAVERクラウドプラットフォームコンソールからダウンロードした 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サーバに送信されるログにユーザー IDを含む場合には、以下のコードを使用します。

参考

この APIは start()呼び出し前に設定が必要です。

@Throws(AppSaferException::class)
fun setUserId(userId: String)
void setUserId(String userId) throws AppSaferException;
  • パラメータ

    パラメータ 説明
    userId ユーザー ID
  • ユースケース

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

getUserId

設定されたユーザー IDを照会するには、以下のコードを使用します。

@Throws(AppSaferException::class)
fun getUserId(): String
String getUserId() throws AppSaferException;
  • リターン値

    リターン値 説明
    String 設定したユーザー ID
  • ユースケース

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

getUserDeviceId

デバイス IDを照会するには、以下のコードを使用します。

@Throws(AppSaferException::class)
fun getUserDeviceId(): String
String getUserDeviceId() throws AppSaferException;
  • リターン値

    リターン値 説明
    String デバイス ID
  • ユースケース

    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());