モバイルアプリ環境のセットアップ
このパートでは、KotlinとJetpack Composeを使ってモダンなAndroidアプリを作成します。バックエンドはVonage Verifyと通信する。
アプリの流れの概要
アプリはこの流れに従う:
- ユーザーは電話番号を入力する。
- アプリは電話番号をバックエンド(
POST /verification). - Silent Authenticationが成功すると、ユーザが検証される。
- 失敗した場合(または利用できない場合)、ユーザーはSMSコードの入力を求められる。
- アプリはコードをバックエンド(
POST /check-code). - アプリは検証結果を表示する。
覚えておく:AndroidアプリはVonageの秘密を保存しません。バックエンドを呼び出すだけです。
Androidプロジェクトの作成
Android Studioを開く。
クリック 新規プロジェクト → 空の作曲アクティビティ.
これらの設定を使用する:
- 名前
Verify2FADemo - 言語: コトリン
- 最小SDK: API 24 (Android 7.0)
- 名前
クリック 終了 を実行し、Gradleの同期が完了するのを待つ。
Androidの依存関係を設定する
オープン app/build.gradle.kts そして以下の依存関係を追加(または更新)する。
dependencies {
// Jetpack Compose (UI)
implementation("androidx.activity:activity-compose:1.12.3")
implementation(platform("androidx.compose:compose-bom:2026.01.01"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.material3:material3")
// Networking + JSON parsing
implementation("com.squareup.okhttp3:okhttp:5.3.2")
implementation("com.google.code.gson:gson:2.13.2")
// Coroutines (we'll use these for background networking)
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
}
これは、初めてモバイルに接する読者のために明記しておく価値がある:
ライブラリを構成する:XMLレイアウトの代わりにKotlin関数でUIを構築する(定型文が少なく、チュートリアルでフォローしやすい)。
OkHttp:バックエンドと通信するための信頼できるHTTPクライアント。(Androidはデフォルトでは "素敵な "モダンなHTTPクライアントを出荷していません)。
グソン:Kotlin/Javaオブジェクト↔JSONを変換するので、あらゆる場所で手作業でJSON文字列を構築する必要がありません。
コルーチン:Androidアプリはメインスレッドをブロックしてはならない。コルーチンを使えば、バックグラウンドでネットワーキングを行い、安全にUIを更新できる。
ファイルを編集したら 今すぐ同期.
インターネット許可とローカルネットワーク
で AndroidManifest.xmlこれを <manifest> タグを付けている:
これがないと、Androidは単にすべての発信ネットワークコールをブロックしてしまう。
プレーンな http://... (HTTPSではない)場合、ターゲットSDK/ネットワークのセキュリティ設定によっては、Androidがブロックする可能性があります。
ローカルの開発では、これを <application> タグを付けている:
バックエンドの設定を local.properties
Kotlinファイルに直接URLをハードコードすることは、壊れやすく安全ではない。
代わりに、バックエンドのURLを local.propertiesである:
- gitにコミットされていない
- 特定の環境
- ローカル設定用に設計
開く(または作成する) local.properties をAndroidプロジェクトのルートに追加する:
次に、この値をAndroidアプリで利用できるようにする。 BuildConfig.
で app/build.gradle.ktsと付け加えた:
android {
defaultConfig {
buildConfigField(
"String",
"BACKEND_URL",
"\"${project.findProperty("BACKEND_URL")}\""
)
}
}
そして再度Gradleを同期する。これで生成されます:
BuildConfig.BACKEND_URL
Kotlinのコードで安全に使用できる。
サイレント認証を始める
サイレント認証を理解するにはかなりの時間がかかる。このチュートリアルでは、NodejsとKotlinを使って統合をゼロから構築する方法を紹介する。