プラットフォームクライアント設定を作成します

OlpClientSettings このクラスは、クライアントのライブラリ動作をカスタマイズするためのすべての設定をまとめて取得します。 OlpClientSettings カタログおよびパーティション メタデータの取得、バージョン付きデータ、揮発性データ、およびストリーム レイヤーデータの取得、および HERE platform へのデータの公開を行うには、オブジェクトを作成する必要があります。

OlpClientSettings オブジェクトを作成するには :

  1. リクエストを非同期で実行するには TaskScheduler 、オブジェクトを作成します。

    std::shared_ptr<olp::thread::TaskScheduler> task_scheduler =
          olp::client::OlpClientSettingsFactory::CreateDefaultTaskScheduler(1u);
    
  2. HERE platform サービスを内部的に使用するに Network は、クライアントを作成します。

    std::shared_ptr<olp::http::Network> http_client = olp::client::
         OlpClientSettingsFactory::CreateDefaultNetworkRequestHandler();
    

    メモ

    Network このクライアントは、共有するように設計されています。

  3. 失敗したリクエストの処理を設定するには RetrySettings 、次のパラメータを使用してオブジェクトを作成します。

    • retry_condition –再試行する HTTP ステータスコード。
    • backdown_strategy –再試行の間隔。
    • max_attempts –試行回数。
    • timeout –接続のタイムアウトの上限 ( 秒単位 ) 。
    • initial_backdown_period –エラーから最初の再試行までの期間 ( ミリ秒単位 ) 。

    メモ

    HTTP 429 および 5xx エラーを処理するための再試行ロジックをアプリケーションに含めることをお勧めします。 再試行ロジックで指数バックオフを使用します。

    olp::client::RetrySettings retry_settings;
    retry_settings.retry_condition = [](const olp::client::HttpResponse& response) {
      return olp::http::HttpStatusCode::TOO_MANY_REQUESTS == response.status;
    };
    retry_settings.backdown_strategy = ExponentialBackdownStrategy();
    retry_settings.max_attempts = 3;
    retry_settings.timeout = 60;
    retry_settings.initial_backdown_period = 200;
    
  4. HERE platform を認証します。

  5. (任意)キャッシュを設定するには、次の手順を実行します

    1. CacheSettings 有効にするキャッシュと、必要に応じて最大キャッシュサイズ(バイト単位)を使用してインスタンスを作成します。

      メモ

      デフォルトでは、ダウンロードされたデータはメモリにキャッシュされ、最大サイズは 1 MB です。

        olp::cache::CacheSettings cache_settings;
        //On iOS, the path is relative to the Application Data folder.
        cache_settings.disk_path_mutable = "path to mutable cache";
        cache_settings.disk_path_protected = "path to protected cache";
        cache_settings.max_disk_storage = 1024ull * 1024ull * 32ull;
      
    2. CacheSettingsDefaultCache コンストラクタにインスタンスを追加します。

      olp::client::OlpClientSettingsFactory::CreateDefaultCache(cache_settings);
      

      キャッシュサイズを取得または変更する方法については、「キャッシュの操作」を参照してください。

  6. OlpClientSettings オブジェクトを設定し、キャッシュに保存されているデータの有効期限の上限を追加する場合 default_cache_expiration は、を必要な有効期限に設定します。

    デフォルトでは、有効期限は無効になっています。

    メモ

    可変キャッシュおよびインメモリキャッシュの有効期限のみを無効にできます。 読み取り専用モードでは、保護キャッシュにエントリが追加されないため、この設定は保護キャッシュに影響を与えません。

    olp::client::OlpClientSettings client_settings;
    client_settings.authentication_settings = auth_settings;
    client_settings.task_scheduler = task_scheduler;
    client_settings.network_request_handler = http_client;
    client_settings.retry_settings = retry_settings;
    client_settings.cache =
        olp::client::OlpClientSettingsFactory::CreateDefaultCache(cache_settings);
    client_settings.default_cache_expiration = std::chrono::seconds(200);
    

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

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