วิธีใช้ Deep Link ของ Waze

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[&param_name=value]

ต่อไปนี้เป็นงาน Deep Link ของ 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 คือ 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 ไม่บังคับ

ระบุค่ากำหนดการกำหนดเส้นทางสำหรับถนนที่ไม่ได้ปูผิวทาง ค่าที่รองรับมีดังนี้

  • avoid_all (ค่าเริ่มต้น): หลีกเลี่ยงถนนที่ไม่ได้ปูผิวทางทั้งหมด
  • allow: อนุญาตให้ใช้ถนนที่ไม่ได้ปูผิวทาง
  • avoid_long: หลีกเลี่ยงถนนที่ไม่ได้ปูผิวทางระยะยาว
vehicle_type ไม่บังคับ

ระบุประเภทของยานพาหนะ ค่าที่รองรับมีดังนี้

  • private (ค่าเริ่มต้น): ยานพาหนะส่วนตัว
  • taxi: ยานพาหนะแท็กซี่
  • motorcycle: จักรยานยนต์

รวมพารามิเตอร์

คุณสามารถใช้พารามิเตอร์ร่วมกันใน 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>