هدف های داخلی برای اقدامات برنامه

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

هدف های داخلی بر اساس دسته های برنامه گروه بندی می شوند. هر دسته مجموعه ای از وظایف رایج را نشان می دهد که کاربران اغلب می خواهند در برنامه های خود انجام دهند. فهرست کامل BIIهای موجود، پارامترهای آنها و پرس و جوهای نمونه قابل استفاده برای آزمایش در مرجع intent داخلی موجود است.

بسیاری از BII ها الزامات و توصیه های ویژه ای برای استقرار دارند. این الزامات و توصیه‌ها به برنامه شما کمک می‌کند تا بهترین تجربه ممکن را به کاربران ارائه دهد.

شکل 1. START_EXERCISE BII را با یک درخواست صوتی به Assistant فراخوانی کنید.
شکل 2. برای شروع کار START_EXERCISE ، برنامه را در یک صفحه خاص راه اندازی کنید.
شکل 3. یک ویجت را در پاسخ به یک پرس و جو نمایش دهید.

را

BII ها را پیاده سازی کنید و پارامترهای هدف را مدیریت کنید

برای App Actions، قابلیت‌ها را اعلام می‌کنید و پارامترهای BII را در فایل shortcuts.xml خود مدیریت می‌کنید. برای پیاده سازی یک BII و مدیریت پارامترهای آن، مراحل زیر را دنبال کنید:

  1. capability را با BII انتخاب شده اعلام کنید.
  2. عناصر parameter تو در تو را برای هر فیلد BII که می خواهید اضافه کنید اضافه کنید.
    1. اگر از targetClass یا targetPackage استفاده می‌کنید، با استفاده از نامی که انتخاب می‌کنید، آن‌ها را به extras قصد Android نگاشت کنید.
    2. اگر از URL پیوند عمیق استفاده می کنید، از پارامترهای نامگذاری شده در رشته جستجوی قالب URL استفاده کنید.

برای مدیریت یک پارامتر BII، پارامتر BII را به پارامتر متناظر یک هدف صریح Android در capability خود نگاشت کنید. سپس، می توانید از ارزش آن در برنامه خود استفاده کنید. برنامه شما نیازی به کنترل پارامترهای BII ندارد. با این حال، سعی کنید فیلدهای داده ای را که به عنوان "توصیه شده" در مرجع intent داخلی علامت گذاری شده اند، مدیریت کنید.

شما می توانید چندین هدف را تعریف کنید که هر کدام مجموعه ای از پارامترهای توصیه شده خاص خود را دارند. Google بر اساس پارامترهای قابلیتی که از درخواست کاربر و مواردی که در یک intent اعلام شده است، انجام مناسب را انتخاب می کند.

برای مثال، intent actions.intent.START_EXERCISE توصیه می‌کند که برنامه شما پارامتر BII exercise.name را مدیریت کند، اما می‌توانید BII را بدون هیچ پارامتری در برنامه خود پیاده‌سازی کنید. اگر می‌خواهید به درخواست‌های کاربر بدون نام تمرین خاص رسیدگی کنید، ممکن است این کار را انجام دهید .

اگر پارامترها در پرس و جوی کاربر گنجانده نشده باشند، قطعه زیر بازگشتی به یک تکمیل دارد که هیچ پارامتر لازمی ندارد:

<?xml version="1.0" encoding="utf-8"?>
<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:targetClass="com.example.myapplication.Activity1"
            android:targetPackage="com.example.myapplication">
            <parameter
                android:name="exercise.name"
                android:key="exerciseType"
                android:required="true"
                />
        </intent>
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity2">
        </intent>
    </capability>
</shortcuts>

Google Assistant تمام تلاش خود را می کند تا هنگام بازگرداندن مقادیر پارامتر به برنامه شما، مرتبط ترین اطلاعات را به کاربر ارائه دهد. به‌عنوان مثال، درخواست‌های کاربر برای سفارش پیتزا از برنامه تلفن همراه رستوران Example همیشه شامل یک مکان نمی‌شود. برای ارائه خدمات بهتر به کاربر، دستیار ممکن است مقادیر طول و عرض جغرافیایی نزدیکترین رستوران نمونه را به آن برنامه ارائه دهد.

به عنوان یک نیاز اضافی، نمی‌خواهید برنامه شما مستقیماً اقدامی را انجام دهد که وضعیت واقعی کاربر را تغییر می‌دهد (به عنوان مثال، انتقال پول، ثبت سفارش یا ارسال پیام) بدون اینکه قبلاً کار را با کاربر تأیید کند.

ابهام زدایی

آرگومان‌هایی که از طریق <url-parameter> به برنامه شما ارسال می‌شوند یا موارد اضافی قصد ممکن است موردی را که می‌خواهید به کاربر نشان دهید به‌طور منحصربه‌فرد شناسایی نکنند. در این حالت، از مقدار آرگومان به عنوان آرگومان جستجو استفاده کنید و کاربر را به صفحه جستجوی برنامه ببرید. آنها می توانند ابهام زدایی کنند و مورد مناسب را انتخاب کنند.

برای مثال، اگر درخواست کاربر «سفارش از رستوران نمونه» برای BII ORDER_MENU_ITEM باشد، می‌توانید فهرستی از رستوران‌ها را به کاربر ارائه دهید که نام‌شان با عبارت "Example Restaurant" مطابقت دارد.

پشتیبانی از زبان و محلی

زبان‌های پشتیبانی شده برای توسعه و آزمایش توسط هر App Action BII در مرجع هدف داخلی فهرست شده‌اند. برخی از BII ها پشتیبانی محلی متفاوتی برای آزمایش توسعه دهندگان و برای راه اندازی کاربر از دستیار دارند.