Google Assistant برای Wear OS

دستیارهای صوتی ساعت سناریوهای سریع و کارآمد در حال حرکت را فعال می کنند. تعاملات صوتی در پوشیدنی ها پویا است، به این معنی که کاربر ممکن است در حالی که منتظر پاسخ است، بدون اینکه لزوماً به دستگاه نگاه کند، با مچ دست خود صحبت کند.

با Assistant App Actions، توسعه‌دهندگان Android می‌توانند برنامه‌های Wear OS را به Google Assistant گسترش دهند و کاربران را با دستورات صوتی مانند «Hey Google, start my run on ExampleApp» را به سرعت به برنامه‌هایشان منتقل کنند.

محدودیت ها

Assistant on Wear از تعاملات فعالیت ردیابی رسانه و تمرین پشتیبانی می کند. برای راهنمایی در مورد ادغام برنامه های رسانه با دستیار، به دستیار Google و برنامه های رسانه مراجعه کنید. BII های Health and Fitness زیر برای برنامه های Wear OS پشتیبانی می شوند:

چگونه کار می کند

App Actions عملکرد برنامه را به Assistant گسترش می دهد و به کاربران امکان می دهد با استفاده از صدای خود به سرعت به ویژگی های برنامه دسترسی پیدا کنند. وقتی کاربری به دستیار نشان می‌دهد که می‌خواهد از برنامه شما استفاده کند، دستیار به دنبال اقدامات برنامه ثبت‌شده در برنامه شما در منبع shortcuts.xml برنامه می‌گردد.

اقدامات برنامه در shortcuts.xml با عناصر قابلیت Android توضیح داده شده است. عناصر قابلیت، مقاصد داخلی (BII) را جفت می کنند، که توضیحات معنایی یک قابلیت برنامه هستند، با دستورالعمل های تکمیلی، مانند یک الگوی پیوند عمیق. وقتی برنامه خود را با استفاده از کنسول Google Play آپلود می‌کنید، Google قابلیت‌های اعلام‌شده در shortcuts.xml را ثبت می‌کند و آن‌ها را در دسترس کاربران قرار می‌دهد تا از دستیار فعال شوند.

عملکردهای برنامه جریان دارد

نمودار قبلی یک کاربر را نشان می دهد که تمرین خود را در یک برنامه مستقل متوقف می کند. مراحل زیر رخ می دهد:

  1. کاربر یک درخواست صوتی از Assistant برای اپلیکیشن پوشیدنی خاص می کند.
  2. Assistant درخواست را با یک مدل از پیش آموزش‌دیده (BII) مطابقت می‌دهد، و هر پارامتری را که در جستار یافت می‌شود و توسط BII پشتیبانی می‌شود استخراج می‌کند.
  3. در مثال، Assistant پرس و جو را با PAUSE_EXERCISE BII مطابقت می دهد و پارامتر نام تمرین، "hike" را استخراج می کند.
  4. برنامه از طریق تعریف اجرای قابلیت shortcuts.xml برای این BII راه اندازی می شود.
  5. برنامه اجرا را پردازش می کند و تمرین را متوقف می کند.

قابلیت اتصال

توسعه App Actions بسته به عملکرد برنامه شما در اکوسیستم دستگاه مجهز به Android متفاوت است.

  • Tethered : هنگامی که یک برنامه پوشیدنی برای عملکرد کامل به برنامه تلفن همراه وابسته است، سؤالات کاربر از طریق ساعت به دستیار در دستگاه تلفن همراه انجام می شود. منطق اجرای App Actions باید در برنامه تلفن همراه تعبیه شود تا این سناریو به درستی عمل کند.

  • Untethered : وقتی یک برنامه پوشیدنی برای عملکرد مستقل از یک برنامه تلفن همراه است، «دستیار» سؤالات کاربر را به صورت محلی در ساعت انجام می دهد. قابلیت‌های App Actions باید در برنامه پوشیدنی تعبیه شود تا این درخواست‌ها به درستی انجام شوند.

قابلیت های صوتی را به Wear اضافه کنید

