نحوه استفاده از Waze Deep Links

Waze از یک API پشتیبانی می کند که به توسعه دهندگان امکان می دهد برنامه یا صفحه وب سرویس گیرنده Waze را از طریق یک URL خارجی باز کنند. URL را می توان از داخل یک برنامه تلفن همراه دیگر یا یک صفحه وب تلفن همراه مشاهده کرد.

URL پایه برای استفاده از Waze Deep Links این است:

https://waze.com/ul

سپس برنامه Waze می‌تواند یک آدرس را پیدا کند، یک آدرس را روی نقشه علامت‌گذاری کند یا یک جلسه ناوبری را به یک آدرس یا مقصد شروع کند، بر اساس پارامترهایی که به این URL ارسال می‌کنید.

پیوندهای عمیق چگونه کار می کنند

اینکه Waze به عنوان یک برنامه مشتری باز می شود یا یک صفحه وب به پیکربندی سیستم کاربر بستگی دارد:

  • دسکتاپ : Waze به عنوان یک صفحه وب باز می شود.
  • دستگاه تلفن همراه (و برنامه Waze نصب شده است): برنامه Waze باز می شود.
  • دستگاه تلفن همراه (و Waze نصب نشده است): Waze به عنوان یک صفحه وب باز می شود.

اگر مطمئن هستید که برنامه Waze نصب شده است، می توانید از URL "waze://" برای ارتباط برنامه به برنامه بدون تجربه وب استفاده کنید. این به جای URL اصلی است که در بالا توضیح داده شد. فقط در صورتی از این گزینه استفاده کنید که مطمئن هستید کاربران شما Waze را نصب کرده اند. در غیر این صورت، اگر کاربران روی لینک ضربه بزنند، هیچ اتفاقی نمی افتد.

از پیوندهای عمیق Waze استفاده کنید

می‌توانید از URL زیر برای راه‌اندازی Waze با پارامترهای یک برنامه شخص ثالث، ایمیل، پیامک، پیوند صفحه وب یا منبع دیگر استفاده کنید.

Waze Deep Links از URL زیر استفاده می کند:

https://waze.com/ul?param_name=value[&param_name=value]

در زیر تعدادی از وظایف رایج Waze Deep Links آورده شده است.

برای حرکت به یک مکان خاص:

  1. Waze Live Map را باز کنید و مکان خود را جستجو کنید. یا در کادر جستجو تایپ کنید یا بزرگنمایی کنید و روی قسمت خاصی از نقشه کلیک کنید.
  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 استفاده کنید. مثال های زیر نحوه استفاده از ترکیب پارامترها را نشان می دهد:

  • برای وسط نقشه در مری هیل و زوم تا 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 در پلتفرم های اندروید و iOS ارائه شده است.

مثال اندروید

نمونه کد زیر در صورت نصب 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 به 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>