วิธีใช้ 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 เดียวกันได้โดยคั่นคู่ชื่อ-ค่าด้วย "&" ตัวอย่างต่อไปนี้แสดงวิธีใช้ชุดค่าผสมของพารามิเตอร์

  • วิธีจัดให้แผนที่อยู่ตรงกลางที่ 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 หากพบปัญหาใดๆ โปรดติดต่อเรา

ตัวอย่าง

ส่วนนี้จะแสดงตัวอย่างวิธีใช้ 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

ตัวอย่างข้อมูลโค้ดต่อไปนี้จะไปยัง lat/lon หากมีการติดตั้ง 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>