با دنبال کردن این مراحل، App Actions را با برنامه Wear OS خود یکپارچه کنید:

  1. عملکرد درون برنامه‌ای را که می‌خواهید صدا را فعال کنید با یک BII مربوطه مطابقت دهید.
  2. پشتیبانی از میانبرهای Android را در منبع AndroidManifest.xml فعالیت اصلی خود اعلام کنید.

    <!-- AndroidManifest.xml -->
    <meta-data
        android:name="android.app.shortcuts"
        android:resource="@xml/shortcuts" />
    
  3. یک عنصر <intent-filter> به AndroidManifest.xml اضافه کنید. این به دستیار امکان می‌دهد از پیوندهای عمیق برای اتصال به محتوای برنامه شما استفاده کند.

  4. Shortcuts.xml را برای ارائه جزئیات تکمیل برای BII خود ایجاد کنید . شما از عناصر میانبر capability برای اعلام BII هایی که برنامه شما پشتیبانی می کند به دستیار استفاده می کنید. برای اطلاعات بیشتر، به افزودن قابلیت ها مراجعه کنید.

  5. در shortcuts.xml ، یک قابلیت برای BII انتخابی خود پیاده سازی کنید. نمونه زیر یک قابلیت برای START_EXERCISE BII را نشان می‌دهد:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- This is a sample shortcuts.xml -->
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
      <capability android:name="actions.intent.START_EXERCISE">
        <intent
          android:action="android.intent.action.VIEW"
          android:targetPackage="YOUR_UNIQUE_APPLICATION_ID"
          android:targetClass="YOUR_TARGET_CLASS">
          <!-- Eg. name = "Running" -->
          <parameter
            android:name="exercise.name"
            android:key="name"/>
          <!-- Eg. duration = "PT1H" -->
          <parameter
            android:name="exercise.duration"
            android:key="duration"/>
        </intent>
      </capability>
    </shortcuts>
    
  6. در صورت امکان، پشتیبانی از تغییرات گفتار کاربر را با استفاده از فهرستی درون خطی که ویژگی‌ها و محتوای برنامه شما را نشان می‌دهد، گسترش دهید.

    <capability android:name="actions.intent.START_EXERCISE">
      <intent
        android:targetPackage="com.example.myapp"
        android:targetClass="com.example.myapp.ExerciseActivity">
        <parameter android:name="exercise.name" android:key="exercise" />
      </intent>
    </capability>
    
    <shortcut android:shortcutId="CARDIO_RUN">
      <capability-binding android:key="actions.intent.START_EXERCISE">
        <parameter-binding
          android:key="exercise.name"
          android:value="@array/run_names" />
        </capability-bindig>
    </shortcut>
    
  7. منطق برنامه خود را به روز کنید تا عملیات اجرایی برنامه ورودی را مدیریت کنید.

    //FitMainActivity.kt
    
    private fun handleIntent(data: Uri?) {
        var actionHandled = true
        val startExercise = intent?.extras?.getString(START_EXERCISE)
    
        if (startExercise != null){
            val type = FitActivity.Type.find(startExercise)
            val arguments = Bundle().apply {
                putSerializable(FitTrackingFragment.PARAM_TYPE, type)
            }
            updateView(FitTrackingFragment::class.java, arguments)
        }
        else{
            showDefaultView()
            actionHandled = false
        }
        notifyActionSuccess(actionHandled)
    }
    

برنامه خود را پیش نمایش، آزمایش و منتشر کنید

App Actions ابزارهایی برای بررسی و آزمایش برنامه شما ارائه می دهد. برای اطلاعات بیشتر، به افزونه دستیار Google برای Android Studio مراجعه کنید. هنگامی که برنامه خود را آزمایش کردید و نسخه آزمایشی ایجاد کردید، می‌توانید درخواست بررسی و استقرار App Actions کنید. بهترین روش های زیر را برای راهنمایی در مورد رسیدگی به خطاهای رایج مرور کنید.

بهترین شیوه ها

با پیروی از این بهترین شیوه های توصیه شده، هنگام ادغام برنامه خود با Assistant، تجربه کاربری مثبتی ایجاد کنید.

نمایش یک صفحه تأیید مربوطه یا مربوطه، همراه با بازخورد لمسی و صوتی، برای پاسخ به درخواست کاربر - چه هنگام انجام موفقیت آمیز یک درخواست، یا برای هشدار در مورد یک خطا.

کیفیت پایه کیفیت بهتر بهترین کیفیت
  • یک قصد برای شروع ConfirmationActivity از یک اکتیویتی ایجاد کنید.
  • یک قصد برای شروع ConfirmationActivity از یک فعالیت ایجاد کنید.
  • برای نشان دادن وضعیت فعلی، صدای زنگ و بازخورد لمسی را پخش کنید.
  • یک قصد برای شروع ConfirmationActivity از یک فعالیت ایجاد کنید.
  • متن به گفتار (TTS) و بازخورد لمسی برای نشان دادن خطا یا موفقیت.

خطاها و راهکارهای رایج

برای موارد خطای زیر، از پیام‌رسانی ConfirmationActivity برنامه پیشنهادی زیر استفاده کنید.

مورد خطا نمونه تعامل کاربر پاسخ برنامه
فعالیت در حال حاضر ادامه دارد "Start my ExerciseName "
"Resume my ExerciseName "
خطای نمایش: فعالیت از قبل در حال انجام است."
هیچ فعالیتی شروع نشده است "مکث/توقف من ExerciseName " خطای نمایش: "هیچ فعالیتی شروع نشده است."
عدم تطابق انواع فعالیت "Pause/Stop my ExerciseName "، که یک نوع تمرین متفاوت از فعالیت در حال انجام است. خطای نمایش: «عدم تطابق نوع فعالیت».
خطای ورود "Start my ExerciseName "، زمانی که کاربر وارد برنامه نشده باشد. برای هشدار به کاربر و تغییر مسیر به صفحه ورود به سیستم لمسی بازی کنید.
خطای مجوزها کاربر اجازه شروع فعالیت درخواستی خود را ندارد. برای هشدار به کاربر و تغییر مسیر به صفحه درخواست مجوز، لمسی را پخش کنید.
مشکل سنسور کاربر خدمات مکان را در تنظیمات دستگاه خود خاموش کرده است. برای هشدار به کاربران و نمایش صفحه خطای سنسور، لمسی را پخش کنید. مراحل بعدی اختیاری:
  • بدون ردیابی حسگر شروع به فعالیت کنید و به کاربر اطلاع دهید.
  • درخواست تأیید کاربر برای شروع فعالیت بدون ردیابی حسگر.