Waze รองรับ API ที่ช่วยให้นักพัฒนาแอปเปิดแอปพลิเคชันไคลเอ็นต์หรือหน้าเว็บของ Waze ผ่าน URL ภายนอกได้ โดยสามารถเข้าถึง URL ได้จากภายในแอปพลิเคชันอื่นบนอุปกรณ์เคลื่อนที่หรือหน้าเว็บในอุปกรณ์เคลื่อนที่
URL ฐานสำหรับใช้ Deep Link ของ Waze คือ
https://waze.com/ul
จากนั้นแอปพลิเคชัน Waze จะค้นหาที่อยู่ ทำเครื่องหมายที่อยู่บนแผนที่ หรือเริ่มเซสชันการนำทางไปยังที่อยู่หรือปลายทางได้ โดยขึ้นอยู่กับพารามิเตอร์ที่คุณส่งไปยัง URL นี้
วิธีการทำงานของ Deep Link
Waze จะเปิดเป็นแอปไคลเอ็นต์หรือหน้าเว็บขึ้นอยู่กับการกำหนดค่าระบบของผู้ใช้ ดังนี้
- เดสก์ท็อป: Waze จะเปิดเป็นหน้าเว็บ
- อุปกรณ์เคลื่อนที่ (และติดตั้งแอป Waze ไว้): แอป Waze จะเปิดขึ้น
- อุปกรณ์เคลื่อนที่ (และไม่ได้ติดตั้ง Waze ไว้): Waze จะเปิดเป็นหน้าเว็บ
หากแน่ใจว่าได้ติดตั้งแอป Waze ไว้แล้ว คุณสามารถใช้ URL "waze://" สำหรับการสื่อสารระหว่างแอปโดยไม่ต้องใช้เว็บ ซึ่งจะใช้แทน URL ฐานที่อธิบายไว้ก่อนหน้านี้ โปรดใช้ตัวเลือกนี้เฉพาะในกรณีที่แน่ใจว่าผู้ใช้ได้ติดตั้ง Waze ไว้แล้ว ไม่เช่นนั้นหากผู้ใช้แตะลิงก์ จะไม่มีอะไรเกิดขึ้น
ใช้ Deep Link ของ Waze
คุณสามารถใช้ URL ต่อไปนี้เพื่อเปิด Waze พร้อมพารามิเตอร์จากแอปของบุคคลที่สาม อีเมล SMS ลิงก์หน้าเว็บ หรือแหล่งที่มาอื่นๆ
Deep Link ของ Waze ใช้ URL ต่อไปนี้
https://waze.com/ul?param_name=value[¶m_name=value]
ต่อไปนี้เป็นงาน Deep Link ของ Waze ที่พบบ่อย
นำทางไปยังสถานที่
วิธีนำทางไปยังสถานที่ที่เฉพาะเจาะจง
- เปิดแผนที่แบบเรียลไทม์ของ Waze แล้ว ค้นหาสถานที่ โดยพิมพ์ในช่องค้นหาหรือซูมเข้าแล้วคลิกส่วนใดส่วนหนึ่งของแผนที่
- คลิกไอคอนแชร์
ที่มุมขวาล่างของแผนที่ - กล่องโต้ตอบจะปรากฏขึ้น คลิกแชร์เส้นทางการขับรถ แล้วคัดลอกและวางลิงก์
ตัวอย่าง
ตัวอย่างต่อไปนี้จะตั้งศูนย์กลางแผนที่ที่ไทม์สแควร์ในนิวยอร์ก
https://www.waze.com/ul?ll=40.75889500%2C-73.98513100&navigate=yes&zoom=17
นำทางไปยังรายการโปรด
คุณสามารถนำทางไปยังรายการโปรดต่อไปนี้ที่บันทึกไว้ในแอป Waze
workhome
ใช้ 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 คือ 8192 (ไกลที่สุดหรือ ขยายน้อยที่สุด)
ตัวอย่างต่อไปนี้จะตั้งค่าระดับการขยายเป็น 8
https://waze.com/ul?z=8
พารามิเตอร์ URL
ตารางต่อไปนี้อธิบายพารามิเตอร์การกำหนดเส้นทางที่ใช้ได้กับ Deep Link ของ 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 |
ไม่บังคับ |
ระบุค่ากำหนดการกำหนดเส้นทางสำหรับถนนที่ไม่ได้ปูผิวทาง ค่าที่รองรับมีดังนี้
|
vehicle_type |
ไม่บังคับ |
ระบุประเภทของยานพาหนะ ค่าที่รองรับมีดังนี้
|
รวมพารามิเตอร์
คุณสามารถใช้พารามิเตอร์ร่วมกันใน URL เดียวกันได้โดยคั่นคู่ชื่อ-ค่าด้วย "&" ตัวอย่างต่อไปนี้แสดงวิธีใช้พารามิเตอร์ร่วมกัน
หากต้องการตั้งศูนย์กลางแผนที่ที่ Maryhill และซูมเป็น 10 ให้ใช้ URL ต่อไปนี้
https://waze.com/ul?ll=45.6906304,-120.810983&z=10
หากต้องการค้นหาที่อยู่แล้วนำทางไปยังที่อยู่นั้น ให้ใช้ URL ต่อไปนี้
https://waze.com/ul?q=66%20Acacia%20Avenue&ll=45.6906304,-120.810983&navigate=yes
รวม utm_source
หากคุณรวม utm_source ไว้ในการติดตั้งใช้งาน เราจะเชื่อมโยงการใช้งานกับ
พาร์ทเนอร์รายใดรายหนึ่งได้ หากเกิดปัญหาที่ส่งผลต่อการผสานรวม utm_source
จะช่วยให้เราติดตามผลกับพาร์ทเนอร์และมอบประสบการณ์การใช้งานที่ดีขึ้นแก่พาร์ทเนอร์ได้ ดูรายละเอียดเพิ่มเติมได้ที่
ตัวอย่างของ iOS หากพบปัญหา โปรด
ติดต่อเรา
ตัวอย่าง
ส่วนนี้มีตัวอย่างวิธีใช้ Waze Deep Links API ในแพลตฟอร์ม Android และ iOS
ตัวอย่างของ Android
ตัวอย่างข้อมูลโค้ดต่อไปนี้จะเปิด Waze เพื่อค้นหาสถานที่ที่ระบุ หากมีการติดตั้ง Waze ไว้ หากไม่ได้ติดตั้ง Waze ไว้ ระบบจะเปิดหน้า Waze ใน Google Play
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>