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[¶m_name=value]
以下是一些常見的 Waze 深層連結工作。
前往地點
如要前往特定地點,請按照下列步驟操作:
- 開啟 Waze 即時地圖並搜尋你的所在位置。輸入搜尋內容,或放大地圖並按一下特定區段。
- 按一下地圖右下角的「分享」圖示
。
- 系統隨即會顯示對話方塊。按一下「分享行車路線」,然後複製及貼上連結。
範例
以下範例將地圖置中,以紐約時代廣場為中心:
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>