書き込み例

このページでは、異なるプラットフォームでサンプル書き込みプロジェクトをビルドおよび実行し、 HERE Data SDK for C++ を使用してストリーム レイヤーにデータを公開する方法について説明します。

サンプルプロジェクトを実行する前に、 HERE platform に認証します。

  1. [ アプリとキー ] ページで、アプリのアクセスキー ID とアクセスキーのシークレットをコピーします。

    アクセスキー ID およびアクセスキーシークレットを取得する方法については、『 Identity & Access Management 開発者ガイド』の「アプリケーションの登録」セクションを参照してください。

  2. examples/main.cppで、プレースホルダーをアクセスキー ID 、アクセスキーシークレット、カタログの HERE リソースネーム ( HERE リソースネーム )、およびデータを公開するレイヤーの名前に置き換えます。

    コマンド ラインオプションを使用して、これらの値を指定することもできます。

    AccessKey access_key{};  // Your access key ID and access key secret.
    std::string catalog;   // The HRN of the catalog to which you want to publish data.
    std::string layer_id;  // The ID of the layer inside the catalog to which you want to publish data.
    

Linux でビルドして実行します

Linux でサンプルプロジェクトをビルドして実行するには、次の手順に従います。

  1. CMake ターゲットの例を有効にします。

    mkdir build && cd build
    cmake -DOLP_SDK_BUILD_EXAMPLES=ON ..
    
  2. build フォルダで、サンプルプロジェクトを構築します。

    cmake --build . --target dataservice-example
    
  3. サンプルプロジェクトを実行します。

    ./examples/dataservice-example --example write --key_id "here.access.key.id" --key_secret "here.access.key.secret" --catalog "catalog" --layer_id "layer_id"
    
  4. ( オプション ) 他のパラメータを使用して例を実行するには、 help コマンドを実行してから、必要なパラメータを選択します。

    ./examples/dataservice-example --help
    

サンプルプロジェクトをビルドして実行すると、次のメッセージが自動的に表示されます。 " 公開に成功しました - TraceID : \"

Android でビルドして実行できます

Android サンプルプロジェクトに Data SDK ライブラリを統合するには、次の手順を実行します。

前提条件

Android サンプルプロジェクトに Data SDK ライブラリを統合する前に、次の点を確認してください。

  1. Android 環境を設定します。
  2. examples/android/app/src/main/cpp/MainActivityNative.cpp.in、プレースホルダーをアプリケーションのアクセスキー ID 、アクセスキーシークレット、カタログ HERE リソースネーム 、およびレイヤー名で置き換え、サンプルを実行するように指定 RunExampleWriteします。

    アクセスキー ID およびアクセスキーシークレットを取得する方法については、『 Identity & Access Management 開発者ガイド』の「アプリケーションの登録」セクションを参照してください。

Data SDK を構築します

Android で Data SDK を構築するには、次の手順を実行します

  1. OLP_SDK_BUILD_EXAMPLES をに設定 ONします。
  2. 変数を使用 CMAKE_TOOLCHAIN_FILE して、 Android NDK ツールチェーンファイルへのパスを指定します。
  3. 特定の Android プラットフォーム用に SDK をビルドする場合は -DANDROID_PLATFORM CMake 、フラグを使用 -DANDROID_ABI し、特定の Android アーキテクチャ用に SDK をビルドする場合は、フラグを使用します。 詳細については、NDK 固有の CMake 変数を参照してください。

    mkdir build && cd build
    cmake .. -DOLP_SDK_BUILD_EXAMPLES=ON -DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a
    

    CMake コマンドを使用 Gradlebuild/examples/android すると、フォルダーにプロジェクトが生成されます。

  4. Data SDK ライブラリを sysroot ディレクトリにインストールします。

    # If necessary, execute as sudo.
    (sudo) make install
    

APK をビルドして実行します

APK をビルドして実行するには、次の手順に従います。

  1. Android Studio IDE で build/examples/android/build.gradle 、スクリプトを開きます。
  2. アプリケーションのアクセスキー ID 、アクセスキーシークレット、カタログ HERE リソースネーム 、およびレイヤー名を入力します。
  3. dataservice_example APK をインストールして実行します。

メイン画面に次のメッセージが表示されます。 " 例が正常に終了しました " 。

iOS でビルドして実行します

Objective-C 言語で記述された iOS サンプルアプリケーションに Data SDK ライブラリを統合するには、次の手順を実行します。

前提条件

