Classic/VPC環境で利用できます。
Androidアプリのセキュリティのための App Safer Android SDKの使用方法について説明します。SDKをインストールして環境を構成することで、App Saferを連携します。
App Saferを適用する全般的なサンプルコードは、サンプルコードでご確認ください。
SDKのインストールおよび環境の構成
App Saferで提供する機能を利用するには、まず Android SDKをインストールした後に環境を設定します。構成する方法は、次の通りです。
-
開発ツールでアプリプロジェクトを開きます。
-
NAVERクラウドプラットフォームコンソールからダウンロードした AARファイルをプロジェクトの libsフォルダにコピーします。
- libsフォルダがない場合は新しく作成します。
-
build.gradleファイルを開いて次のコードを追加します。
repositories { flatDir { dirs 'libs' } } -
build.gradleファイルに次のコードを追加し、App Safer AARファイルへの依存関係を設定します。
- 特定のバージョンのみを参照するように設定
dependencies { implementation name:'appsafer-android-sdk-${vesion}', ext:'aar' } - すべてのバージョンを参照するように設定
dependencies { implementation fileTree(dir: 'libs', include: 'appsafer-android-sdk-*.aar') }
- 特定のバージョンのみを参照するように設定
-
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は、次の通りです。
-
com.nbp.appsafer.AppSafer
名前 説明 start App Safer実行 setUserId ユーザー ID設定 getUserId 設定されたユーザー IDを照会 getUserDeviceId デバイス IDを照会 preventScreenshot スクリーンショット防止
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.userIdString userId = AppSafer.INSTANCE.getUserId();
getUserDeviceId
デバイス IDを照会するには、以下のコードを使用します。
@Throws(AppSaferException::class)
fun getUserDeviceId(): String
String getUserDeviceId() throws AppSaferException;
-
リターン値
リターン値 説明 String デバイス ID -
ユースケース
val userId = AppSafer.INSTANCE.userDeviceIdString 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());