私はFirebaseサーバにデータを送信するAndroidアプリケーションを作成しています。私が行うことができないのは、Firebaseサーバへの接続に使用されているパブリックIPアドレスを取得することです。ユーザーが3Gにいるとき、以下のコードは、ユーザーがモバイルデータで3Gに接続するたびに変更されるので、役に立たないプライベートIPを与えます。 したがって、Firebaseサーバにリクエストするために使用されているパブリックIPアドレスを取得したいとします。AndroidデバイスからFirebaseへの接続に使用されるIPアドレスを取得します。
私が間違っていない場合、以下のコードはプライベートIPアドレスを与えます。
WifiManager wifiMan = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
int ipAddress = wifiInf.getIpAddress();