Android 設定ガイド
Unveily Android SDK をプロジェクトに統合し、本番デプロイの準備をします。
ひと目でわかる
ダウンロードしたパッケージ(unveily-sdk-{plan}-vX.X.X.zip)を展開すると、Android Studio ですぐに開けるプロジェクト構成が入っています。
unveily-sdk-pro/
├── app/
│ ├── build.gradle.kts ← アプリ ID・ソーシャルキーの設定
│ ├── google-services.json ← Firebase 設定(要差し替え)
│ └── src/
│ ├── main/
│ │ ├── AndroidManifest.xml ← 権限(機能権限はコメントアウト済み)
│ │ ├── assets/
│ │ │ ├── config.json ← 機能の ON/OFF
│ │ │ └── config/
│ │ │ └── social_login_config.json
│ │ └── java/.../MainActivity.kt ← Web URL の設定
│ ├── debug/assets/license.key ← 開発用ライセンスキー(要差し替え)
│ └── release/assets/license.key ← 本番用ライセンスキー(要差し替え)
└── libs/
└── core_bridge_ip.aar ← SDK バイナリ(変更禁止)ミッション 1 — ライセンスキーの設置
ダッシュボード → ダウンロード からライセンスキーファイルをダウンロードし、以下のパスに配置します。SDK はビルドタイプに対応するソースセットの assets/license.key を読み込みます。
# 開発ビルド用(デバッグキー)
app/src/debug/assets/license.key
# リリースビルド用(本番キー)
app/src/release/assets/license.key初回起動時、SDK が自動的に AndroidKeyStore 暗号化ストレージへキーをマイグレーションします。以降はファイルを直接参照しません。
ミッション 2 — Firebase の設定
Firebase Console で Android アプリを登録し、google-services.json をダウンロードします。
app/google-services.json ← 差し替え| 機能 | Firebase の設定 |
|---|---|
| Google ログイン | Authentication → Google を有効化 |
| Apple ログイン | Authentication → Apple を有効化 + Apple Developer キーを入力 |
| プッシュ通知(FCM) | Cloud Messaging を有効化 |
ミッション 3 — アプリ ID と Web URL の設定
app/build.gradle.kts
defaultConfig {
applicationId = "com.yourcompany.yourapp" // ★ 変更する
// ...
}app/src/main/java/.../MainActivity.kt
private val TRUSTED_WEB_URL = "https://your.domain.com" // ★ 変更するTRUSTED_WEB_URL がプレースホルダー値(https://your.customer.web.url)のままだと、アプリ起動時に即座にエラーが発生します。
ディープリンクと PG コールバックスキームは build.gradle.kts で設定します。
buildConfigField("String", "DEEP_LINK_SCHEME", "\"yourapp\"")
buildConfigField("String", "PG_CALLBACK_SCHEME", "\"yourapp-pg\"")ミッション 4 — 機能の有効化(config.json)
app/src/main/assets/config.json で必要な機能をオン・オフします。
{
"splash": {
"mode": "builtin",
"backgroundColor": "#FFFFFF",
"darkBackgroundColor": "#000000",
"minDurationMs": 1500
},
"modules": {
"bottomTabs": { "enabled": true, "autoHide": false, "barHeightDp": 60 },
"bottomSheet": { "enabled": true },
"accessibility": { "enabled": false },
"topDownMenu": { "enabled": false },
"sideDrawer": { "enabled": false }
},
"security": {
"screenshotProtectionEnabled": true,
"backgroundProtectionEnabled": true,
"rootDetectionEnabled": true
}
}金融・医療・決済アプリは security の 3 項目をすべて true に設定してください。
スプラッシュの背景画像・レイヤーアニメーション設定は スプラッシュカスタマイズガイド を参照してください。
ミッション 5 — ソーシャルログインの設定
assets/config/social_login_config.json
使用するプロバイダーのキーのみ入力します。未設定のプロバイダーは SDK_NOT_CONFIGURED を返しますが、アプリは正常に動作します。
{
"kakao": { "nativeAppKey": "YOUR_KAKAO_KEY" },
"naver": { "clientId": "YOUR_ID", "clientSecret": "YOUR_SECRET" },
"line": { "channelId": "YOUR_CHANNEL_ID" },
"meta": { "appId": "YOUR_APP_ID", "clientToken": "YOUR_TOKEN" }
}Google / Apple は google-services.json + Firebase Console のみで設定します。
app/build.gradle.kts — Manifest Placeholders
Kakao と Meta は AndroidManifest で URL スキームを参照するため、build.gradle.kts に値を入力します。
manifestPlaceholders["kakaoScheme"] = "kakaoYOUR_KAKAO_KEY"
manifestPlaceholders["facebookLoginProtocolScheme"] = "fbYOUR_META_APP_ID"ミッション 6 — アプリ内課金の設定(Pro プラン)
Google Play Console で商品 ID を作成します。JS ブリッジで照会します。
window.unveilyBridge.iap.queryProducts(["your.product.id"], "inapp", "onProductsLoaded");サーバー検証の流れ(Model B): 購入が完了すると、SDK は purchaseToken を Web アプリに渡します。Web アプリはそのトークンを お客様(貴社)のバックエンド に送信し、貴社バックエンドが Unveily の検証 API を呼び出します。SDK や Unveily が検証エンドポイントを直接呼び出すことはありません — 検証を開始するのは常に貴社バックエンドです。
権限の設定(AndroidManifest)
AndroidManifest.xml には機能ごとの権限が コメントアウトされた状態 で含まれています。使用するブリッジ機能に対応する権限だけコメントを解除してください。使わない権限は必ずコメントアウトのままにしてください — 例えば位置権限を宣言だけして実際には位置を収集しなくても、Google Play の自動スキャンは「位置を収集する可能性あり」と判定します。これがデータセーフティ申告(「収集しない」)と食い違うと、データセーフティの申告に不備としてアプリが拒否されることがあります。(対処は申告を「収集する」に合わせることではなく、使わない権限を外すことです。)
デフォルトで有効な権限: INTERNET、POST_NOTIFICATIONS、VIBRATE。
コメントアウトされており、必要に応じて解除する権限:
| ブリッジ機能 | 必要な権限 |
|---|---|
| QR スキャン・カメラ/ギャラリー | CAMERA |
| 音声認識(STT)・マイク | RECORD_AUDIO, MODIFY_AUDIO_SETTINGS |
| 位置情報(location) | ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION |
| 生体認証(biometric) | USE_BIOMETRIC、USE_FINGERPRINT |
<!-- カメラ/QR を使う場合はコメント解除 -->
<!-- <uses-permission android:name="android.permission.CAMERA" /> -->
<!-- マイク/STT を使う場合はコメント解除 -->
<!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->
<!-- 位置情報を使う場合はコメント解除 -->
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> -->
<!-- 生体認証を使う場合はコメント解除 -->
<!-- <uses-permission android:name="android.permission.USE_BIOMETRIC" /> -->
<!-- <uses-permission android:name="android.permission.USE_FINGERPRINT" /> -->Android の最小サポートバージョンは API 24(Android 7.0) です。
完了前の確認
- [ ] applicationId → 自社パッケージ名に変更
- [ ] TRUSTED_WEB_URL → 本番ドメインに変更(HTTPS)
- [ ] license.key → ダッシュボードからダウンロードしたファイルに差し替え
- [ ] google-services.json → 本番用 Firebase プロジェクトファイルに差し替え
- [ ] config.json → 必要な機能の有効化を確認
- [ ] リリースビルドで署名: ./gradlew :app:bundleProReleaseGoogle Play App Signing を使用する場合: Google がアプリを再署名するため、アップロードキーストアの SHA-256 ではなく Google 再署名証明書の SHA-256 をダッシュボードに登録してください。Play Console → アプリ → アプリの整合性 → アプリ署名証明書の SHA-256 フィンガープリント