Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تحسين أداء البحث

حسِّن تصنيف تطبيقك في بحث Google ، بدءًا من إنشاء المحتوى وحتى تحليل الأداء.

تحليل مع إحالات البحث

يمكنك استخدام معلومات المرجع من الروابط المؤدية إلى تطبيقك والتي تأتي من بحث Google لأدوات التحليلات الأخرى. على سبيل المثال ، يوضح مخطط الشفرة الخاص بنا حول تتبع الإحالات إلى تطبيقك كيف يمكنك استخدام إحالات البحث جنبًا إلى جنب مع Google Analytics لتحليل التطبيق الشامل.

لإنشاء الحل الخاص بك لتتبع حركة مرور البحث إلى تطبيقك ، يمكنك اجتياز اختبار android.intent.extra.REFERRER_NAME لتطبيقك باستخدام Android Debug Bridge. يوضح الأمر المثال التالي كيفية القيام بذلك ، بافتراض أن اسم حزمة التطبيق الخاص بك هو package_name وعنوان URL للتطبيق الخاص بك هو www.examplepetstore.com :

adb shell am start
   -a android.intent.action.VIEW
   -c android.intent.category.BROWSABLE
   -e android.intent.extra.REFERRER_NAME android-app://com.google.android.googlequicksearchbox/https/www.examplepetstore.com
   -d http://examplepetstore.com/host_path com.examplepetstore.android

يحاكي هذا الاختبار فتح عنوان HTTP URL في تطبيقك وتمرير معلومات المرجع لتحديد أن حركة المرور جاءت من تطبيق Google.

استخراج معلومات المرجع

تساعد فئة com.google.firebase.appindexing.AndroidAppUri في استخراج URIs المُحيل. يوفر Intent الإضافي معلومات المرجع لعنوان HTTP الخاص بك باستخدام المفتاح التالي: android.intent.extra.REFERRER_NAME .

توضح الأمثلة التالية قيم المُحيل من مصادر مختلفة:

  • كروم: https://www.google.com
  • تطبيق Google: android-app://com.google.android.googlequicksearchbox/https/www.google.com
  • Googlebot: android-app://com.google.appcrawler
  • زاحف تطبيقات Google AdsBot: android-app://com.google.adscrawler

يوضح مقتطف الشفرة التالي كيفية استخراج معلومات المرجع من البحث.

جافا

public class MeasureActivity extends AppCompatActivity {

    @Override
    public Uri getReferrer() {

        // There is a built in function available from SDK>=22
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            return super.getReferrer();
        }

        Intent intent = getIntent();
        Uri referrer = (Uri) intent.getExtras().get("android.intent.extra.REFERRER");
        if (referrer != null) {
            return referrer;
        }

        String referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME");

        if (referrerName != null) {
            try {
                return Uri.parse(referrerName);
            } catch (ParseException e) {
                // ...
            }
        }

        return null;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // ...
        Uri referrer = getReferrer();

        if (referrer != null) {
            if (referrer.getScheme().equals("http") || referrer.getScheme().equals("https")) {
                // App was opened from a browser
                // host will contain the host path (e.g. www.google.com)
                String host = referrer.getHost();

                // Add analytics code below to track this click from web Search
                // ...

            } else if (referrer.getScheme().equals("android-app")) {
                // App was opened from another app
                AndroidAppUri appUri = AndroidAppUri.newAndroidAppUri(referrer);
                String referrerPackage = appUri.getPackageName();
                if ("com.google.android.googlequicksearchbox".equals(referrerPackage)) {
                    // App was opened from the Google app
                    // host will contain the host path (e.g. www.google.com)
                    String host = appUri.getDeepLinkUri().getHost();

                    // Add analytics code below to track this click from the Google app
                    // ...

                } else if ("com.google.appcrawler".equals(referrerPackage)) {
                    // Make sure this is not being counted as part of app usage
                    // ...
                }
            }
        }
        // ...
    }
}

Kotlin + KTX

class MeasureActivity : AppCompatActivity() {

    override fun getReferrer(): Uri? {

        // There is a built in function available from SDK>=22
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            return super.getReferrer()
        }

        val intent = intent
        val referrer = intent?.extras?.get("android.intent.extra.REFERRER") as Uri?
        if (referrer != null) {
            return referrer
        }

        val referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME")

        if (referrerName != null) {
            try {
                return Uri.parse(referrerName)
            } catch (e: ParseException) {
                // ...
            }
        }

        return null
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        val referrer = referrer

        if (referrer != null) {
            if (referrer.scheme == "http" || referrer.scheme == "https") {
                // App was opened from a browser
                // host will contain the host path (e.g. www.google.com)
                val host = referrer.host

                // Add analytics code below to track this click from web Search
                // ...
            } else if (referrer.scheme == "android-app") {
                // App was opened from another app
                val appUri = AndroidAppUri.newAndroidAppUri(referrer)
                val referrerPackage = appUri.packageName
                if ("com.google.android.googlequicksearchbox" == referrerPackage) {
                    // App was opened from the Google app
                    // host will contain the host path (e.g. www.google.com)
                    val host = appUri.deepLinkUri.host

                    // Add analytics code below to track this click from the Google app
                    // ...
                } else if ("com.google.appcrawler" == referrerPackage) {
                    // Make sure this is not being counted as part of app usage
                    // ...
                }
            }
        }
        // ...
    }
}

إنشاء محتوى ويب وجوال جيد

يمكنك تحسين تصنيف تطبيقك من خلال توفير محتوى عالي الجودة في كل من تطبيقك وموقع الويب المرتبط به. وذلك لأن أنظمتنا تحلل الارتباط بين الخاصيتين لتحديد الترتيب لكل من نتائج بحث الويب والجوال. على وجه التحديد ، ضع في اعتبارك ما يلي:

لضمان تجربة بحث رائعة للمستخدمين ، قد تتخذ Google إجراءات تصحيحية في الحالات التي نرى فيها إساءة أو خداعًا أو إجراءات أخرى تضر بتجربة البحث للمستخدمين. يمكن أن يشمل ذلك إجراءات مثل خفض مستوى عناوين URL لـ HTTP من نتائج بحث Google أو إزالتها.