ユーザー認証
アプリの配布を限られたユーザーに制限する
テスト版のアプリは、配布対象を限られたユーザーに制限したい場合がしばしばあります。
Android端末上のアプリは開発者モードにさえすれば誰でもroot権限無し に取り出せてしまうため、ファイルの配布そのものを制限するだけではアプリを保護することができません。このような場合でも、 DeployGate SDK を使うことでアプリの利用許可を制御することができます。
例えば次のようなコードを Activity#onCreate
に記述することで、認証されていないユーザーがアプリを起動できないようにすることができます。
Java
DeployGate.registerCallback(new DeployGateCallback() {
@Override
public void onInitialized(boolean isServiceAvailable) {
if (!isServiceAvailable) {
Toast.makeText(this, "DeployGate is not available", Toast.LENGTH_SHORT).show();
finish();
}
}
@Override
public void onStatusChanged(boolean isManaged, boolean isAuthorized, String loginUsername, boolean isStopped) {
if (!isAuthorized) {
Toast.makeText(this, "This device is not authorized to use this app", Toast.LENGTH_SHORT).show();
finish();
}
}
DeployGate SDKでは、他にも現在のユーザがアプリを利用する権利のあるユーザーかどうか、すなわち現在のユーザーの利用可能なアプリ一覧にこのアプリが入っているかを確認するためのいくつかの関数を提供しています。
DeployGate.isDeployGateAvailable(); // DeployGateがインストールされているとtrue
DeployGate.isAuthorized(); // このアプリが現在のユーザーで利用可能なものであればtrue
DeployGate.getLoginUsername(); // 現在のログインユーザー名
DeployGate.getAuthorUsername(); // アプリの提供者のユーザー名
詳細はJavaDocやGitHub - DeployGate/deploygate-android-sdkをご覧ください。