Control
制御用のプローブデータ収集SDK APIを以下に示します。
activate
本APIにより、プローブデータ収集SDKは動作を開始します。
本APIの設定パラメータにより、プローブデータ収集SDKの動作状態を設定できます。
本APIにより、プローブデータ収集SDKは以下の動作を開始します。
- OSからの内部データの収集を開始。
- 配信用タイマーの動作を開始。
- 本API以外のプローブデータ収集SDK APIに対する正常動作を開始。
本APIのパラメータにより、以下の、クラウドサーバへの配信条件を設定できます。
-
配信先クラウドサーバのURL
-
配信周期[秒]
-
配信データに付帯する認証用パラメータ(認証用キー種別と、認証用キー)。
※認証用パラメータが未設定の場合、配信動作は行いません。
※本APIにて認証用パラメータが未設定の場合、updateKeyにて、配信動作を開始できます。
-
配信データ種別で指定するデータ種別だけを配信します。
本APIは、プローブデータ収集SDKの動作を開始する前にのみ有効です。
本APIで設定したパラメータを変更する場合は、一度deactivateでプローブデータ収集SDKを終了して、再度activateをしてください。
本APIの設定パラメータと戻り値の詳細は、Table.4.1.1 ~ Table.4.1.7 を参照してください。
Android:activate
fun sendActivate(){
var request = SdkRequest(
SdkAuthKey(
SdkAuthKey.SDK_APIKEY,
"確保したAPIキー"
),
vehicleId="車両ID",
URL="https://example.com/receive/",
uploadInterval=60,
UploadDataType(
SENSOR_INFO,NAVI_INFO,ROUTE_ACTION_LOG
),
)
val result = sdk.activate(request)
}
iOS:activate
result = sdk.activate(request: .init(
authKey: token != "nil" ? SdkAuthKey(type: .API_KEY, value: token) : nil,
vehicleId: vehicleId != "nil" ? vehicleId : nil,
url: url,
uploadInterval: Int(uploadIntervalString)!,
uploadDataTypes: uploadDataTypes
))
deactivate
本APIにより、プローブデータ収集SDKは動作を終了します。
プローブデータ収集SDKの利用を終了する場合は、必ず本APIを呼び出してください。
本APIは、プローブデータ収集SDKが動作している時のみ有効です。
本APIの戻り値の詳細は、Table.4.1.1 ~ Table.4.1.7 を参照してください。
Android:deactivate
fun sendDeactivate(){
val result = sdk.deactivate()
}
iOS:deactivate
sdk.deactivate()
updateKey
本APIの設定パラメータにより、認証用パラメータを更新することができます。
本APIは、プローブデータ収集SDKが動作している時のみ有効です。
activateで認証用パラメータが未設定の場合は、本APIで定期配信が開始されます。
認証用キー種別は、activate、updateKeyで、同一にしてください。
本APIの設定パラメータと戻り値の詳細は、Table.4.1.1 ~ Table.4.1.7 を参照してください。
Android:updateKey
fun sendUpdateKey(){
val key = SdkAuthKey{
keyType=SdkAuthKey.API_KEY,
keyValue="キーの値",
}
val result = sdk.updateKey(key)
}
iOS:updateKey
result = sdk.updateKey(.init(
type: .API_KEY,
value: key
))
checkHealth
本APIは、プローブデータ収集SDKの動作に必須ではありません。
本APIにより、プローブデータ収集SDKの動作状態の確認ができます。
詳細フラグがfalseの場合は、戻り値のstatusCodeだけが有効で、それ以外の引数は無効です。
詳細フラグがtrueの場合は、全ての引数が有効です。
本APIの設定パラメータと戻り値の詳細は、Table.4.1.1 ~ Table.4.1.7 を参照してください。
Android:checkHealth
fun sendCheckHealth(){
val sdkHealthInfo = sdk.checkHealth(needDetails = true)
if( sdkHealthInfo.statusCode == SdkResult.OK){
//OK時の処理
}
else{
//NG時の処理
if( sdkHealthInfo.xxx == false ){
//xxxがfalse時の処理
}
}
}
iOS:checkHealth
healthInfo = sdk.checkHealth(needDetails: needDetails)
setVehicleId
本APIは、プローブデータ収集SDKの動作に必須ではありません。
本APIによりvehicleId(車両を識別するID)が設定できます。
vehicleIdは、配信データに付帯データとして毎回付与されます。
vehicleIdが未指定の場合でも配信されます。
本APIの設定パラメータと戻り値の詳細は、Table.4.1.1 ~ Table.4.1.7 を参照してください。
Android:setVehicleId
fun sendSetVehicleId(){
val vehicleId = "車両ID番号"
val result = sdk.setVehicleId(vehicleId)
}
iOS:setVehicleId
result = sdk.setVehicleId(vehicleId)
setContext[Androidのみ]
本APIによりプローブデータ収集SDKが使用するcontextを設定します。
本APIはactivate前に必ず設定してください。
Android:setContext
fun onCreate(){
val context : Context = android.content.Context
sdk.setContext(context)
}
requestLocationPermission[iOSのみ]
本APIにより位置情報取得に関する権限を要求します。
本APIはactivate前に必ず設定してください。
iOS:requestLocationPermission
await sdk.requestLocationPermission()
requestActivityPermission[iOSのみ]
本APIによりアクティビティ情報取得に関する権限を要求します。
本APIはactivate前に必ず設定してください。
iOS:requestActivityPermission()
await sdk.requestActivityPermission()
startBackgroundPositioning[iOSのみ]
本APIによりバックグラウンド実行時の位置情報更新を有効にします。
iOS:startBackgroundPositioning()
sdk.startBackgroundPositioning()
stopBackgroundPositioning[iOSのみ]
本APIによりバックグラウンド実行時の位置情報更新を無効にします。
iOS:stopBackgroundPositioning()
sdk.stopBackgroundPositioning()
isBackgroundPositioning[iOSのみ]
本APIによりバックグラウンド実行時の位置情報更新の状態を取得します。
iOS:isBackgroundPositioning()
status = sdk.isBackgroundPositioning()
API name | description | parameter | parameter type | return | 必須・任意 | 補足 |
---|---|---|---|---|---|---|
activate | プローブデータ収集SDKの起動処理 | 配信条件 | request:SdkUploadRequest | SdkResult: OK、ERROR、HAS_ACTIVATED、NOT_PERMITTED | 必須 | 認証パラメータ以外の変更には、 一度deactivateが必要 |
deactivate | プローブデータ収集SDKの終了処理 | none | none | SdkResult: OK、ERROR、NOT_ACTIVATED | 必須 | |
updateKey | クラウドアクセス時に使用する 認証Key情報を設定・更新する | 認証情報 | authKey:SdkAuthKey | SdkResult: OK、ERROR、NOT_ACTIVATED | 任意 | 認証パラメータがactivityで未指定の場合、 本APIで認証パラメータを設定する |
checkHealth | プローブデータ収集SDKの生存確認 | 詳細フラグ | needDetails:BOOL | SdkHealthInfo: SdkHealthInfo.statusCode= OK、ERROR、NOT_ACTIVATED | 任意 | needDetail=true時に、 戻り値のSdkHealthInfoの全項目が有効値となる。 false時には、 SdkHealthInfo.statusCodeのみが有効値で、 他はnullとなる。 |
setVehicleId | 配信時に付帯する車両IDを設定する | 車両ID | vehicleId:String | SdkResult: OK、NOT_ACTIVATED、HAS_REGISTERED | 任意 | vehicleIdが既設定時には、 HAS_REGISTEREDを返す |
setContext (Androidのみ) | コンテキストを設定する | context | context : Context | なし | 必須 | プローブデータ収集SDKのインスタンスの生成後、 かつactivateの前に、本API実行が必須。 |
requestLocationPermission (iOSのみ) | 位置情報の権限を取得する | none | none | SdkResult: OK、NOT_PERMITTED | 必須 | |
requestActivityPermission (iOSのみ) | アクティビティの権限を取得する | none | none | SdkResult: OK、NOT_PERMITTED | 必須 | |
startBackgroundPositioning (iOSのみ) | バックグラウンド実行時の 位置情報更新を有効にする | none | none | なし | 任意 | バックグラウンドでの位置情報更新を 有効にしたい場合は必須。 |
stopBackgroundPositioning (iOSのみ) | バックグラウンド実行時の 位置情報更新を無効にする | none | none | なし | 任意 | |
isBackgroundPositioning (iOSのみ) | バックグラウンド実行時の 位置情報更新を確認する | none | none | Boolean: True=有効、 False=無効 | 任意 |
名称:enum SdkResult | 説明:SDK動作結果 | 備考 |
---|---|---|
OK | 正常動作 | 排他的に利用 |
ERROR | 下記以外のエラー動作 | 排他的に利用 |
HAS_ACTIVATED | SDKが既にActivate済み | 排他的に利用 |
NOT_ACTIVATED | SDKがActivateされていない | 排他的に利用 |
NOT_PERMITTED | OSでの権限が不許可 | 排他的に利用 |
HAS_REGISTERED | 値が既に設定済み | 排他的に利用 |
名称:class SdkUploadRequest | 説明:配信条件 | 備考 | 省略可否 |
---|---|---|---|
authKey: SdkAuthKey? = null | 認証方法に用いる文字列など | 省略可 | |
vehicleId: String? = null | 車両ID | 省略可 | |
url: String | 配信先のURL | 省略不可 | |
uploadInterval: Int | 配信周期[秒] | 省略不可 | |
uploadDataType: List<SdkUploadDataType> | 配信するデータ種別のList | 省略不可 |
名称:enum SdkAuthType | 説明:認証方法 | 備考 |
---|---|---|
TOKEN | Tokenによる認証 | トークン方式は未使用 |
API_KEY | API keyによる認証 |
名称:class SdkAuthKey | 説明 | 備考 | 省略可否 |
---|---|---|---|
type: SdkAuthType | 認証に用いるkeyの種別 | "API_KEY"のみ使用 | 省略不可 |
value: String | 認証に用いるkeyの値 | 省略不可 |
名称:enum SdkUploadDataType | 説明:アップロードデータ種別 | 備考 |
---|---|---|
SENSOR_INFO | センサー情報 (下記のa,b,c,d全て) | 重複指定可 |
NAVI_INFO | ナビ情報 | 重複指定可 |
ROUTE_ACTION_LOG | ルートアクションログ情報 | 重複指定可 |
VEHICLE_INFO | 車両情報 | 重複指定可 |
LOCATION_INFO | 補正後の位置情報 (a) | 重複指定可 |
GNSS_INFO | GNSS位置情報・受信状況 (b) | 重複指定可 |
HW_SENSOR_INFO | 加速度・ジャイロ情報 (c) | 重複指定可 |
ACTIVITY_INFO | アクティビティ情報 (d) | 重複指定可 |
名称:class SdkHealthInfo | 説明:SDKの動作状況 | 備考 |
---|---|---|
statusCode : SdkResult | SDK動作結果 | |
uploadInterval : Int? = null | 配信周期[秒] | needDetails=False時には、NULL |
uploadDataType: List<SdkUploadDataType>? = null | 配信するデータ種別のList | needDetails=False時には、NULL |
authKey: SdkAuthKey? = null | 認証に用いるkeyの種別とkeyの値 | needDetails=False時には、NULL |
vehicleId: String? = null | 車両ID | needDetails=False時には、NULL |
url : String? = null | 配信先のURL | needDetails=False時には、NULL |
isUploading : Boolean? = null | 定期配信のON・OFF | needDetails=False時には、NULL |
connectionStatus : Boolean? =null | 直前の配信の成功・失敗 | needDetails=False時には、NULL |
sensorStatus : Boolean? = null | センサ(加速度・ジャイロ)取得部の動作状態 | needDetails=False時には、NULL |
fusionLocationStatus : Boolean? = null | fusionLocation取得部の動作状態 | needDetails=False時には、NULL |
gnssStatus : Boolean? = null | GNSS取得部の動作状態 (Androidのみ有効) | needDetails=False時には、NULL |