بررسی اجمالی API لایه داده

گره مبتنی بر ابر توسط یک سرور متعلق به گوگل کنترل می شود
شکل 1. نمونه ای از شبکه گره ها با دستگاه های دستی و Wear OS.

Wearable Data Layer API، که بخشی از خدمات Google Play است، یک کانال ارتباطی بین دستگاه‌های پوشیدنی (مانند ساعت‌های هوشمند) و دستگاه‌های دستی متصل (معمولاً تلفن‌های هوشمند) فراهم می‌کند. این روشی برای همگام سازی و انتقال داده ها بین دستگاه ها است.

توجه: این API فقط در ساعت‌های Wear OS و دستگاه‌های Android جفت‌شده در دسترس است. برای ساعت‌های Wear OS جفت‌شده با تلفن‌های iOS، اگر اتصال اینترنت در دسترس باشد، برنامه‌ها می‌توانند از دیگر APIهای مبتنی بر ابر جستجو کنند. برای اطلاعات بیشتر در مورد این APIهای دیگر، از دسترسی به شبکه و همگام‌سازی در Wear OS دیدن کنید.

احتیاط: از آنجایی که APIهای لایه داده برای برقراری ارتباط بین دستگاه‌های دستی و پوشیدنی‌ها طراحی شده‌اند، اینها تنها APIهایی هستند که می‌توانید برای برقراری ارتباط بین این دستگاه‌ها استفاده کنید. به عنوان مثال، سعی نکنید سوکت های سطح پایین را برای ایجاد یک کانال ارتباطی باز کنید.

موارد استفاده رایج

API لایه داده به ویژه برای موارد تناسب اندام و استفاده از رسانه مفید است.

برنامه های تناسب اندام

ارسال داده‌های تمرینی از برنامه Wear OS به برنامه تلفن همراه برنامه‌های تناسب اندام اغلب باید داده‌های ورزشی گرفته‌شده توسط یک ساعت را روی یک برنامه تلفن همراه یا Health Connect بنویسند. اگر از API لایه داده برای انتقال داده استفاده می کنید، از یک سرویس گیرنده پیام برای ارسال داده های تمرین از برنامه Wear OS به برنامه تلفن همراه استفاده کنید تا به Health Connect بنویسید.

در طول تمرین خانگی، داده های زنده را به دستگاه تلفن همراه پخش کنید

یک سناریوی معمول تمرین خانگی این است که داده‌های ضربان قلب را از یک دستگاه Wear OS به یک دستگاه تلفن همراه پخش کند و اطلاعات به‌روز ضربان قلب کاربر را روی صفحه دستگاه تلفن همراه خود نشان دهد. برای پخش جریانی این داده ها، از یک سرویس گیرنده کانال استفاده کنید.

برنامه های رسانه ای

برای کنترل یک پخش کننده رسانه از طریق عمل مکث/ازسرگیری/شروع/پایان از ساعت به تلفن، از یک سرویس گیرنده پیام استفاده کنید.

گزینه های ارتباطی

انتقال داده ها به یکی از روش های زیر انجام می شود:

  1. به طور مستقیم ، زمانی که یک اتصال بلوتوث برقرار شده بین دستگاه Wear OS و دستگاه دیگری وجود دارد.
  2. از طریق یک شبکه موجود ، مانند LTE یا Wi-Fi، با استفاده از یک گره شبکه در سرورهای Google به عنوان واسطه.

بسته به اتصالات موجود در دستگاه، همه مشتریان لایه داده ممکن است با استفاده از بلوتوث یا با استفاده از ابر، داده ها را مبادله کنند. فرض کنید داده هایی که با استفاده از لایه داده منتقل می شوند ممکن است در برخی مواقع از سرورهای متعلق به گوگل استفاده کنند.

بلوتوث

هنگامی که دستگاه ها با استفاده از بلوتوث متصل می شوند، لایه داده از این اتصال استفاده می کند. یک کانال رمزگذاری شده واحد بین دستگاه ها با استفاده از رمزگذاری استاندارد بلوتوث وجود دارد که توسط سرویس های Google Play مدیریت می شود.

