以前のバージョンから更新する
HERE SDKを最新の状態に保つことで、最新の機能、改善点、マップデータを利用できます。最新の更新を利用するには、HERE SDKの最新のバージョンをアプリケーションに統合し、更新を公開します。Navigateをご利用のお客様向けに、このガイドでは最新の地図のバージョンに自動的に更新する方法と、必要に応じて以前の地図のバージョンにダウングレードする方法について説明します。
以下の手順でHERE SDK AARを置き換えることで、HERE SDKの最新のバージョンに更新できます。
- 最新のHERE SDKリリースを入手します。詳細については、「利用開始」を参照してください。
- HERE SDK AARファイル (*.aar) をアプリケーションの
app/libsフォルダー (アプリのbuild.gradleファイルで指定) にコピーします。 - Android Studio を使用している場合は、Sync ボタン ([Sync Project with Gradle Files](プロジェクトを Gradle ファイルと同期)) をクリックして HERE SDK に統合します。
- 必要に応じて、アプリケーションのソースコードを最新のAPI変更に適合させます。
現在のHERE SDKバージョンを取得する
SDKBuildInformationから、現在統合されているHERE SDK Androidアーカイブ (AAR) のバージョンを取得できます。
Log.d("HERE SDK version: ", SDKBuildInformation.sdkVersion().versionName);HERE SDKのバージョンはSDKによって自動的に記録されます。
自動的に更新する (Navigateでのみ使用可能)
HERE SDKバージョンは、新しいHERE SDKリリースをアプリケーションに統合することによってのみ更新できます。
プログラムによってマップ バージョンを更新する方法を以下に示します。現在統合されている HERE SDK バージョンとは無関係に、マップ バージョンを更新できます。
注マップ バージョンによって、オンラインとオフラインの両方の使用向けに取得されるデータが決まります。このデータには、地図の視覚化に関連する情報と、検索、ルート検索、ナビゲーションに使用されるデータが含まれます。取得するデータを指定するには、デフォルトの
LayerConfigurationを変更します。
アプリの更新で HERE SDK の新しいバージョンが統合されると、多くの場合、新しいマップ バージョンも統合されます。ただし、マップ データは自動的に更新されません。
mapUpdater.getCurrentMapVersion()を呼び出して、現在使用されている地図のバージョンを確認します。- マップ バージョンの更新が利用可能かどうかを確認するには、
mapUpdater.retrieveCatalogsUpdateInfo()を呼び出します。
各アプリケーションの起動時などに、最新のマップ バージョンに自動的に更新することはできるでしょうか。
- これは、インストールされている地域がない場合は可能です。これがどのように行われるかをお読みください。
- インストールされている地域がある場合は、
mapUpdater.updateCatalog()を使用して更新する必要があります。詳細は「オフライン マップ」セクションを参照してください。インストールされている地域がない場合は、CatalogVersionHintを設定することで更新できます。
CatalogConfiguration を作成するときに、CatalogVersionHint を設定できます (上記も参照)。
// We want to start with the latest catalog version.
boolean ignoreCachedData = true;
CatalogVersionHint versionHint = CatalogVersionHint.latest(ignoreCachedData);実際には、HERE SDK を初期化する起動ごとに、キャッシュに保存されたマップ データが自動的に更新されます。デフォルトでは、マップのOCM IDを設定する必要があります (カスタムマップを使用する場合以外は、上記を参照)。
String defaultOCMHRN = "hrn:here:data::olp-here:ocm";
DesiredCatalog defaultOCMCatalog = new DesiredCatalog(defaultOCMHRN, versionHint);
catalogConfigurations.add(new CatalogConfiguration(defaultOCMCatalog));patchHrn値が設定されていない場合、地図の増分更新が無効になることに注意してください。地域をインストールしている場合は、mapUpdater.updateCatalog()を使用して更新する必要があります。「オフラインマップ」セクションを参照してください。地図の増分更新は、地域がインストールされている場合にのみ適用されます。
次のステップとして、HERE SDKを初期化し、SDKOptionsを使用してcatalogConfigurationsを設定します。
AuthenticationMode authenticationMode = AuthenticationMode.withKeySecret(accessKeyID, accessKeySecret);
SDKOptions options = new SDKOptions(authenticationMode);
options.catalogConfigurations = catalogConfigurations;
try {
Context context = this;
SDKNativeEngine.makeSharedInstance(context, options);
} catch (InstantiationErrorException e) {
throw new RuntimeException("Initialization of HERE SDK failed: " + e.error.name());
}デバイスにインストールされている地域がある場合は、キャッシュに保存されたマップデータはこのコードで更新されないことに注意してください。デバイスに存在するキャッシュに保存されたデータ (たとえば、マップ キャッシュ内のデータや、PrefetchAroundLocation または PrefetchAroundRouteOnIntervals によってキャッシュに保存されたデータなど) は、新しいマップ バージョンが利用可能になると使われなくなります。このようなデータは、LRU 方式により時間の経過ともに削除されます。つまり、キャッシュはすぐには削除されませんが、必要に応じて新しいデータが使用され、キャッシュがいっぱいになると古いデータが削除されます。そのため、これが起動時間に与える影響はまったくないか、非常に限られています。
キャッシュに保存された、HERE SDK (Navigate) などのOCMベースのマップデータを自動的に更新するには、上述のコードスニペットに示されているように、DesiredCatalog内でデフォルトのHRN値"hrn:here:data::olp-here:ocm"を使用します。
ignoreCachedDataのフラグを使用して、マップバージョンを更新しようとするときに、デバイスに存在するキャッシュデータをどのように処理するかを指定できます。false に設定すると、HERE SDK はキャッシュに保存されたマップ データがまったくなく (たとえば、最初のインストール時やキャッシュを消去した後など)、さらにインストールされたマップ データがない場合にのみ、最新バージョンを使用するように自動更新されます。これ以外の場合は、効果はありません。
以前のバージョンにダウングレードする (Navigateでのみ使用可能)
下位のマップバージョンを選択することもできます。たとえば、現在のカタログよりも古い特定のカタログバージョンで起動する場合などです。
List<CatalogConfiguration> catalogConfigurations = new ArrayList<>();
CatalogVersionHint versionHint = CatalogVersionHint.specific(57);この後は、HERE SDK を初期化するときに、前のセクションと同じ手順を実行します。
これは、キャッシュに保存されたマップ データや保持されたマップ データ (インストールされた地域のもの) がない場合にのみ効果があることに注意してください。たとえば、次のように呼び出すことで、アプリケーションを終了する前にキャッシュを消去できます。
SDKCache.fromEngine(SDKNativeEngine.getSharedInstance()).clearCache(error -> {
if (error != null) {
Log.d(TAG, "clearCache failed: " + error.name());
}
});初めてインストールする場合はこれを行う必要はありません (マップ ビューを表示する前やルート データを取得する前にこれを行う場合)。
注HERE SDK では、インストールされた
Regionマップ データをダウングレードしたり、自動更新したりすることは許可されていません。MapUpdaterでは、オフラインマップデータ (およびキャッシュ) を最新バージョンに更新することのみが可能です。
廃止版とベータ版
HERE SDK のチームは、一貫したインターフェースとともに柔軟性と使いやすさの両方を提供するため、利用可能な API を継続的に見直し、改善しています。
リリース全体で安定した API を確保するため、当社では廃止プロセスを遵守しています。廃止 API は、ChangeLog で廃止が発表された後、その次のメジャー リリースから数えた 2 つのメジャー バージョンでは維持されます。この期間は通常 6 ~ 9 か月です。「APIリファレンス」では、インターフェースが廃止とマークされたときに影響を受けるバージョンをいつでも確認できます。iOS、Android、Flutterのサポートされているバージョンへの更新は個別に扱われ、少なくとも1つ前のメジャーリリースの時点で、ChangeLogにて告知されています。
一部の新しいAPIや不安定になる可能性のあるAPIは、「APIリファレンス」で「ベータ」として指定されています。ベータリリースは、特に明記されている場合を除き、廃止のプロセスに従いません。ベータAPIを使用する場合は、バグが含まれている可能性があり、予期しない動作を示す可能性があることに注意してください。
HERE SDKで使用されるHEREバックエンドサービスについては、機能ライフサイクルポリシーを参照してください。
私たちはユーザーの皆様のフィードバックを大切にしており、さらなる改善のための提案に常に耳を傾けています。
7 日前の更新










