Ipify allows you to get current public IP address when connected to internet in real-time
Use Gradle:
Step 1: Add it in your root build.gradle
at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Note: In New Android studio updates, now allProjects
block has been removed from root build.gradle
file. So you must add this repository to your root settings.gradle
as below:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2: Add the dependency in your module's (e.g. app or any other) build.gradle
file:
dependencies {
...
implementation 'com.github.chintan369:Ipify-Android:<latest-version>'
}
Initialize Ipify in your application class of Android app's onCreate()
method
public class MyApplication : Application() {
...
override fun onCreate() {
super.onCreate();
Ipfy.init(this) // this is a context of application
//or you can also pass IpfyClass type to get either IPv4 address only or universal address IPv4/v6 as
Ipfy.init(this,IpfyClass.IPv4) //to get only IPv4 address
//and
Ipfy.init(this,IpfyClass.UniversalIP) //to get Universal address in IPv4/v6
}
...
}
Observe IP address at anywhere in your application. This function will provide you an observer to observe the IP address while changing the network connection from mobile data to Wi-Fi or any other Wi-Fi.
Ipfy.getInstance().getPublicIpObserver().observe(this, { ipData ->
ipData.currentIpAddress // this is a value which is your current public IP address, null if no/lost internet connection
ipData.lastStoredIpAddress // this is a previous IP address while network lost/reconnected and current IP address assigned to null/new one
})
This is how you can get a public IP address without doing any more code! 😄
Feel free to post any issue if you found on this library 😄 !
If you ❤️ this library and my hard work, you can buy me a coffee at link here ☕