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 namedescriptionparameterparameter typereturn必須・任意補足
activateプローブデータ収集SDKの起動処理配信条件request:SdkUploadRequestSdkResult:
OK、ERROR、HAS_ACTIVATED、NOT_PERMITTED
必須認証パラメータ以外の変更には、
一度deactivateが必要
deactivateプローブデータ収集SDKの終了処理nonenoneSdkResult:
OK、ERROR、NOT_ACTIVATED
必須
updateKeyクラウドアクセス時に使用する
認証Key情報を設定・更新する
認証情報authKey:SdkAuthKeySdkResult:
OK、ERROR、NOT_ACTIVATED
任意認証パラメータがactivityで未指定の場合、
本APIで認証パラメータを設定する
checkHealthプローブデータ収集SDKの生存確認詳細フラグneedDetails:BOOLSdkHealthInfo:
SdkHealthInfo.statusCode=
    OK、ERROR、NOT_ACTIVATED
任意needDetail=true時に、
戻り値のSdkHealthInfoの全項目が有効値となる。
false時には、
SdkHealthInfo.statusCodeのみが有効値で、
他はnullとなる。
setVehicleId配信時に付帯する車両IDを設定する車両IDvehicleId:StringSdkResult:
OK、NOT_ACTIVATED、HAS_REGISTERED
任意vehicleIdが既設定時には、
HAS_REGISTEREDを返す

setContext
(Androidのみ)
コンテキストを設定するcontextcontext : Contextなし必須プローブデータ収集SDKのインスタンスの生成後、
かつactivateの前に、本API実行が必須。

requestLocationPermission
(iOSのみ)
位置情報の権限を取得するnonenoneSdkResult:
OK、NOT_PERMITTED
必須
requestActivityPermission
(iOSのみ)
アクティビティの権限を取得するnonenoneSdkResult:
OK、NOT_PERMITTED
必須
startBackgroundPositioning
(iOSのみ)
バックグラウンド実行時の
位置情報更新を有効にする
nonenoneなし任意バックグラウンドでの位置情報更新を
有効にしたい場合は必須。

stopBackgroundPositioning
(iOSのみ)
バックグラウンド実行時の
位置情報更新を無効にする
nonenoneなし任意
isBackgroundPositioning
(iOSのみ)
バックグラウンド実行時の
位置情報更新を確認する
nonenoneBoolean:
  True=有効、
  False=無効
任意
Table.4.1.1 - 制御用API一覧



名称:enum SdkResult説明:SDK動作結果備考
OK正常動作排他的に利用
ERROR下記以外のエラー動作排他的に利用
HAS_ACTIVATEDSDKが既にActivate済み排他的に利用
NOT_ACTIVATEDSDKがActivateされていない排他的に利用
NOT_PERMITTEDOSでの権限が不許可排他的に利用
HAS_REGISTERED値が既に設定済み排他的に利用
Table.4.1.2 - enum SdkResult


名称:class SdkUploadRequest説明:配信条件備考省略可否
authKey: SdkAuthKey? = null認証方法に用いる文字列など省略可
vehicleId: String? = null車両ID省略可
url: String配信先のURL省略不可
uploadInterval: Int配信周期[秒]省略不可
uploadDataType: List<SdkUploadDataType>配信するデータ種別のList省略不可
Table.4.1.3 - class SdkUploadRequest


名称:enum SdkAuthType説明:認証方法備考
TOKENTokenによる認証トークン方式は未使用
API_KEYAPI keyによる認証
Table.4.1.4 - enum SdkAuthType


名称:class SdkAuthKey説明備考省略可否
type: SdkAuthType認証に用いるkeyの種別"API_KEY"のみ使用省略不可
value: String認証に用いるkeyの値省略不可
Table.4.1.5 - class SdkAuthKey


名称:enum SdkUploadDataType説明:アップロードデータ種別備考
SENSOR_INFOセンサー情報 (下記のa,b,c,d全て)重複指定可
NAVI_INFOナビ情報重複指定可
ROUTE_ACTION_LOGルートアクションログ情報重複指定可
VEHICLE_INFO車両情報重複指定可
LOCATION_INFO補正後の位置情報 (a)重複指定可
GNSS_INFOGNSS位置情報・受信状況 (b)重複指定可
HW_SENSOR_INFO加速度・ジャイロ情報 (c)重複指定可
ACTIVITY_INFOアクティビティ情報 (d)重複指定可
Table.4.1.6 - enum SdkUploadDataType


名称:class SdkHealthInfo説明:SDKの動作状況備考
statusCode : SdkResultSDK動作結果
uploadInterval : Int? = null配信周期[秒]needDetails=False時には、NULL
uploadDataType: List<SdkUploadDataType>? = null配信するデータ種別のListneedDetails=False時には、NULL
authKey: SdkAuthKey? = null認証に用いるkeyの種別とkeyの値needDetails=False時には、NULL
vehicleId: String? = null車両IDneedDetails=False時には、NULL
url : String? = null配信先のURLneedDetails=False時には、NULL
isUploading : Boolean? = null定期配信のON・OFFneedDetails=False時には、NULL
connectionStatus : Boolean? =null直前の配信の成功・失敗needDetails=False時には、NULL
sensorStatus : Boolean? = nullセンサ(加速度・ジャイロ)取得部の動作状態needDetails=False時には、NULL
fusionLocationStatus : Boolean? = nullfusionLocation取得部の動作状態needDetails=False時には、NULL
gnssStatus : Boolean? = nullGNSS取得部の動作状態
(Androidのみ有効)
needDetails=False時には、NULL
Table.4.1.7 - class SdkHealthInfo