Collect ProbeData

プローブデータの収集を行う

プローブデータの収集設定は Navi.initialize() のタイミングで行います。 まず、以下のように ProbeDataSettingInfo を作成し NaviInitInfo.setProbeDataSettingInfo() で指定します。

    // Naviの初期化
    private fun initializeNavi(context: Context) {
        val initInfo = NaviInitInfo(context)
        val apiKeyInfo = ApiKeyInfo();
        apiKeyInfo.setApiKey(API_KEY); // 具体的なキー(文字列)については営業窓口までお問い合わせください。
        apiKeyInfo.setTrafficProviderKey(PROVIDER_KEY); // 具体的なキー(文字列)については営業窓口までお問い合わせください。
        apiKeyInfo.setTrafficProviderUserID(USER_ID); // 具体的なID(文字列)については営業窓口までお問い合わせください。
        initInfo.setServerSettingInfo(ServerSettingInfo(apiKeyInfo));

        // UserID(このIDを元にクラウドの設定やルート保存が行われるためユニークなIDを推奨)
        val userID = "MyAppName" + Settings.Secure.getString(context.contentResolver, ANDROID_ID)
        initInfo.setUserID(userID);

        // プローブデータの設定
+       var probeDataSettingInfo = ProbeDataSettingInfo()
+       initInfo.setProbeDataSettingInfo(probeDataSettingInfo)

        Navi.getInstance().initialize(initInfo) { errorCode, naviInitResult ->
            if (errorCode == NaviInitListener.ErrorCode.NONE) {
                Navi.getInstance().mobileAppLifecycle = lifecycle
                Navi.getInstance().startPositioning()
                Navi.getInstance().startVoiceEngine { }
            }
        }
    }

次に、ProbeDataSettingInfocollectDataTypeList で収集するデータを設定します。

ここでは NAVI_INFOROUTE_ACTION_LOG を収集します。

    // Naviの初期化
    private fun initializeNavi(context: Context) {
        val initInfo = NaviInitInfo(context)

        /** 省略 **/

        // プローブデータの設定
        var probeDataSettingInfo = ProbeDataSettingInfo()
+       probeDataSettingInfo.collectDataTypeList = listOf(DataType.NAVI_INFO, DataType.ROUTE_ACTION_LOG)
        initInfo.probeDataSettingInfo = probeDataSettingInfo

        /** 省略 **/
    }

以上で収集設定は完了です。

収集を開始するために、Navi.initialize() の初期化完了後に Navi.getInstance().startCollectProbeData() を呼び出してください。
このメソッドを呼び出すと、自動的にプローブデータの収集が開始されます。

実際の運用時は、ユーザーに対して情報収集の旨を通知した上で実施してください。

    // Naviの初期化
    private fun initializeNavi(context: Context) {
        val initInfo = NaviInitInfo(context)

        /** 省略 **/

        // プローブデータの設定
        var probeDataSettingInfo = ProbeDataSettingInfo()
        probeDataSettingInfo.collectDataTypeList = listOf(DataType.NAVI_INFO, DataType.ROUTE_ACTION_LOG)
        initInfo.probeDataSettingInfo = probeDataSettingInfo

        Navi.getInstance().initialize(initInfo) { errorCode, naviInitResult ->
            if (errorCode == NaviInitListener.ErrorCode.NONE) {
                Navi.getInstance().mobileAppLifecycle = lifecycle
                Navi.getInstance().startPositioning()
                Navi.getInstance().startVoiceEngine { }
+               Navi.getInstance().startCollectProbeData()
            }
        }
    }

以上でプローブデータの収集設定は完了です。

プローブデータの収集についての詳細は、ProbeDataをご確認ください。