- 印刷する
- PDF
Android SDK
- 印刷する
- PDF
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を実行するには、以下のコードを使用します。
fun start(context: Context): Int
int start(Context context)
パラメータ
パラメータ 説明 context ApplicationContext リターン値
リターン値 説明 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サーバに送信されるログにユーザー IDを含む場合には、以下のコードを使用します。
fun setUserId(userId: String)
void setUserId(String userId)
パラメータ
パラメータ 説明 userId ユーザー ID ユースケース
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
設定されたユーザー IDを照会するには、以下のコードを使用します。
fun getUserId(): String
String getUserId()
リターン値
リターン値 説明 String 設定したユーザー ID ユースケース
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
デバイス IDを照会するには、以下のコードを使用します。
fun getUserDeviceId(): String
String getUserDeviceId()
リターン値
リターン値 説明 String デバイス ID ユースケース
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)
パラメータ
パラメータ 説明 window Activityの Windowインスタンス ユースケース
AppSafer.INSTANCE.preventScreenshot(window)
AppSafer.INSTANCE.preventScreenshot(getWindow());