メインコンテンツまでスキップ

Android SDK v3 から v4 への移行

移行ガイド

v4 SDKでは、パフォーマンス、メモリ管理を大幅に改善し、開発ワークフローを簡素化しました。最も注目すべき変更は、デバッグモードから開発モードへの置き換えです。これにより、レポートとテストに対してより安全で効率的なアプローチが提供されます。v3を使用していてアップグレードを希望する場合は、以下の手順に従ってv4に移行してください。

v4の主な変更点

パフォーマンスと安定性

  • メモリ使用量の削減とメモリクリーンアップの改善(メモリリークを排除)
  • WebView翻訳の改善 - コンテンツの翻訳が確認されるまでWebViewを非表示にすることでちらつきを修正
  • 自動翻訳の対象範囲拡大とバグ修正

新機能

  • 開発モードがデバッグモードに置き換わり、セキュリティが向上
  • 改善されたレポート機能 - 安全なクライアントベースの検証
  • 開発モードでの検出済み未翻訳テキストに対する**「!」マーカー**
  • モダンなAndroid UI開発のための公式Jetpack Composeサポート

移行手順

1. Wovn.start()からisDebugModeパラメータを削除

v4での最大の変更点は、初期化メソッドからisDebugModeパラメータが削除されたことです。開発モードは、クライアント検証に基づいてサーバーが自動的に判定するようになりました。

v3では、isDebugModeパラメータを渡す必要がありました:

public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// v3: デバッグモードをパラメータとして渡す
this.registerActivityLifecycleCallbacks(
new WovnActivityLifecycleCallbacks(BuildConfig.DEBUG)
);
}
}

v4では、デバッグパラメータなしでWovn.start()を呼び出すだけです:

public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// v4: デバッグモードパラメータは不要
this.registerActivityLifecycleCallbacks(
new WovnActivityLifecycleCallbacks()
);
}
}

または、Wovn.start()を直接呼び出す場合:

// v3
Wovn.start(context, true); // isDebugMode = true

// v4
Wovn.start(context); // 開発モードは自動的に判定

2. WOVNダッシュボードでクライアントIDを設定(開発モード用)

プログラムでデバッグモードを有効にする代わりに、v4では開発モードを使用します。これはWOVNダッシュボードで設定されたクライアントIDホワイトリストに基づいて有効化されます。

開発モードを有効にする手順:

  1. WOVNダッシュボードでプロジェクトのアプリ設定に移動
  2. セキュリティセクションに移動
  3. デバイスのクライアントIDをホワイトリストに追加
  4. 設定を保存

クライアントIDの確認方法:

デバイスのクライアントIDはプログラムで取得できます:

String clientID = Wovn.getClientID();
Log.d("WOVN", "Client ID: " + clientID);

開発モードが有効になると、アプリ起動時に以下を表示するトーストメッセージが表示されます:

  • レポートステータス(オン/オフ)
  • クライアントID

これにより、認可されたデバイスのみがWOVNにレポートを送信でき、本番アプリのセキュリティが向上します。

3. WOVN設定画面のデバッグモードトグルを削除(オプション)

以前、デバッグモードトグル付きのWOVN設定画面を実装していた場合(旧debug_mode.mdドキュメントの方法2)、v4ではこれは不要になりました。開発モードは完全にWOVNダッシュボードで管理されます。

安全に削除できるもの:

  • WOVN設定画面のデバッグモードトグル
  • 設定画面経由でプログラムでデバッグモードを設定するコード

4. 開発モードのテスト

移行後:

  1. テストデバイスでアプリを起動
  2. logcat出力でクライアントIDを確認:
    WOVN: ClientID: <your-client-id>
  3. このクライアントIDをWOVNダッシュボードの開発モードホワイトリストに追加
  4. アプリを再起動
  5. 開発モードがアクティブであることを確認するトーストメッセージを確認
  6. 未翻訳テキストの横に「!」マーカーが表示されることを確認(該当する場合)

開発モードのメリット

v4の新しい開発モードは、旧デバッグモードに比べていくつかの利点があります:

  1. セキュリティの強化:レポートの有効/無効化のためにコードを変更したりアプリを再ビルドする必要がありません。ダッシュボードでホワイトリストを管理するだけです。

  2. ワークフローの簡素化:条件付きコンパイルやビルドバリアント設定が不要になりました。開発モードはサーバー検証に基づいて実行時に判定されます。

  3. 視認性の向上:トーストメッセージと「!」マーカーにより、どのコンテンツがレポートされ、何が未翻訳のままかを簡単に識別できます。

  4. リスクの軽減:本番ビルドで誤ってデバッグ/レポート機能を有効にすることはできません。クライアントIDホワイトリストによりサーバー側で制御されるためです。

破壊的変更のまとめ

削除されたAPI

  • Wovn.start(Context, boolean isDebugMode) - 代わりにWovn.start(Context)を使用
  • WovnActivityLifecycleCallbacks(boolean isDebugMode) - 代わりにWovnActivityLifecycleCallbacks()を使用

動作の変更

  • 開発モードは、プログラムで設定するのではなく、クライアントID検証に基づいてサーバー側で判定されるようになりました
  • WebView翻訳は、翻訳が確認されるまでWebViewを非表示にし、ちらつきを排除
  • メモリリークの排除によりメモリ管理が大幅に改善

お困りの場合

移行中に問題が発生した場合:

  1. クライアントIDがダッシュボードのホワイトリストに正しく追加されていることを確認
  2. logcat出力でエラーメッセージを確認
  3. Android SDK v4.0.0以降を使用していることを確認
  4. WOVNサポートにお問い合わせください

追加リソース