ShadowrocketのOn Demandは接続を自動で開始するタイミングを決める機能で、省電力にするスイッチではありません。バックグラウンドで電池が減る場合は、データ通信の継続、再接続の繰り返し、通常の待機を切り分けてからネットワーク条件を見直しましょう。自分で用意した接続情報を使っているiPhone・iPadユーザー向けに、まず基準値を記録し、Wi-Fiまたはモバイル通信の条件を設定したうえで、同じ時間の比較テストで設定を確認する方法を紹介します。
まず確認:バックグラウンドで動作していても、異常な電池消費とは限らない
システムの「設定」→「バッテリー」に表示されるアプリごとの使用割合は、選択した期間の電池消費を相対的に示すもので、このアプリが電池を何パーセント消費したかを表すものではありません。他のアプリの使用が減れば、端末全体の消費量が増えていなくてもShadowrocketの割合が高くなることがあります。まず端末全体のバッテリー残量の推移、画面の使用状況、該当する時間帯を確認し、設定変更が必要か判断してください。
接続が確立すると、アプリのメイン画面を表示していない間もネットワーク拡張機能がリクエストを処理することがあります。バックグラウンド同期、メッセージの取得、写真の転送、接続の維持などが動作の原因になります。アプリを最近使用した項目から終了しても、トンネルが停止した証拠にはなりません。Homeの接続状態とシステムのVPN状態を確認してください。
電池の減りが主にモバイル通信の電波が弱い場所、ネットワークの頻繁な切り替わり、大量のアップロード中に発生するなら、まずこれらの条件を見直してください。電波状況や実際の通信量は、接続スイッチの状態よりも結果に大きく影響することがあります。1回の使用割合のスクリーンショットだけで、消費のすべてをOn Demandのせいにしないでください。
違いを理解する:接続するタイミングと通信の経路は別々に設定
On Demandはシステムのオンデマンド接続機能を使い、設定された条件に基づいて接続を開始するか判断します。条件を満たし続ければ接続が維持されることがあり、リクエストのたびに接続が終了するわけでも、画面ロック後に自動停止するわけでもありません。「現在のネットワークでは常に接続する」に相当するルールなら、実際の動作は常時接続に近くなる場合があります。
Global Routingは、接続中の通信をどの経路に流すかを設定します。Proxyは対象の通信にプロキシを使い、Directは直接接続し、Configは現在の設定にあるルールに従って処理します。Sceneは用途に応じたポリシーの選択に使います。DirectにしてもVPNは切断されず、Configを選んでもOn Demandが有効になるわけではありません。この2つの設定は互いに置き換えられません。
手動接続を基準にする
おすすめ原因を調べる間はOn Demandをオフにし、Homeのスイッチで接続を操作します。Global Routingと設定はそのままにして、同じネットワークで待機時の動作を確認すると、自動再接続による影響を減らせます。
おすすめ:電池消費の原因を初めて調べるとき、接続が繰り返し復帰していないか確認するとき
常時接続
必要な時間帯は接続を維持し、一時的な接続開始による待ち時間を減らせます。一方、接続の維持やバックグラウンド通信が発生する可能性があります。実際の電池消費は通信量、プロトコルの動作、ネットワークの安定性によって異なります。
おすすめ:継続的な作業、接続が必要なバックグラウンドタスク
条件に応じて接続
On Demandで自動接続するネットワーク条件を限定します。条件を絞ると不要な接続時間を減らせる場合がありますが、ネットワークの頻繁な切り替わりで再接続が増えることもあるため、実機で確認してください。
おすすめ:ネットワークの利用パターンが明確で、条件ルールを管理できる場合
手順:元に戻せる比較テストの基準を用意する
この手順ではサーバーやプロトコルの変更、すべての設定のリセットは必要ありません。まず現在の状態を記録し、1回のテストで変更する項目は1つにしてください。複数を同時に変えると、電池の持ちが改善しても、どの変更が有効だったのか判断できません。On Demandで選べる条件や編集項目は現在の画面で確認してください。設定ファイルのルールを、この画面の接続スイッチと混同しないようにしましょう。
-
現在の設定を記録
Homeで選択中のサーバーとGlobal Routingを、Configで使用中の設定を記録します。元の設定は控えておき、テスト中は設定の更新やプロトコルの変更をしないでください。
-
On Demandをオフにする
Settings → On Demandを開いてオンデマンド接続をオフにし、Homeに戻って手動で接続を切ります。しばらく待って接続がオフのままか確認し、以前のシステム自動接続設定が引き続き有効になっていないか調べてください。
-
基準値を測定
安定したWi-Fiを選び、大容量ファイルの転送を一時停止して、開始時のバッテリー残量、時刻、電波状況を記録します。まず手動接続中の待機状態を測定し、次にタスクを中断しても問題のない時間帯に接続を切った状態を測ります。
-
接続条件を追加
Settings → On Demandに戻り、現在の編集画面で選べるネットワーク条件を使って自動接続を設定します。まずネットワーク条件を1つだけテストし、複数のWi-Fi例外とドメイン条件を同時に追加しないでください。
-
切り替えを確認
画面ロック後の復帰、Wi-Fiからモバイル通信への切り替え、元のWi-Fiへの再接続をそれぞれテストします。その都度Homeの状態を確認し、同じ用途のリクエストで接続できるか試してください。異常があれば、記録しておいた基準の設定に戻します。
条件の選び方:Wi-Fi、モバイル通信、ドメイン
Wi-Fi:実際の用途に合わせて接続を決める
特定のWi-Fi環境で行うタスクに接続が不要なら、現在の画面で設定できる条件を使って、そのネットワークを自動接続の対象外にできる場合があります。バックグラウンドのタスクで同じリソースへのアクセスが必要なら、接続を維持するか手動で操作してください。Wi-Fi名は条件の照合に使う情報であり、ネットワークの安全性を証明するものでも、通信が必ず直接接続されることを保証するものでもありません。
モバイル通信:まず電波状況と切り替わりの回数を確認
移動中は、電波状況の変化、ネットワークの切り替え、接続の復帰が同時に起きることがあります。本当に必要なときだけ手動で接続する方法も、バックグラウンドの用途に合わせてモバイル通信での自動接続を維持する方法もあります。選択の基準は接続の使いやすさと維持にかかる負荷であり、常に一方が省電力とは限りません。テスト中にシステムのモバイルデータ設定も同時に変更しないでください。
ドメイン:接続の開始条件と通信の振り分けを区別
システムのオンデマンド機能では、ドメイン名の解決に関する条件が使われることがあります。Shadowrocketで該当条件を直接編集できるかどうかは、Settings → On Demandに実際に表示される項目で確認してください。名前解決の条件は「特定のAppを開くと接続する」という意味ではありません。DNSキャッシュ、すでに確立された接続、IPアドレスへの直接アクセスなどによって、想定と異なる結果になることがあります。現在の画面にドメイン条件の編集項目がない場合は、Configのルールで代用しないでください。
- 接続の開始条件:On Demandの条件とシステムの判定によって決まり、「いつ接続を確立するか」に関わります。
- ルールによる振り分け:Global RoutingでConfigを選んだ後、設定内のルールに従って対象の通信を処理します。
- 構文の例:
DOMAIN-SUFFIX,example.com,PROXYは、このドメインのサフィックスにPROXYを使うという意味です。このルールだけでシステムのオンデマンド接続が有効になるわけではありません。 - フォールバックルール:
FINAL,DIRECTは、それ以前のルールに一致しない場合の処理方法です。「アイドル状態になったら切断する」指示ではありません。
ドメイン条件を使う前に、必要なのが自動接続の開始なのか、ドメインごとの通信振り分けなのかを確認してください。プロキシ経由のリクエストを減らしたい場合は、Configのルールが一致しているか確認します。特定のネットワークで接続を確立しないようにしたい場合は、On Demandを調整します。この2つを混同すると、「ルールを変更したのにVPNは接続されたまま」という誤解につながります。
比較テストの記録:試験計画を省電力の結論にしない
以下は実施可能な記録方法であり、事前に測定した電池消費のデータではありません。各テストは60分を目安にし、可能であれば2回繰り返してください。バッテリー残量表示には丸め誤差があり、温度、電波状況、バックグラウンドタスクも変化します。1回のテストで差が1パーセントポイントだけなら、どちらの設定が安定して省電力か判断するには不十分です。
| テスト条件 | 固定する条件 | 記録する内容 |
|---|---|---|
| 手動接続で待機 | On Demandオフ、同じWi-Fi、Homeの接続オン | 開始時と終了時の電池残量、画面の使用状況、通信が継続しているか |
| 手動切断で待機 | On Demandオフ、同じWi-Fi、Homeの接続オフ | 開始時と終了時の電池残量、タスクが中断したか、自動で接続が復帰したか |
| On Demandで接続して待機 | ネットワーク条件を1つだけ有効にし、その他の設定は最初のテストと同じにする | 開始時と終了時の電池残量、接続状態の変化、リクエスト時に待ち時間が発生するか |
| ネットワーク切り替えを確認 | 同じ用途のリクエストを維持し、Wi-Fiとモバイル通信を1往復切り替える | 切り替え時刻、接続が復帰するか、失敗が連続しないか |
「手動接続で待機」は安定しているのに「On Demandで接続して待機」で再接続が繰り返される場合は、まず条件の競合やネットワークの頻繁な変化を確認してください。どちらのテストでも通信が続く場合は、バックグラウンドタスクを特定します。モバイル通信だけで電池消費が明らかに増えるなら、まず電波が安定した場所で再テストしてから、ほかの設定を検討してください。無線通信の負荷をプロトコルの問題と取り違えないようにしましょう。
よくある質問:画面ロック、通知、バックグラウンド設定
画面をロックしてもVPNが表示されます。設定が反映されていないのでしょうか?
必ずしもそうとは限りません。画面ロック後もOn Demandの条件が満たされている可能性があります。Settings → On Demandで条件を確認し、Homeの接続状態と照らし合わせてください。VPNの表示は接続状態を判断する参考にはなりますが、リアルタイムの電池消費は分かりません。完全に切断してテストする場合は、先にOn Demandを無効にしてください。
Appのバックグラウンド更新をオフにすれば接続も停止しますか?
システムのAppのバックグラウンド更新とVPNネットワーク拡張機能は別の仕組みです。前者を切断操作の代わりにはできません。他の設定は変えず、まずOn DemandをオフにしてからHomeで切断し、システムのVPN状態も連動して変わるか確認してください。
オンデマンド接続を使うと通知が遅くなります。どう確認すればよいですか?
まず、通知を正常に受信できていた元の接続状態に戻し、症状が解消するか確認してください。次にWi-Fiとモバイル通信を分けてテストし、自動接続が確立する前だけ通知が遅れるか記録します。あわせて、システムの通知許可、集中モード、対象Appのバックグラウンド動作条件も確認してください。
Directに変更すると省電力になりますか?
Directにすると対象の通信経路は変わりますが、ネットワーク拡張機能が停止するわけではありません。切断後の待機状態をテストする場合は、先にOn DemandをオフにしてからHomeで接続を切ってください。Global RoutingのDirectを、切断状態のテストの代わりにしないでください。
設定後、毎日テストし直す必要はありますか?
必要ありません。条件が近い状態で2回測定した記録を残したら、普段は接続が安定しているかを確認するだけで十分です。ネットワーク環境を変えたとき、On Demandの条件を変更したとき、電池の異常な減りが続くときに、同じ手順で再テストしてください。1回のテストで変更する項目は1つにします。
実際の用途を満たし、ネットワークを切り替えた後の動作を予測できる設定を選びましょう。バックグラウンドの記録をゼロにすることが目的ではありません。Shadowrocketはクローズドソースの商用アプリで、主にiPhone・iPad向けに提供されています。入手先はApp Storeのみです。システム要件と購入できる地域はApp Storeの掲載情報を確認してください。アプリの購入と、ユーザーがすでに利用している接続サービスは別のものです。この記事では端末内の設定と確認方法のみを扱います。