本文へスキップ
Unveilydocs

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 の自動スキャンは「位置を収集する可能性あり」と判定します。これがデータセーフティ申告(「収集しない」)と食い違うと、データセーフティの申告に不備としてアプリが拒否されることがあります。(対処は申告を「収集する」に合わせることではなく、使わない権限を外すことです。)

デフォルトで有効な権限: INTERNETPOST_NOTIFICATIONSVIBRATE

コメントアウトされており、必要に応じて解除する権限:

ブリッジ機能必要な権限
QR スキャン・カメラ/ギャラリーCAMERA
音声認識(STT)・マイクRECORD_AUDIO, MODIFY_AUDIO_SETTINGS
位置情報(location)ACCESS_FINE_LOCATIONACCESS_COARSE_LOCATION
生体認証(biometric)USE_BIOMETRICUSE_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:bundleProRelease

Google Play App Signing を使用する場合: Google がアプリを再署名するため、アップロードキーストアの SHA-256 ではなく Google 再署名証明書の SHA-256 をダッシュボードに登録してください。Play Console → アプリ → アプリの整合性 → アプリ署名証明書の SHA-256 フィンガープリント

次の旅へ

On this page