هنگامی که یک کاربر اقدامات رسانه ای را روی محتوا شروع می کند (برای مثال، کاربر روی نماد شما در جستجوی Google کلیک می کند)، Google با استفاده از پیوند عمیق محتوا، کاربر را مستقیماً به محتوای برنامه یا پلت فرم شما می برد.
پیوند عمیق
شرایط زیر برای پیوندهای عمیق وجود دارد:
-
urlTemplate
(یک شی هدف ) به پیوند عمیق نیاز دارد. - پیوندهای عمیق باید محتوای مورد نظر خود را در تمام پلتفرم های مشخص شده باز کنند.
- پیوندهای عمیق می توانند شامل پارامترهای (&) یا تگ های لنگر (#) باشند.
- اگر پخش خودکار به طور پیشفرض فعال نیست، توصیه میکنیم پارامتری مانند
&autoplay=true
را به پیوند عمیق اضافه کنید تا قابلیت پخش خودکار در برنامه یا پلتفرم خود فعال شود .
- اگر پخش خودکار به طور پیشفرض فعال نیست، توصیه میکنیم پارامتری مانند
نمونه ای از @id
، url
و urlTemplate
:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie",
"url": "http://www.example.com/my_favorite_movie",
"name": "My Favorite Movie",
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/my_favorite_movie&autoplay=true",
...
},
...
},
...
}
از پیوندهای عمیق برای شروع پخش استفاده کنید
شبه کد زیر نشان دهنده رفتار مورد نظر در هنگام شروع پخش توسط کاربر است:
if your app is installed
open app and initiate playback
elseif your website supports playback
open your website and initiate playback
else
take user to your app's install page on the Play or App store and then
initiate playback after your app is installed
برای دستیابی به رفتار پخش مطلوب، الزامات ویژه پلتفرم زیر را رعایت کنید:
- iOS
- شما باید از پیوندهای جهانی استفاده کنید.
- اندروید و اندروید تی وی
- میتوانید از پیوندهای برنامه Android یا پیوندهای طرح سفارشی استفاده کنید.
پیوندهای طرح سفارشی برای Android و Android TV
در Android و Android TV نیز میتوانید از پیوندهای طرح سفارشی استفاده کنید. package_id
برنامه شما باید در URI طرح سفارشی گنجانده شود. این تضمین می کند که اگر برنامه شما نصب نشده باشد، کاربر به صفحه برنامه شما در Play Store منتقل می شود. بنابراین، فرمتهای URI زیر تنها قالبهای طرح سفارشی قابل قبول برای Media Actions هستند:
-
android-app://{package_id}/{scheme}/{path}
مثلا:
android-app://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
برای جزئیات بیشتر، مشخصات کامل را ببینید.
-
intent://{package_id}/{scheme}/{path}
مثلا:
intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
سایر قالبهای URI، مانند مثال زیر، پیوندهای طرح سفارشی قابل قبولی برای Media Actions نیستند:
-
scheme://{path}
مثلا:
mynetwork://play?series=20114&title=21141&media=e90c89fa4
بهترین شیوه ها
در صورتی که برنامه شما نصب نشده است و پخش کننده وب ندارید، وب سرور خود را پیکربندی کنید تا به طور خودکار کاربر را به Android یا App Store هدایت کند تا برنامه شما را نصب کند. برای تغییر مسیر، از پیوندهای دینامیک Firebase یا پلتفرم های لینک هوشمند شخص ثالث استفاده کنید.
در صورتی که برنامه شما نصب نشده است و یک پخش کننده وب دارید ، یک پیوند یا بنر هوشمند به Android یا App Store ارائه دهید تا کاربران برنامه شما را نصب کنند. نمونه زیر یک بنر هوشمند پیاده سازی شده است:
خلاصه ای از الزامات و محدودیت های پیوند عمیق
جدول زیر الزامات و محدودیتهای پیوندهای عمیق را نشان میدهد، زیرا مربوط به iOS، Android و AndroidTV هستند:
iOS | اندروید و اندروید تی وی | |
---|---|---|
http:// یا https:// | ضروری | اگر وبسایت تلفن همراه از پخش پشتیبانی میکند، توصیه میشود. |
android-app:// یا intent:// | N/A | اگر وبسایت تلفن همراه از پخش پشتیبانی نمیکند، توصیه میشود. |
foo:// (رشته دلخواه) | مجاز نیست | مجاز نیست |
انواع پلت فرم
برای اطمینان از اینکه محتوای شما در پلتفرمهای چندگانه Google (جستجو، دستیار، Android TV و Chromecast) در دسترس است، شرایط زیر را رعایت کنید:
- همه پلتفرم های پشتیبانی شده توسط شریک به یک پیوند عمیق برای محتوای شما نیاز دارند.
- برای پلتفرمهای Chromecast، باید با استفاده از آخرین SDK گیرنده Cast Application Framework (CAF) یک گیرنده بسازید.
- برای پلتفرمهای تلفن همراه (اندروید و iOS)، الزامات را در بخش Use deep links to start playback ببینید.
جدول زیر شامل فهرستی از پلتفرم هایی است که از Media Actions پشتیبانی می کنند:
سکو | شرح |
---|---|
http://schema.org/DesktopWebPlatform | پلت فرم جستجو در مرورگر وب دسکتاپ. |
http://schema.org/MobileWebPlatform | پلت فرم جستجو در مرورگر وب تلفن همراه. |
http://schema.org/AndroidPlatform | پلتفرم های جستجو و PlayGuide در برنامه اندروید. |
http://schema.org/AndroidTVPlatform | پلت فرم Android TV در برنامه Android TV. |
http://schema.org/IOSPlatform | پلت فرم جستجو در برنامه iOS. |
http://schema.googleapis.com/GoogleVideoCast | پلتفرمهای Cast و Home در دستگاه Chromecast. |
http://schema.googleapis.com/GoogleAudioCast | فقط Listen Actions پلتفرمهای Cast و Home در دستگاه Chromecast. |
مثالی از یک موجودیت با دو پیوند عمیق متفاوت:
"potentialAction": {
"@type": "WatchAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/standardView",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
{
"@type":"EntryPoint",
"urlTemplate":"http://example.com/multipleViews",
"actionPlatform": [
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "videoFormat",
"value": [ "HD", "4K" ]
}
],
}
],
...
}
رفتار پخش
برای اکثر محتواها، وقتی Google کاربران را به برنامه یا پلتفرم شما می برد، از شما می خواهیم که محتوای انتخاب شده را به صورت خودکار پخش کنید. این به کاربران اجازه می دهد تا به سرعت شروع به تماشا یا گوش دادن به محتوا کنند.
رفتار پخش Actions را تماشا کنید
برای Watch Actions، به رفتار پخش زیر نیاز داریم.
همه پیوندهای عمیق: فیلم، قسمت تلویزیونی، سریال تلویزیونی و فصل تلویزیون
رفتار ورود به سیستم یا خرید: اگر سرویس شما نیاز به ورود به سیستم یا خرید دارد، فیلم یا قسمت باید متناسب با نوع آن، پس از آن پخش شود. برای جزئیات بیشتر، دستورالعمل های پیوند عمیق را که در ادامه می آید ببینید.
پخش: اگر سرویس شما وضعیت کاربر را ردیابی می کند، پخش باید از نشانگر قبلی کاربر در فیلم یا قسمت شروع شود. در غیر این صورت، پخش باید از ابتدای محتوا شروع شود.
پخش خودکار: بسته به پلتفرم، لازم است سرویس شما پس از انتخاب قسمت یا فیلم مورد نظر توسط کاربر، محتوا را به طور برجسته پخش کند.
- جستجو: پخش خودکار بسیار توصیه می شود، اما لازم نیست. اگر پخش خودکار پشتیبانی نمیشود، پس از اینکه کاربر به برنامه یا سرویس شما منتقل شد، محتوا باید با یک کلیک پخش شود.
- Android TV: پخش خودکار برای فیلم و قسمت مورد نیاز است.
فقط پیوندهای عمیق سریال TV و TVSeason
انتخاب قسمت هدف: باید قسمت مورد نظر را درست انتخاب کنید. اگر سرویس شما وضعیت یک کاربر را ردیابی می کند، قسمت مورد نظر باید قسمتی باشد که کاربر آخرین بار تماشای آن را متوقف کرده است. یا اگر کاربر اپیزودی را که آخرین بار تماشا کرده بود به طور کامل به پایان رساند، در عوض قسمت مورد نظر را به قسمت بعدی تبدیل کنید. در غیر این صورت، قسمت مورد نظر به تشخیص شما باید یکی از موارد زیر باشد:
-
TVSeries
- قسمت اول سریال. برای نمایش های سریالی توصیه می شود.
- اولین قسمت از آخرین فصل. برای نمایش های سریالی طولانی مدت توصیه می شود.
- آخرین قسمت. برای نمایش های روزانه یا مرتبط با اخبار توصیه می شود.
-
TVSeason
- قسمت اول فصل. برای نمایش های سریالی توصیه می شود.
- آخرین قسمت. برای نمایش های روزانه یا مرتبط با اخبار توصیه می شود.
پیوند عمیق برای
TVSeries
یاTVSeason
باید ثابت (بدون تغییر) باشد و به قسمت مورد نظر برسد. از لینک عمیق برای یک قسمت خاص استفاده نکنید.جدول زیر چندین مثال ارائه می دهد که منطق انتخاب قسمت مورد نیاز برای تیپ های
TVSeries
،TVSeason
وTVEpisode
را نشان می دهد:اگر کاربر آخرین بار S6E24 را تماشا کرده است، قسمت مورد نظر را هدف قرار دهید اگر کاربر هیچ قسمتی را تماشا نکرده است، قسمت را هدف قرار دهید لینک عمیق سریال - S6E24 (اگر کاربر S6E24 را تمام نکرده باشد)
- S6E25 (اگر کاربر تماشای S6E24 را تمام کرده باشد)
یکی از موارد زیر:
- قسمت اول سریال
- قسمت اول آخرین فصل
- آخرین قسمت
پیوند عمیق فصل (S1-S5) - آخرین قسمتی که کاربر در آن فصل تماشا کرده است، یا اگر کاربر هیچ قسمتی را در آن فصل ندیده باشد، اولین قسمت فصل را تماشا کرده است.
- قسمت اول فصل
پیوند عمیق فصل (S6) - S6E24 (اگر کاربر S6E24 را تمام نکرده باشد)
- S6E25 (اگر کاربر تماشای S6E24 را تمام کرده باشد)
یکی از موارد زیر:
- قسمت اول فصل
- آخرین قسمت
لینک عمیق قسمت - قسمت خاصی که کلیک شد.
- قسمت خاصی که کلیک شد.
-
رفتار پخش کنشها گوش کنید
برای Listen Actions، به رفتار پخش زیر نیاز داریم:
- پس از اینکه کاربر به برنامه یا سرویس شما منتقل شد، محتوا باید با یک کلیک پخش شود.
- اگر برنامه یا پلتفرم شما نیاز به ورود به سیستم دارد، باید محتوا را بلافاصله یا با یک کلیک پس از ورود به سیستم پخش کند.
- برنامه یا پلتفرم شما باید حداقل یک راه را برای همه کاربران برای پخش دقیق آهنگ، آلبوم، هنرمند یا لیست پخش ارائه دهد.
- برای کاربرانی که واجد شرایط پخش محتوای دقیق نیستند (مثلاً اشتراک لازم را ندارند)، سرویس شما باید توضیح دهد که کاربر برای واجد شرایط شدن برای پخش محتوای دقیق پس از ورود به برنامه یا پلتفرم شما، چه کاری باید انجام دهد.
ما بهترین روشهای زیر را برای برنامه یا پلتفرم شما توصیه میکنیم:
- برای
MusicGroup
، هر بار که کاربر هنرمندی را انتخاب میکند، محتوای متفاوتی از هنرمند پخش کنید. - برای
MusicAlbum
، محتوا را به ترتیب ظاهر در آلبوم پخش کنید. - برای
MusicPlaylist
، هر بار که کاربر لیست پخش را انتخاب می کند، محتوای متفاوتی را از لیست پخش پخش کنید.
پیوندهای عمیق را شناسایی کنید
موارد زیر را انجام دهید:
- برای هر محتوا، بررسی کنید که آیا پیوندهای عمیق متفاوتی بر اساس پلتفرم دارد یا خیر.
- برای هر پیوند عمیق، سؤالات زیر را در مورد نقطه ورودی آن بپرسید (صفحه برنامه یا پلتفرم شما که پیوند عمیق شما را به آن می برد):
- آیا نقطه ورودی (نه محتوا) از چندین زبان پشتیبانی می کند؟
- آیا نقطه ورودی از چندین زبان زیرنویس پشتیبانی می کند؟
- آیا نقطه ورودی از چندین زاویه دوربین پشتیبانی می کند؟
- آیا نقطه ورودی از چندین فرمت ویدیویی پشتیبانی می کند؟
اگر پاسخ شما به هر یک از این سؤالات مثبت است، باید ویژگی additionalProperty
را برای آن پیوند عمیق ارائه دهید. مثال extraProperty را ببینید.