如何使用 Waze 深層連結

Waze 支援的 API 可讓開發人員透過外部網址開啟 Waze 用戶端應用程式或網頁。使用者可以透過其他行動應用程式或行動網頁存取該網址。

使用 Waze 深層連結的基本網址如下:

https://waze.com/ul

接著,Waze 應用程式會根據您傳遞至這個網址的參數,找出地址、在地圖上標示地址,或啟動前往地址或目的地的導航工作階段。

深層連結的運作方式

系統會根據使用者的系統設定,決定 Waze 是以用戶端應用程式還是網頁的形式開啟:

  • 電腦:Waze 會以網頁形式開啟。
  • 行動裝置 (已安裝 Waze 應用程式):Waze 應用程式會開啟。
  • 行動裝置 (未安裝 Waze):Waze 會以網頁形式開啟。

如果您確定已安裝 Waze 應用程式,可以使用網址「waze://」進行應用程式對應用程式通訊,而無需透過網頁體驗。這會取代上述的基準網址。只有在確知使用者已安裝 Waze 時,才使用這個選項;否則,使用者點選連結後不會發生任何事。

使用 Waze 深層連結

您可以使用下列網址,透過第三方應用程式、電子郵件、簡訊、網頁連結或其他來源的參數啟動 Waze。

Waze 深層連結會使用以下網址:

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

使用下列網址前往指定的收藏內容:

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

以下範例會將目的地設為工作:

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

使用以下語法搜尋地址:

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

您傳遞的參數值必須經過網址編碼。例如,您必須將空格替換為 %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 的最大值為 8192 (最遠或最小放大倍率)。

以下範例將放大倍率設為 8:

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

結合參數

您可以使用 "&" 將名稱/值組合分隔開來,在同一個網址中同時使用多個參數。以下範例說明如何使用參數組合:

  • 如要將地圖置中並縮放至 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 Deep Links 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 已安裝的情況下前往 lat/lon,否則會啟動 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>