iOS サンプルプロジェクトに Data SDK ライブラリを統合する前に、次のことを行います。

  1. iOS 開発環境を設定するには、 Xcode およびコマンドラインツールをインストールします。
  2. 外部の依存関係をインストールします。

    依存関係およびインストール手順については、 README.MD ファイルの関連セクションを参照してください。

  3. examples/ios/ViewController.mm、プレースホルダーをアプリケーションのアクセスキー ID 、アクセスキーシークレット、カタログ HERE リソースネーム 、およびレイヤー名で置き換え、サンプルを実行するように指定 RunExampleWriteします。

    アクセスキー ID およびアクセスキーシークレットを取得する方法については、『 Identity & Access Management 開発者ガイド』の「アプリケーションの登録」セクションを参照してください。

mkdir build && cd build
cmake .. -GXcode  -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/iOS.cmake -DPLATFORM=iphoneos -DOLP_SDK_BUILD_EXAMPLES=ON -DOLP_SDK_ENABLE_TESTING=OFF

シミュレータの Data SDK を設定するに SIMULATORONは、変数をに設定します。

Data SDK を構築します

iOS で Data SDK を構築するには、次の手順を実行します

  1. OLP_SDK_BUILD_EXAMPLES をに設定 ONします。
  2. (任意)テストをディセーブルにするに OLP_SDK_ENABLE_TESTINGOFFは、をに設定します。
  3. CMAKE_TOOLCHAIN_FILE 変数を使用して、 iOS ツールチェーンファイルへのパスを指定します。

    iOS ツールチェーンファイルは、 SDK と一緒に出荷 <olp-sdk-root>/cmake/toolchains/iOS.cmakeされ、の下にあります。

mkdir build && cd build
cmake .. -GXcode  -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/iOS.cmake -DPLATFORM=iphoneos -DOLP_SDK_BUILD_EXAMPLES=ON -DOLP_SDK_ENABLE_TESTING=OFF

アプリケーションをビルドして実行します

iOS でサンプルアプリケーションを実行するには、次の手順を実行します。

  1. 生成された Xcode プロジェクトを開きます。

    open olp-cpp-sdk.xcodeproj
    
  2. Xcode プロジェクトのスキームのリストから dataservice-example 、スキームを選択します。

  3. dataservice-example ターゲットで、アプリケーションのアクセスキー ID とアクセスキーシークレットを指定します。

  4. サンプルアプリケーションをビルドして実行します。

メイン UI 画面に次のメッセージが表示されます。 " 例が正常に終了しました " 。 詳細については、デバイスログを確認してください。

エラーメッセージが表示された場合は、エラーの詳細な説明について、デバイスのログを確認してください。 エラーメッセージの例 : " 例でエラーが発生しました。 "

仕組み

ストリーム レイヤーにデータを公開します

ストリーム レイヤーを使用して、データをデータ利用者にリアルタイムでストリーム配信するキューを作成できます。

ストリーム レイヤーにデータを公開するには、次の手順に従います。

  1. OlpClientSettings オブジェクトを作成します。

    手順については、「プラットフォームクライアント設定を作成する」を参照してください。

  2. StreamLayerClientSettings オブジェクトを作成します。

    auto stream_client_settings = olp::dataservice::write::StreamLayerClientSettings{};
    
  3. StreamLayerClient レイヤーを含むカタログの HERE リソースネーム ( HERE リソースネーム )、ステップ 2 のストリーム レイヤークライアント設定、およびステップ 1 のプラットフォームクライアント設定を使用してオブジェクトを作成します。

    auto client = olp::dataservice::write::StreamLayerClient(
    olp::client::HRN{kCatalogHRN}, stream_client_settings, client_settings);
    
  4. PublishDataRequest パブリッシュするデータとレイヤー ID を使用してオブジェクトを作成します。

    auto request = PublishDataRequest().WithData(buffer).WithLayerId(kLayer);
    
  5. PublishDataDataRequest パラメーターを使用してメソッドを呼び出します。

    auto futureResponse = client.PublishData(request);
    
  6. PublishDataResponse 未来を待っていてください。

    auto response = futureResponse.GetFuture().get();
    

PublishDataResponse このオブジェクトは、完了した操作の詳細を保持し、操作の成功および結果のデータへのアクセスを判断するために使用されます。

  • IsSuccessful() –操作が成功した場合は、を返し trueます。 それ以外の場合は、を返します false
  • GetResult()–操作が成功すると、次の結果データが返されます。 olp::dataservice::write::PublishDataResult
  • GetError()olp::client::ApiError オブジェクトのエラーの結果としてエラー情報が含まれます。
if (response.IsSuccessful()) {
    auto response_result = response.GetResult();
    // Handle success
} else {
    auto api_error = response.GetError();
    // Handle fail
}

」に一致する結果は 件です

    」に一致する結果はありません