• デベロッパーガイド
  • Data Fetching Guide

Data Fetching Guide for Android

Airbridge Device ID

Device identifier by Airbridge. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)

Android SDK

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.common.onSuccessimport co.ab180.airbridge.common.onFailure Airbridge.fetchDeviceUUID( onSuccess = { deviceUUID ->  }, onFailure = { throwable ->  })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallback Airbridge.getDeviceInfo().getUUID(object : AirbridgeCallback.SimpleCallback<String>() { override fun onSuccess(result: String) { }  override fun onFailure(throwable: Throwable) { }})

Airbridge Generated UUID

Random UUID assigned by Airbridge upon app install on each device. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)

Android SDK

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.common.onSuccessimport co.ab180.airbridge.common.onFailure Airbridge.fetchAirbridgeGeneratedUUID( onSuccess = { airbridgeGeneratedUUID ->  }, onFailure = { throwable ->  })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridge Airbridge.fetchAirbridgeGeneratedUUID { uuid -> }

App Set ID

Unique ID that publishers can use to identify which apps a specific user has installed. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)

import com.google.android.gms.appset.AppSetimport com.google.android.gms.appset.AppSetIdClientimport com.google.android.gms.appset.AppSetIdInfoimport com.google.android.gms.tasks.Task val client = AppSet.getClient(applicationContext) as AppSetIdClientval task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo> task.addOnSuccessListener({ val appSetIdScope: Int = it.scope val appSetId: String = it.id})

GAID (Google Advertising ID)

Advertising ID issued by Google. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport 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

Device's Google Limit AD Tracking information. (example: true)

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport 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 Install Referrer

InstallReferrer information sent by Google Play Service.

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleInstallReferrerDetails( onSuccess = { result -> }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.ReferrerDetails Airbridge.getDeviceInfo().getGoogleInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> { override fun onSuccess(result: ReferrerDetails?) { } override fun onFailure(throwable: Throwable) {  } override fun onComplete() { }})

OAID (Huawei Advertising ID)

Advertising ID issued by Huawei. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport 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

Device's Huawei Limit AD Tracking information. (example: true)

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport 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 Install Referrer

InstallReferrer information sent by Huawei Mobile Service.

Android SDK

import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiInstallReferrerDetails( onSuccess = { result -> }, onFailure = { throwable -> })

Android SDK (Deprecated)

import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.ReferrerDetails Airbridge.getDeviceInfo().getHuaweiInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> { override fun onSuccess(result: ReferrerDetails?) { } override fun onFailure(throwable: Throwable) {  } override fun onComplete() { }})

Device Model

Device model name. (example: Pixel 3a)

import android.os.Build Build.MODEL // ex : Pixel 3a

Device Manufacturer

Device manufacturer information. (example: Google)

import android.os.Build Build.MANUFACTURER // ex : Google

OS Name

Device OS name. (example: Android)

"Android" // use constant string

OS Version

Device OS version. (example: 10)

import android.os.Build Build.VERSION.RELEASE // ex : 10

Locale

Device locale settings. (example: en-US)

import java.util.* // ex : en-US"${Locale.getDefault().language}-${Locale.getDefault().country}"

Timezone

Device timezone settings. (example: US/Pacific)

import java.util.* TimeZone.getDefault().id // ex : US/Pacific

Orientation

Device display orientation. Values will be either "portrait" or "landscape". (example: portrait)

import android.content.res.Configurationimport android.content.Context var orientation: Stringif (context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { orientation = "portrait"} else { orientation = "landscape"}

Screen Density

Device's screen density. (example: 3.000)

import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (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) { }}

Screen Width

Device's actual width. (example: 375.0)

import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (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) { }}

Screen Height

Device's actual height. (example: 667.0)

import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (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) { }}

Longitude

Longitude of device's LastKnownLocation.

import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval 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?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speed

Latitude

Latitude of device's LastKnownLocation.

import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval 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?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speed

Altitude

Altitude of device's LastKnownLocation.

import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval 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?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speed

Speed

Speed of device's LastKnownLocation.

import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval 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?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speed

Network Carrier

Device network carrier information.

import android.telephony.TelephonyManager val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManagerval carrier = telephonyManager.networkOperatorName

Bluetooth Status

Device bluetooth status. (example: true)

import android.bluetooth.BluetoothAdapter val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()val enabled = bluetoothAdapter.isEnabled

Cellular Status

Device mobile data status. (example: true)

import android.net.ConnectivityManagerimport android.net.NetworkCapabilitiesimport 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 Status

Device wifi status. (example: true)

import android.net.ConnectivityManagerimport android.net.NetworkCapabilitiesimport 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)}

Package Name

Application package name. (example: co.ab180.ablog)

import android.content.pm.PackageManagerimport android.content.Context var packageName = ""try { val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0) packageName = packageInfo.packageName} catch (e: PackageManager.NameNotFoundException) { }

Version

Application version name. (example: 1.0.0)

import android.content.pm.PackageManagerimport android.content.Context var versionName = ""try { val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0) versionName = packageInfo.versionName} catch (e: PackageManager.NameNotFoundException) { }

Event Timestamp

Timestamp(milliseconds) of when the event was sent. (example: 1581043739682)

System.currentTimeMillis()