Waze ディープリンクの使用方法

Waze は、デベロッパーが外部 URL を介して Waze クライアント アプリケーションまたはウェブページを開くことができる API をサポートしています。この URL には、別のモバイルアプリまたはモバイル ウェブページからアクセスできます。

Waze ディープリンクに使用するベース URL は次のとおりです。

https://waze.com/ul

この URL に渡すパラメータに基づいて、Waze アプリケーションは住所を特定したり、地図上に住所をマークしたり、住所または目的地へのナビゲーション セッションを開始したりできます。

ディープリンクの仕組み

Waze がクライアント アプリとして開くか、ウェブページとして開くかは、ユーザーのシステム構成によって異なります。

  • パソコン: Waze がウェブページとして開きます。
  • モバイル デバイス(Waze アプリがインストールされている場合): Waze アプリが開きます。
  • モバイル デバイス(Waze がインストールされていない場合): Waze がウェブページとして開きます。

Waze アプリがインストールされていることが確実な場合は、ウェブ エクスペリエンスなしでアプリ間の通信に URL「waze://」を使用できます。これは、前述のベース URL の代わりに使用されます。このオプションは、ユーザーが Waze をインストールしていることが確実な場合にのみ使用してください。そうでない場合、ユーザーがリンクをタップしても何も起こりません。

Waze ディープリンクを使用する

次の URL を使用すると、サードパーティ製アプリ、メール、SMS、ウェブページのリンクなどのソースからパラメータを指定して Waze を起動できます。

Waze ディープリンクは次の URL を使用します。

https://waze.com/ul?param_name=value[&param_name=value]

以下に、Waze ディープリンクの一般的なタスクをいくつか示します。

特定の場所に移動するには:

  1. Waze ライブマップを開き、場所を検索します。検索ボックスにテキストを入力するか、地図を拡大して特定のセグメントをクリックします。
  2. 地図の右下にある共有アイコン をクリックします。
  3. ダイアログが表示されます。[運転ルートを共有] をクリックし、リンクをコピーして貼り付けます。

次の例では、ニューヨークのタイムズ スクエアを中心とする地図を表示します。

https://www.waze.com/ul?ll=40.75889500%2C-73.98513100&navigate=yes&zoom=17

Waze アプリに保存されている次の「お気に入り」に移動できます。

  • work
  • home

次の URL を使用して、指定したお気に入りに移動します。

https://waze.com/ul?favorite=favorite&navigate=yes

次の例では、宛先を仕事用に設定しています。

https://waze.com/ul?favorite=work&navigate=yes

次の構文でアドレスを検索します。

https://waze.com/ul?q=search_terms

パラメータに渡す値は URL エンコードする必要があります。たとえば、スペースは %20 に置き換える必要があります。

次の例では、「66 Acacia Avenue」を検索します。

https://waze.com/ul?q=66%20Acacia%20Avenue

地図に表示します

次の構文を使用して、Waze の地図ビューの地図の拡大率(またはズーム)を設定します。

https://waze.com/ul?z=magnification_level

magnification_level の最小値は 6(最も近い、または最も拡大された)です。magnification_level の最大値は 8, 192(最も遠い、または最も倍率が低い)です。

次の例では、拡大率を 8 に設定しています。

https://waze.com/ul?z=8

URL パラメータ

次の表に、Waze ディープリンクで使用できるルーティング パラメータを示します。

パラメータ 必須かどうか 説明
avoid_tolls 省略可 有料道路を避けたルートを計算するかどうかを指定します。true または t に設定すると、有料道路を回避できます。有料道路を許可するには、false または f に設定します。デフォルトでは、有料道路は許可されています(false)。
avoid_ferries 省略可 フェリーを避けたルートを計算するかどうかを指定します。フェリーを避けるには、true または t に設定します。フェリーを許可するには、false または f に設定します。デフォルトではフェリーが許可されています(false)。
avoid_freeways 省略可 高速道路を避けたルートを計算するかどうかを指定します。高速道路を避けるには、true または t に設定します。false または f に設定して、高速道路を許可します。デフォルトでは、高速道路は許可されています(false)。
avoid_dangerous_turns 省略可 危険な曲がり角を避けるかどうかを指定します。危険な曲がり角を避けるには、true または t に設定します。危険なターンを許可するには、false または f に設定します。デフォルトでは、危険な曲がり角を避けるようになっています(true)。
avoid_trails 省略可

未舗装道路のルート設定を指定します。サポートされている値は次のとおりです。

  • avoid_all(デフォルト): すべての未舗装道路を回避します。
  • allow: 未舗装道路を許可します。
  • avoid_long: 長い未舗装道路を避けます。
vehicle_type 省略可

車両タイプを指定します。サポートされている値は次のとおりです。

  • private(デフォルト): 乗用車。
  • taxi: タクシー車両。
  • motorcycle: オートバイ。

パラメータを結合する

同じ URL でパラメータを組み合わせて使用するには、名前と値のペアを「&」で区切ります。次の例は、パラメータの組み合わせを使用する方法を示しています。

  • Maryhill を中心に地図を表示し、ズームレベルを 10 にするには:

    https://waze.com/ul?ll=45.6906304,-120.810983&z=10
  • 住所を検索してその住所に移動するには:

    https://waze.com/ul?q=66%20Acacia%20Avenue&ll=45.6906304,-120.810983&navigate=yes

utm_source を含める

実装に utm_source を含めると、特定のパートナーに利用状況を関連付けることができます。統合に影響する問題が発生した場合、utm_source を使用してパートナーにフォローアップし、パートナー エクスペリエンスを向上させることができます。詳しくは、iOS の例をご覧ください。問題が発生した場合は、お気軽にお問い合わせください。

このセクションでは、Android プラットフォームと iOS プラットフォームで Waze ディープリンク API を使用する方法の例を示します。

Android の例

次のコード スニペットの例では、Waze がインストールされている場合、Waze を起動して指定された場所を検索します。Waze がインストールされていない場合は、Google Play の Waze のページが開きます。

try {
  // Launch Waze to look for Hawaii:
  String url = "https://waze.com/ul?q=Hawaii";
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
  startActivity(intent);
} catch (ActivityNotFoundException ex) {
  // If Waze is not installed, open it in Google Play:
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.waze"));
  startActivity(intent);
}

iOS の例

次のコード スニペットの例では、Waze がインストールされている場合は緯度/経度に移動し、インストールされていない場合は App Store を起動して Waze をインストールします。

- (void) navigateToLatitude:(double)latitude longitude:(double)longitude
{
  if ([[UIApplication sharedApplication]
    canOpenURL:[NSURL URLWithString:@"waze://"]]) {
      NSString *bundleIdentifier = NSBundle.mainBundle.bundleIdentifier;
      // Waze is installed. Launch Waze and start navigation
      NSString *urlStr =
        [NSString stringWithFormat:@"https://waze.com/ul?ll=%f,%f&navigate=yes&utm_source=%s",
        latitude, longitude, bundleIdentifier];
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
  } else {
    // Waze is not installed. Launch AppStore to install Waze app
    [[UIApplication sharedApplication] openURL:[NSURL
      URLWithString:@"http://itunes.apple.com/us/app/id323229106"]];
  }
}

iOS SDK 9.0 以降でコンパイルする場合は、アプリケーションのプロパティ リスト ファイルを次のように更新して、Waze を含める必要があります。

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>waze</string>
</array>