ابر

وقتی بلوتوث در دسترس نباشد، داده ها به طور خودکار از طریق Google Cloud هدایت می شوند. تمام داده های منتقل شده از طریق Google Cloud رمزگذاری شده است.

امنیت ارتباطات

سرویس‌های Google Play محدودیت‌های زیر را برای برقراری ارتباط امن‌تر بین برنامه نصب‌شده در دستگاه Wear OS و همان برنامه نصب‌شده در دستگاه دستی مجاور اعمال می‌کند:

  • نام بسته باید با همه دستگاه‌ها مطابقت داشته باشد.
  • امضای بسته باید بین دستگاه ها مطابقت داشته باشد.

هیچ برنامه دیگری صرف نظر از نوع اتصال به داده ها دسترسی ندارد.

راه اندازی

Wearable Data Layer API وابستگی های زیر را دارد:

وابستگی زیر را در فایل build.gradle ماژول Wear خود قرار دهید:

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:18.2.0")
}

فرآیند جفت شدن اولیه را تسهیل کنید

Horologist چندین کتابخانه کمکی را در بالای APIهای پلتفرم ارائه می دهد. این شامل یک کتابخانه لایه داده است که به برقراری ارتباط بین یک دستگاه تلفن همراه و یک دستگاه Wear OS کمک می کند. علاوه بر این، API های مناسبی را برای انجام کارهای زیر فراهم می کند:

  • برنامه را روی دستگاه دیگر نصب کنید.
  • برنامه را روی دستگاه دیگر اجرا کنید.
  • یک فعالیت خاص را در دستگاه دیگر راه اندازی کنید.
  • برنامه همراه را اجرا کنید.

به لایه داده دسترسی داشته باشید

برای فراخوانی Data Layer API، از کلاس Wearable برای دریافت نمونه‌هایی از کلاس‌های کلاینت مختلف، مانند DataClient و MessageClient استفاده کنید.

برای اطلاعات بیشتر، به نمونه DataLayer مراجعه کنید.

از حداقل مشتری استفاده کنید

برای ایجاد یک مشتری، کد مثال زیر را ببینید:

کاتلین

val dataClient: DataClient = Wearable.getDataClient(context)

جاوا

DataClient dataClient = Wearable.getDataClient(context);

زمینه می تواند هر زمینه Android معتبر باشد. اگر از API در محدوده یک Activity استفاده می کنید، از متد getDataClient() کلاس Wearable استفاده کنید. این به برخی از تعاملات اجازه می‌دهد تا به‌جای اعلان، به‌عنوان دیالوگ ظاهر شوند، مانند زمانی که از کاربر خواسته می‌شود نسخه خدمات Google Play خود را به‌روزرسانی کند.

به‌طور پیش‌فرض، تماس‌های پاسخ به شنوندگان در رشته رابط کاربری اصلی برنامه انجام می‌شود. برای اینکه تماس‌های برگشتی روی رشته‌ای دیگر انجام شود، از یک شی WearableOptions برای تعیین یک Looper سفارشی استفاده کنید:

کاتلین

runBlocking {
    Wearable.getDataClient(context, options)
}

جاوا

WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

برای اطلاعات بیشتر، به مرجع WearableOptions.Builder مراجعه کنید.

در صورت لزوم نمونه های مشتری را دوباره ایجاد کنید

کلاینت‌های پوشیدنی API، مانند DataClient و MessageClient ، ارزان هستند. بنابراین به جای نگه داشتن مشتریان، آنها را همانطور که به آنها نیاز دارید، با استفاده از سبکی که مناسب برنامه شما است، بازسازی کنید.

وضعیت سرویس گیرنده، مانند مجموعه شنوندگان ثبت‌شده، در بین همه مشتریان به اشتراک گذاشته می‌شود و در صورت به‌روزرسانی خدمات Google Play در حین اجرای برنامه، حفظ می‌شود.