Firebase App Indexing سرویسی از Google است که محتوای برنامههای موبایل را نمایهسازی کرده و آن را در نتایج جستجو قابل دسترس میسازد و به کاربران امکان میدهد مستقیماً از نتایج جستجوی Google به صفحه مورد نظر برنامه منتقل شوند. App Indexing طرحوارههای URI برنامه را با صفحات نمایهسازیشده وبسایت مرتبط میکند و یک سیستم جستجوی یکپارچه ایجاد مینماید. طبق اطلاعات Firebase Documentation, 2026، برنامههای دارای App Indexing پیکربندیشده به طور متوسط 30% ترافیک اضافی از جستجوی Google در دستگاههای Android دریافت میکنند. این سرویس نمایهسازی خودکار از طریق Google Play Services و دستی از طریق Firebase App Indexing API را پشتیبانی میکند.
نکات اصلی
Firebase App Indexing فناوری Google است که محتوای برنامه موبایل را برای ربات جستجوی Google قابل دسترس میسازد و امکان نمایهسازی صفحههای برنامه را همانطور که Google صفحات وب را نمایهسازی میکند، فراهم مینماید. هنگامی که محتوای برنامه نمایهسازی شد، کاربر میتواند آن را در Google Search، Google Assistant یا Google Lens پیدا کند و مستقیماً با یک کلیک به صفحه مورد نظر برنامه منتقل شود و از صفحه وب عبور کند.
Google برنامهها را از طریق دو مکانیزم نمایهسازی میکند: نمایهسازی خودکار و Firebase App Indexing API. نمایهسازی خودکار در Android از طریق Google Play Services کار میکند: اگر برنامه نصب شده باشد، Google به طور خودکار محتوایی را که لینکهای عمیق به آن وجود دارد نمایهسازی میکند. نمایهسازی API به برنامهنویس امکان میدهد با استفاده از Firebase App Indexing API برای بهروزرسانی یا حذف صفحات نمایهسازیشده، به صورت برنامهریزی شده مدیریت کند که چه محتوایی در جستجو قابل مشاهده است.
نمایهسازی برنامه چندین مسئله را حل میکند: جذب کاربران جدید از جستجوی Google (نتایج جستجو محتوای برنامه را در کارتها نمایش میدهند). افزایش تعامل — کاربران موجود محتوای مورد نظر را سریعتر از طریق جستجو در دستگاه پیدا میکنند. افزایش نصبها — جستجوی Google لینکهای عمیق به محتوا را نشان میدهد و اگر برنامه نصب نشده باشد، Google لینک نصب را نمایش میدهد. App Indexing همچنین دید برنامه را در Google Assistant بهبود میبخشد که میتواند در جستجوی صوتی باز کردن برنامه را پیشنهاد دهد.
فرآیند نمایهسازی با کشف طرحوارههای URI برنامه شما توسط Google آغاز میشود. برای Android، Google از اطلاعات Google Play Store (سطح API، intent-filter، طرحوارههای URI) برای ساخت نقشه برنامه استفاده میکند. برای iOS، نمایهسازی از طریق Spotlight Integration و CSSearchableIndex انجام میشود. هنگامی که Google محتوای برنامه را نمایهسازی میکند، URI (مثلاً myapp://product/123) را با URL وب (در صورت وجود) مرتبط میکند و این جفت را در ایندکس جستجو ذخیره میکند.
برای نمایهسازی صحیح، Google باید ارتباط بین برنامه شما و وبسایت را درک کند. Digital Asset Links فایل JSON است که در وبسایت شما بارگذاری میشود و تأیید میکند که برنامه موبایل به مالک سایت تعلق دارد. فایل assetlinks.json در ریشه دامنه قرار میگیرد و شامل اثر انگشت SHA256 گواهی امضای برنامه است. Google این ارتباط را قبل از نمایش دکمه باز کردن برنامه در نتایج جستجو بررسی میکند.
// https://yourapp.com/.well-known/assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.myapp",
"sha256_cert_fingerprints": [
"14:6D:E9:92:..."
]
}
}
]
Google محتوا را برای نمایهسازی از چندین منبع دریافت میکند: Google Play Store (فهرست برنامههای منتشر شده با طرحوارههای URI)، Android App Links (طرحوارههای HTTP تأیید شده در Android 6.0+)، Firebase App Indexing API (بهروزرسانی برنامهریزی شده ایندکس) و نمایهسازی خودکار از طریق Google Play Services در دستگاههای دارای برنامه نصب شده. هر منبع ایندکس کلی را تکمیل میکند و محتوای برنامه را حداکثر برای جستجو قابل دسترس میسازد.
Google Play Services به طور خودکار محتوای برنامههای نصب شده در Android را نمایهسازی میکند، اگر برنامه از طرحوارههای URI و intent-filter صحیح استفاده کند. این مکانیزم برنامه را برای intent-filter مربوط به اقدام VIEW اسکن میکند و URIهای استفاده شده در برنامه را جمعآوری میکند. این فرآیند کاملاً خودکار است و نیازی به کد اضافی از سوی برنامهنویس ندارد — فقط کافی است deep links را در مانیفست به درستی پیکربندی کنید.
Google به طور خودکار URIهایی را نمایهسازی میکند که معیارهای خاصی را برآورده میکنند: URI باید از طریق intent-filter با اقدام VIEW قابل دسترس باشد، طرحواره باید برای Android App Links HTTP/HTTPS باشد. URI با طرحوارههای سفارشی (myapp://) نیز نمایهسازی میشوند، اما فقط در صورت نصب برنامه. نمایهسازی خودکار شامل URIهایی نمیشود که به صفحات نیازمند احراز هویت یا حاوی دادههای شخصی کاربر هدایت میکنند.
نمایهسازی خودکار چند محدودیت دارد: ایندکس فوراً بهروز نمیشود، بلکه با تأخیر از چند ساعت تا چند روز. سطح API برنامه — برای نمایهسازی خودکار minSdkVersion 23 یا بالاتر لازم است. URIهای بدون طرحواره HTTP/HTTPS فقط در دستگاههای دارای برنامه نصب شده نمایهسازی میشوند. برای تسریع نمایهسازی و افزودن محتوای بدون معادل وب، استفاده از Firebase App Indexing API توصیه میشود.
Firebase App Indexing API رابط HTTP برنامهنویسی Google است که به برنامهنویس امکان میدهد محتوای نمایهسازیشده برنامه را به صورت برنامهریزی شده مدیریت کند. API درخواستهایی برای افزودن، بهروزرسانی و حذف صفحات URI در ایندکس Google دریافت میکند. برخلاف نمایهسازی خودکار، API فوراً کار میکند: پس از فراخوانی، Google در عرض چند دقیقه URIهای جدید را در نتایج جستجو در نظر میگیرد.
درخواست به Firebase App Indexing API شامل یک شی صفحه با URI، عنوان، توضیحات و تصاویر اختیاری است. هر URI به عنوان یک صفحه جداگانه پردازش میشود که میتواند از طریق جستجوی Google پیدا شود. API از احراز هویت OAuth 2.0 از طریق Firebase Service Account استفاده میکند. برای افزودن انبوه URI، پردازش دستهای تا 1000 صفحه در یک درخواست پشتیبانی میشود.
import com.google.firebase.appindexing.FirebaseAppIndex;
import com.google.firebase.appindexing.Indexable;
import com.google.firebase.appindexing.builders.Indexables;
public class AppIndexingHelper {
public static void indexProduct(String productId,
String name, String price) {
Indexable product = Indexables.newSimpleBuilder(name)
.setUrl("myapp://product/" + productId)
.setDescription("قیمت: " + price)
.build();
FirebaseAppIndex.getInstance()
.update(product)
.addOnSuccessListener(aVoid ->
Log.d("ایندکس", "OK"))
.addOnFailureListener(e ->
Log.e("ایندکس", "خطا", e));
}
public static void removeProduct(String productId) {
FirebaseAppIndex.getInstance()
.remove("myapp://product/" + productId);
}
}
هنگامی که محتوای برنامه تغییر میکند، باید ایندکس Google را از طریق Firebase App Indexing API بهروزرسانی کرد. حذف محتوای قدیمی نیز مهم است: اگر URI دیگر وجود ندارد یا به 404 هدایت میکند، باید از ایندکس حذف شود. Firebase App Indexing با تغییر محتوا در برنامه آن را به طور خودکار حذف نمیکند — برنامهنویس مسئول همگامسازی ایندکس با وضعیت فعلی محتوا است. توصیه میشود API را در هر تغییر داده فراخوانی کنید: افزودن، ویرایش یا حذف محصولات، مقالات، پروفایلها.
تنظیم Firebase App Indexing در Android شامل چند مرحله است: اتصال Firebase SDK، افزودن وابستگیهای app-indexing در build.gradle، پیکربندی Android App Links و ایجاد سرویس برای پردازش URI. حداقل نسخه API برای کار Firebase App Indexing — 23. پس از پیکربندی SDK، برنامه به طور خودکار شروع به ارسال دادهها برای نمایهسازی به Google از طریق Google Play Services میکند.
برای Firebase App Indexing باید در build.gradle ماژول برنامه وابستگی com.google.firebase:firebase-appindexing و پلاگین google-services اضافه شود. Firebase به طور خودکار دادههای نمایهسازی را از طریق Google Play Services پردازش میکند، اگر برنامه شرایط زیر را برآورده کند: minSdkVersion 23+، وجود intent-filter با طرحوارههای HTTP/HTTPS و استفاده از Android App Links برای تأیید. برای URI با طرحوارههای سفارشی پیکربندی اضافی لازم است.
// build.gradle (ماژول: app)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
android {
defaultConfig { minSdkVersion 24 }
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.0.0')
implementation 'com.google.firebase:firebase-appindexing'
}
Android App Links لینکهای HTTP/HTTPS هستند که Google به عنوان متعلق به برنامه شما تأیید میکند. تأیید از طریق Digital Asset Links انجام میشود: فایل assetlinks.json در وبسایت شما بارگذاری میشود. پس از تأیید، Android به طور خودکار تمام لینکهای دامنه شما را به عنوان App Links پردازش میکند، بدون اینکه از کاربر بپرسد لینک را در کدام برنامه باز کند. این شرط لازم برای نمایهسازی صحیح محتوای برنامه است.
پس از پیکربندی باید بررسی کنید که محتوای برنامه واقعاً نمایهسازی میشود. Firebase Console در بخش App Indexing آمار را نشان میدهد: تعداد URIهای نمایهسازیشده، تعداد نمایش در جستجو و کلیکها. برای بررسی دقیق از Search Console Google استفاده کنید، جایی که خطاهای نمایهسازی و توصیهها نمایش داده میشوند. همچنین میتوانید جستجوی site:https://your-app.page.link را در Google انجام دهید تا صفحات نمایهسازیشده برنامه را مشاهده کنید.
نمایهسازی مؤثر برنامه نیاز به رعایت چندین روش کلیدی دارد. تمام URIهایی که میخواهید نمایهسازی کنید باید به محتوای واقعی هدایت کنند — هیچ صفحه تقلبی، صفحه خالی یا صفحه خطا مجاز نیست. توصیه میشود فقط محتوای عمومی را نمایهسازی کنید و صفحات نیازمند احراز هویت را نمایهسازی نکنید. هر URI باید نام و توضیحات قابل خواندن به زبان کاربر داشته باشد.
محتوایی را نمایهسازی کنید که کاربران در Google جستجو میکنند: کارتهای محصول، مقالات، پروفایلها، دستهبندیهای منو، دستورالعملها، رویدادها. نمایهسازی نکنید صفحات دارای دادههای شخصی، تنظیمات، سبد خرید، تاریخچه سفارشات یا هر داده خصوصی دیگر. برای محتوای پویا (فید اخبار، مجموعههای شخصیسازیشده) از Firebase App Indexing API برای افزودن URIهای جدید در زمان ایجاد و حذف آنها در زمان حذف استفاده کنید.
هر URI نمایهسازیشده باید عنوان، توضیحات و تصویر معنیداری برای پیشنمایش در نتایج جستجو داشته باشد. از کلمات کلیدی در عنوان و توضیحات استفاده کنید که با جستجوهای واقعی کاربران مطابقت دارد. برای تصاویر از فرمت مربع 1200x1200 px استفاده کنید و مطمئن شوید که از طریق URLهای عمومی قابل دسترس هستند. به طور منظم محتوا را بهروزرسانی کنید: Google صفحات تازه را بیشتر در جستجو نشان میدهد.
| نوع محتوا | توصیه به نمایهسازی | توصیه نمیشود |
|---|---|---|
| تجارت الکترونیک | محصولات، دستهبندیها، تخفیفها | سبد خرید، ثبت سفارش، پروفایل |
| شبکههای اجتماعی | پروفایلهای عمومی، پستها | فید دوستان، پیامهای خصوصی |
| رسانه | مقالات، ویدئوها، پادکستها | پیشنویسها، تاریخچه مشاهده |
| خدمات | خدمات، کاتالوگ، تماسها | تنظیمات، اعلانها |
سوالات متداول
App Indexing محتوای داخل برنامه موبایل را نمایهسازی میکند، نه صفحات وب. Google طرحوارههای URI برنامه را نمایهسازی میکند و دکمه «باز کردن در برنامه» را در نتایج جستجو نشان میدهد. برای وبسایت صفحات HTML کافی است، برای برنامه — deep links و Digital Asset Links پیکربندیشده لازم است.
در Firebase Console بخش App Indexing را باز کنید — آمار URIهای نمایهسازیشده و کلیکها نمایش داده میشود. همچنین Search Console Google را بررسی کنید: پروژه را به عنوان منبع اضافه کنید و گزارش نمایهسازی برنامه و خطاهای احتمالی را مشاهده کنید.
بله، اما با محدودیتهایی. URIهای با طرحوارههای سفارشی (myapp://) فقط در دستگاههایی که برنامه نصب شده است نمایهسازی میشوند. برای نمایهسازی بینپلتفرمی (نمایش در جستجو در همه دستگاهها) نیاز به معادل وب با Digital Asset Links پیکربندیشده است.
هنگام استفاده از Firebase App Indexing API — در عرض چند دقیقه. هنگام نمایهسازی خودکار از طریق Google Play Services — از چند ساعت تا ۱-۲ روز. برای تسریع، هنگام افزودن محتوای مهم از API استفاده کنید.
محدودیتی برای تعداد URI وجود ندارد. Firebase App Indexing API امکان افزودن تا ۱۰۰۰ URI را در یک درخواست دستهای فراهم میکند. Google توصیه میکند فقط محتوای باکیفیت و بهروز را نمایهسازی کنید — حداکثر ۱۰۰۰۰ URI برای هر برنامه برای عملکرد بهینه جستجو.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید