에어브릿지 이벤트 구성에 필요한 데이터를 안드로이드에서 수집합니다.
아래 내용을 참고해 주세요.
Airbridge의 기기 식별자 입니다. UUID 버전4 포멧의 형태로 전달됩니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
Airbridge.getDeviceInfo().getUUID(new AirbridgeCallback.SimpleCallback<String>() {
@Override
public void onSuccess(String result) {
}
@Override
public void onFailure(@NotNull Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
Airbridge.getDeviceInfo().getUUID(object : AirbridgeCallback.SimpleCallback<String>() {
override fun onSuccess(result: String) {
}
override fun onFailure(throwable: Throwable) {
}
})
Airbridge에서 기기별로 인스톨시에 부여하는 랜덤한 UUID 입니다. UUID 버전4 포멧의 형태로 전달됩니다.
import co.ab180.airbridge.Airbridge;
Airbridge.fetchAirbridgeGeneratedUUID((uuid) -> {
});
import co.ab180.airbridge.Airbridge
Airbridge.fetchAirbridgeGeneratedUUID { uuid ->
}
퍼블리셔가 특정 사용자가 어떤 앱을 설치했는지 파악하는 데 사용할 수 있는 고유 ID입니다. UUID 버전4 포멧의 형태로 전달됩니다.
import android.content.Context;
import com.google.android.gms.appset.AppSet;
import com.google.android.gms.appset.AppSetIdClient;
import com.google.android.gms.appset.AppSetIdInfo;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
Context context = getApplicationContext();
AppSetIdClient client = AppSet.getClient(context);
Task<AppSetIdInfo> task = client.getAppSetIdInfo();
task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() {
@Override
public void onSuccess(AppSetIdInfo info) {
int appSetIdScope = info.getScope();
String appSetId = info.getId();
}
});
import com.google.android.gms.appset.AppSet
import com.google.android.gms.appset.AppSetIdClient
import com.google.android.gms.appset.AppSetIdInfo
import com.google.android.gms.tasks.Task
val client = AppSet.getClient(applicationContext) as AppSetIdClient
val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo>
task.addOnSuccessListener({
val appSetIdScope: Int = it.scope
val appSetId: String = it.id
})
구글에서 발급하는 Advertising ID 입니다. UUID 버전4 포멧의 형태로 전달됩니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.AdvertisingIdInfo;
Airbridge.getDeviceInfo().getGoogleAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
@Override
public void onSuccess(AdvertisingIdInfo result) {
result.getId(); // GAID
result.getLimitAdTrackingEnabled(); // LAT
}
@Override
public void onFailure(@NotNull Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.AdvertisingIdInfo
Airbridge.getDeviceInfo().getAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
override fun onSuccess(result: AdvertisingIdInfo) {
result.getId() // GAID
result.getLimitAdTrackingEnabled() // LAT
}
override fun onFailure(throwable: Throwable) {
}
})
기기의 Google Limit AD Tracking 정보 입니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.AdvertisingIdInfo;
Airbridge.getDeviceInfo().getGoogleAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
@Override
public void onSuccess(AdvertisingIdInfo result) {
result.getId(); // GAID
result.getLimitAdTrackingEnabled(); // LAT
}
@Override
public void onFailure(@NotNull Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.AdvertisingIdInfo
Airbridge.getDeviceInfo().getAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
override fun onSuccess(result: AdvertisingIdInfo) {
result.getId() // GAID
result.getLimitAdTrackingEnabled() // LAT
}
override fun onFailure(throwable: Throwable) {
}
})
Google Play Service에서 전달되어지는 Install Referrer 정보입니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.ReferrerDetails;
Airbridge.getDeviceInfo().getGoogleInstallReferrerDetails(new AirbridgeCallback.SimpleCallback<ReferrerDetails>() {
@Override
public void onSuccess(ReferrerDetails details) {
}
@Override
public void onFailure(Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.ReferrerDetails
Airbridge.getDeviceInfo().getGoogleInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> {
override fun onSuccess(result: ReferrerDetails?) {
}
override fun onFailure(throwable: Throwable) {
}
override fun onComplete() {
}
})
화웨이에서 발급하는 Advertising ID 입니다. UUID 버전4 포멧의 형태로 전달됩니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.AdvertisingIdInfo;
Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
@Override
public void onSuccess(AdvertisingIdInfo result) {
result.getId(); // OAID
result.getLimitAdTrackingEnabled(); // LAT
}
@Override
public void onFailure(@NotNull Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.AdvertisingIdInfo
Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
override fun onSuccess(result: AdvertisingIdInfo) {
result.getId() // OAID
result.getLimitAdTrackingEnabled() // LAT
}
override fun onFailure(throwable: Throwable) {
}
})
기기의 Huawei Limit AD Tracking 정보 입니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.AdvertisingIdInfo;
Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
@Override
public void onSuccess(AdvertisingIdInfo result) {
result.getId(); // OAID
result.getLimitAdTrackingEnabled(); // LAT
}
@Override
public void onFailure(@NotNull Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.AdvertisingIdInfo
Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() {
override fun onSuccess(result: AdvertisingIdInfo) {
result.getId() // OAID
result.getLimitAdTrackingEnabled() // LAT
}
override fun onFailure(throwable: Throwable) {
}
})
Huawei Mobile Service(HMS Core) 에서 전달되어지는 Install Referrer 정보입니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.ReferrerDetails;
Airbridge.getDeviceInfo().getHuaweiInstallReferrerDetails(new AirbridgeCallback.SimpleCallback<ReferrerDetails>() {
@Override
public void onSuccess(ReferrerDetails details) {
}
@Override
public void onFailure(Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.ReferrerDetails
Airbridge.getDeviceInfo().getHuaweiInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> {
override fun onSuccess(result: ReferrerDetails?) {
}
override fun onFailure(throwable: Throwable) {
}
override fun onComplete() {
}
})
One Store 에서 전달되어지는 Install Referrer 정보입니다.
import co.ab180.airbridge.Airbridge;
import co.ab180.airbridge.AirbridgeCallback;
import co.ab180.airbridge.ReferrerDetails;
Airbridge.getDeviceInfo().getOneStoreInstallReferrerDetails(new AirbridgeCallback.SimpleCallback<ReferrerDetails>() {
@Override
public void onSuccess(ReferrerDetails details) {
}
@Override
public void onFailure(Throwable throwable) {
}
});
import co.ab180.airbridge.Airbridge
import co.ab180.airbridge.AirbridgeCallback
import co.ab180.airbridge.ReferrerDetails
Airbridge.getDeviceInfo().getOneStoreInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> {
override fun onSuccess(result: ReferrerDetails?) {
}
override fun onFailure(throwable: Throwable) {
}
override fun onComplete() {
}
})
기기의 모델 이름 입니다.
import android.os.Build;
Build.MODEL; // ex : Pixel 3a
import android.os.Build
Build.MODEL // ex : Pixel 3a
기기의 제조사 정보 입니다.
import android.os.Build;
Build.MANUFACTURER; // ex : Google
import android.os.Build
Build.MANUFACTURER // ex : Google
기기의 OS 버전입니다.
import android.os.Build;
Build.VERSION.RELEASE; // ex : 10
import android.os.Build
Build.VERSION.RELEASE // ex : 10
기기의 Locale 설정 값 입니다.
import java.util.*;
// ex : en-US
String.format("%s-%s", Locale.getDefault().getLanguage(), Locale.getDefault().getCountry());
import java.util.*
// ex : en-US
"${Locale.getDefault().language}-${Locale.getDefault().country}"
기기의 Timezone 설정 값 입니다.
import java.util.*;
TimeZone.getDefault().getId(); // ex : Asia/Seoul
import java.util.*
TimeZone.getDefault().id // ex : Asia/Seoul
기기의 화면 방향 값 입니다. "portrait" 혹은 "landscape" 둘 중 하나의 값 입니다.
import android.content.Context;
import android.content.res.Configuration;
String orientation;
if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
orientation = "portrait";
} else {
orientation = "landscape";
}
import android.content.res.Configuration
import android.content.Context
var orientation: String
if (context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
orientation = "portrait"
} else {
orientation = "landscape"
}
기기의 실제 화면 Density 값 입니다.
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import android.content.Context;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics);
int width = realDisplayMetrics.widthPixels;
int height = realDisplayMetrics.heightPixels;
int dpi = realDisplayMetrics.densityDpi;
} else {
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
try {
int width = (int) Display.class
.getMethod("getRawWidth")
.invoke(windowManager.getDefaultDisplay());
int height = (int) Display.class
.getMethod("getRawHeight")
.invoke(windowManager.getDefaultDisplay());
int dpi = displayMetrics.densityDpi;
} catch (Exception e) { }
}
import android.util.DisplayMetrics
import android.view.Display
import android.view.WindowManager
import android.content.Context
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
val realDisplayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics)
val width = realDisplayMetrics.widthPixels
val height = realDisplayMetrics.heightPixels
val dpi = realDisplayMetrics.densityDpi
} else {
val displayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(displayMetrics)
try {
val width = Display::class.java
.getMethod("getRawWidth")
.invoke(windowManager.defaultDisplay) as Int
val height = Display::class.java
.getMethod("getRawHeight")
.invoke(windowManager.defaultDisplay) as Int
val dpi = displayMetrics.densityDpi
} catch (_: Exception) { }
}
기기의 실제 화면 너비 값 입니다.
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import android.content.Context;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics);
int width = realDisplayMetrics.widthPixels;
int height = realDisplayMetrics.heightPixels;
int dpi = realDisplayMetrics.densityDpi;
} else {
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
try {
int width = (int) Display.class
.getMethod("getRawWidth")
.invoke(windowManager.getDefaultDisplay());
int height = (int) Display.class
.getMethod("getRawHeight")
.invoke(windowManager.getDefaultDisplay());
int dpi = displayMetrics.densityDpi;
} catch (Exception e) { }
}
import android.util.DisplayMetrics
import android.view.Display
import android.view.WindowManager
import android.content.Context
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
val realDisplayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics)
val width = realDisplayMetrics.widthPixels
val height = realDisplayMetrics.heightPixels
val dpi = realDisplayMetrics.densityDpi
} else {
val displayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(displayMetrics)
try {
val width = Display::class.java
.getMethod("getRawWidth")
.invoke(windowManager.defaultDisplay) as Int
val height = Display::class.java
.getMethod("getRawHeight")
.invoke(windowManager.defaultDisplay) as Int
val dpi = displayMetrics.densityDpi
} catch (_: Exception) { }
}
기기의 실제 화면 높이 값 입니다.
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import android.content.Context;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics);
int width = realDisplayMetrics.widthPixels;
int height = realDisplayMetrics.heightPixels;
int dpi = realDisplayMetrics.densityDpi;
} else {
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
try {
int width = (int) Display.class
.getMethod("getRawWidth")
.invoke(windowManager.getDefaultDisplay());
int height = (int) Display.class
.getMethod("getRawHeight")
.invoke(windowManager.getDefaultDisplay());
int dpi = displayMetrics.densityDpi;
} catch (Exception e) { }
}
import android.util.DisplayMetrics
import android.view.Display
import android.view.WindowManager
import android.content.Context
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
val realDisplayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics)
val width = realDisplayMetrics.widthPixels
val height = realDisplayMetrics.heightPixels
val dpi = realDisplayMetrics.densityDpi
} else {
val displayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(displayMetrics)
try {
val width = Display::class.java
.getMethod("getRawWidth")
.invoke(windowManager.defaultDisplay) as Int
val height = Display::class.java
.getMethod("getRawHeight")
.invoke(windowManager.defaultDisplay) as Int
val dpi = displayMetrics.densityDpi
} catch (_: Exception) { }
}
현재 기기의 LastKnownLocation의 경도 값 입니다.
import android.location.Location;
import android.location.LocationManager;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Location bestLocation = null;
if ((gpsLocation != null) && (netLocation != null)) {
if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
} else if (gpsLocation != null) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
if (bestLocation != null) {
double latitude = bestLocation.getLatitude();
double longitude = bestLocation.getLongitude();
double altitude = bestLocation.getAltitude();
float speed = bestLocation.getSpeed();
}
import android.location.Location
import android.location.LocationManager
val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
val gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
val bestLocation: Location = when {
(gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation }
(gpsLocation != null) -> gpsLocation
else -> netLocation
} ?: return null
val latitude = bestLocation?.latitude
val longitude = bestLocation?.longitude
val altitude = bestLocation?.altitude
val speed = bestLocation?.speed
현재 기기의 LastKnownLocation의 위도 값 입니다.
import android.location.Location;
import android.location.LocationManager;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Location bestLocation = null;
if ((gpsLocation != null) && (netLocation != null)) {
if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
} else if (gpsLocation != null) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
if (bestLocation != null) {
double latitude = bestLocation.getLatitude();
double longitude = bestLocation.getLongitude();
double altitude = bestLocation.getAltitude();
float speed = bestLocation.getSpeed();
}
import android.location.Location
import android.location.LocationManager
val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
val gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
val bestLocation: Location = when {
(gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation }
(gpsLocation != null) -> gpsLocation
else -> netLocation
} ?: return null
val latitude = bestLocation?.latitude
val longitude = bestLocation?.longitude
val altitude = bestLocation?.altitude
val speed = bestLocation?.speed
현재 기기의 LastKnownLocation의 고도 값 입니다.
import android.location.Location;
import android.location.LocationManager;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Location bestLocation = null;
if ((gpsLocation != null) && (netLocation != null)) {
if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
} else if (gpsLocation != null) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
if (bestLocation != null) {
double latitude = bestLocation.getLatitude();
double longitude = bestLocation.getLongitude();
double altitude = bestLocation.getAltitude();
float speed = bestLocation.getSpeed();
}
import android.location.Location
import android.location.LocationManager
val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
val gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
val bestLocation: Location = when {
(gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation }
(gpsLocation != null) -> gpsLocation
else -> netLocation
} ?: return null
val latitude = bestLocation?.latitude
val longitude = bestLocation?.longitude
val altitude = bestLocation?.altitude
val speed = bestLocation?.speed
현재 기기의 LastKnownLocation의 속도 값 입니다.
import android.location.Location;
import android.location.LocationManager;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Location bestLocation = null;
if ((gpsLocation != null) && (netLocation != null)) {
if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
} else if (gpsLocation != null) {
bestLocation = gpsLocation;
} else {
bestLocation = netLocation;
}
if (bestLocation != null) {
double latitude = bestLocation.getLatitude();
double longitude = bestLocation.getLongitude();
double altitude = bestLocation.getAltitude();
float speed = bestLocation.getSpeed();
}
import android.location.Location
import android.location.LocationManager
val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
val gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)
val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
val bestLocation: Location = when {
(gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation }
(gpsLocation != null) -> gpsLocation
else -> netLocation
} ?: return null
val latitude = bestLocation?.latitude
val longitude = bestLocation?.longitude
val altitude = bestLocation?.altitude
val speed = bestLocation?.speed
해당 기기의 네트워크 사업자 정보 입니다.
import android.telephony.TelephonyManager;
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String carrier = telephonyManager.getNetworkOperatorName();
import android.telephony.TelephonyManager
val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
val carrier = telephonyManager.networkOperatorName
해당 기기의 블루투스 사용 여부 입니다.
import android.bluetooth.BluetoothAdapter;
BluetoothAdapter bluetoothAdapter = (BluetoothAdapter) BluetoothAdapter.getDefaultAdapter();
val enabled = bluetoothAdapter.isEnabled();
import android.bluetooth.BluetoothAdapter
val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
val enabled = bluetoothAdapter.isEnabled
해당 기기의 모바일 데이터 사용 여부 입니다.
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.content.Context;
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Network activeNetwork = connectivityManager.getActiveNetwork();
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(activeNetwork);
boolean cellularEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR);
} else {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
boolean cellularEnabled = (networkInfo.type == ConnectivityManager.TYPE_MOBILE);
}
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.content.Context
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val activeNetwork = connectivityManager.activeNetwork
val capabilities = connectivityManager.getNetworkCapabilities(activeNetwork)
val cellularEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
} else {
val networkInfo = connectivityManager.activeNetworkInfo
val cellularEnabled = (networkInfo.type == ConnectivityManager.TYPE_MOBILE)
}
해당 기기의 Wifi 데이 사용 여부 입니다.
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.content.Context;
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Network activeNetwork = connectivityManager.getActiveNetwork();
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(activeNetwork);
boolean wifiEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);
} else {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
boolean wifiEnabled = (networkInfo.type == ConnectivityManager.TYPE_WIFI);
}
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.content.Context
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val activeNetwork = connectivityManager.activeNetwork
val capabilities = connectivityManager.getNetworkCapabilities(activeNetwork)
val wifiEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
} else {
val networkInfo = connectivityManager.activeNetworkInfo
val wifiEnabled = (networkInfo.type == ConnectivityManager.TYPE_WIFI)
}
해당 어플리케이션의 패키지 명 입니다.
import android.content.pm.PackageManager;
import android.content.pm.PackageInfo;
import android.content.Context;
String packageName = "";
try {
PackageInfo packageInfo = context.getPackageManager.getPackageInfo(context.packageName, 0)
packageName = packageInfo.packageName;
} catch (PackageManager.NameNotFoundException e) {
}
import android.content.pm.PackageManager
import android.content.Context
var packageName = ""
try {
val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
packageName = packageInfo.packageName
} catch (e: PackageManager.NameNotFoundException) {
}
해당 어플리케이션의 버전 이름 입니다.
import android.content.pm.PackageManager;
import android.content.pm.PackageInfo;
import android.content.Context;
String packageName = "";
try {
PackageInfo packageInfo = context.getPackageManager.getPackageInfo(context.packageName, 0);
packageName = packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
}
import android.content.pm.PackageManager
import android.content.Context
var versionName = ""
try {
val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
versionName = packageInfo.versionName
} catch (e: PackageManager.NameNotFoundException) {
}
해당 이벤트의 발송 시간(Milliseconds) 입니다.
System.currentTimeMillis();
System.currentTimeMillis()
도움이 되었나요?