本文へスキップ
Unveilydocs

アプリ情報

アプリのバージョン、端末情報、現在のサブスクリプションプランにアクセスする

概要

App Bridge は現在のアプリ実行環境に関する情報(プラットフォーム・バージョン・ロケール・サブスクリプションプランなど)と端末識別子を提供します。サーバー側のログ収集・バージョン別の機能分岐・プランベースの UI 制御などに活用できます。Android と iOS で同じ JS API を使用します。

機能AndroidiOS
アプリ情報の取得(app.getInfo
端末 ID(getDeviceId
アプリバージョン(getAppVersion
セキュリティポリシー取得(app.getSecurityPolicy

app.getInfo

現在のアプリ実行環境に関するすべての情報を一度に取得する標準メソッドです。コールバック関数名(文字列)を渡すと、その window 関数が情報オブジェクトを引数として呼び出されます。現在のサブスクリプションプランと有効な機能を確認する正式(canonical)な方法です。

window.unveilyBridge.app.getInfo("onAppInfo");

function onAppInfo(info) {
  console.log(info.tier);        // "basic" | "standard" | "pro"
  console.log(info.platform);    // "android" | "ios"
  console.log(info.appVersion);  // "1.2.0"
  console.log(info.isOffline);   // boolean
}

情報オブジェクトのフィールド

フィールド説明
isAppbooleanSDK アプリ内で実行中かどうか(通常のブラウザでは false
platformstring"android" | "ios"
appVersionstringアプリのバージョン名(例: "1.2.0"
buildNumberstringビルド番号
packageNamestringAndroid のパッケージ名 / iOS の Bundle ID
localestring現在のロケール(例: "ko"
tierstringサブスクリプションプラン — "basic" | "standard" | "pro"
licenseTypestringライセンスの種類
isOfflinebooleanオフラインモードが有効かどうか
isTabletbooleanタブレット端末かどうか
orientationstring"portrait" | "landscape"

licenseKey は公開されません

セキュリティ上、ライセンスキー(licenseKey)はこのレスポンスに意図的に含まれません。クライアントコードからライセンスキーにアクセスすることはできません。プランに応じて UI を分岐するには tier フィールドを使用してください。

コールバック名を省略すると、デフォルトの onAppInfo が使用されます。つまり window.unveilyBridge.app.getInfo() を呼び出し、window.onAppInfo 関数を定義してもかまいません。

例 — プランに応じた機能分岐

window.unveilyBridge.app.getInfo("onAppInfo");

function onAppInfo(info) {
  if (info.tier === "pro") {
    enableInAppPurchase();
  } else {
    showUpgradePrompt();
  }
}

getDeviceId

アプリのインストール単位の固有識別子を同期的に返します。

const id = window.unveilyBridge.getDeviceId();
console.log("端末 ID:", id);

getDeviceId() が返す値はアプリのインストール単位の固有識別子です。広告 ID(GAID/IDFA)とは異なり、ユーザーを個人識別する情報ではありません。


getAppVersion

現在インストールされているアプリのバージョン文字列を同期的に返します。

const version = window.unveilyBridge.getAppVersion();
console.log("アプリバージョン:", version);  // 例: "1.2.0"

ビルド番号も必要な場合は、app.getInfobuildNumber フィールドを使用してください。


その他の app ネームスペース

app.isTablet

タブレット端末かどうかを同期的に返します。レイアウトの分岐に使用します。

const isTablet = window.unveilyBridge.app.isTablet();  // boolean

app.orientation

現在の画面の向きを同期的に返します。

const orientation = window.unveilyBridge.app.orientation();  // "portrait" | "landscape"

app.setLocale

メニューラベルなど SDK が管理するロケールを上書きします。アプリでユーザーが言語を変更したときに呼び出してください。

window.unveilyBridge.app.setLocale("ko");  // "ko" | "en" | "ja" | BCP-47
window.unveilyBridge.app.setLocale("");    // 端末のロケールにリセット

app.openExternalUrl

http(s) の URL を端末の既定のブラウザで開きます。WebView 内ではなく外部ブラウザに遷移します。http/https 以外のスキームは無視されます。

window.unveilyBridge.app.openExternalUrl("https://example.com");

// 最上位のエイリアスも同じように動作します
window.unveilyBridge.openExternalUrl("https://example.com");

app.openSettings

アプリのシステム設定画面を開きます。ユーザーに権限(位置情報・カメラなど)を自分で変更してもらうよう案内するときに使用します。

window.unveilyBridge.app.openSettings();

app.getSecurityPolicy

現在適用されているセキュリティポリシーを取得します(読み取り専用)。コールバック関数名(文字列)を渡すと、ポリシーオブジェクトを引数として受け取ります。

window.unveilyBridge.app.getSecurityPolicy("onSecurityPolicyLoaded");

function onSecurityPolicyLoaded(policy) {
  console.log(policy.screenshotProtection);  // スクリーンショット防止
  console.log(policy.backgroundProtection);  // バックグラウンド画面保護
  console.log(policy.rootDetection);         // ルート化 / 脱獄の検出
}
フィールド説明
screenshotProtectionスクリーンショット / 画面録画の防止が有効かどうか
backgroundProtectionアプリスイッチャーで画面内容を隠す機能が有効かどうか
rootDetectionルート化(Android)/ 脱獄(iOS)の検出が有効かどうか

コールバック名を省略すると、デフォルトの onSecurityPolicyLoaded が使用されます。

On this page