Thiếu hỗ trợ cho Lập chỉ mục ứng dụng Firebase (android lint)


149

Tôi nhận được cảnh báo lint này khi phân tích mã của mình (Phân tích> Kiểm tra mã) trên các studio Android.

Ứng dụng không thể lập chỉ mục bởi Google Tìm kiếm; xem xét thêm ít nhất một Hoạt động với chương trình điền vào mục đích HÀNH ĐỘNG-XEM. Xem giải thích vấn đề để biết thêm chi tiết.

Cảnh báo này là gì và làm cách nào để ứng dụng của tôi có thể lập chỉ mục bằng Google Search? Nghe có vẻ quan trọng đối với SEO, nhưng tôi không thể tìm thấy bất kỳ chi tiết nào trên Google.

Tôi cũng muốn biết làm thế nào để truy cập vào "Giải thích vấn đề" từ studio android.

nhập mô tả hình ảnh ở đây

Biên tập:

"Ứng dụng không thể lập chỉ mục bởi Google Tìm kiếm" là cảnh báo cũ. Cảnh báo mới là "Thiếu hỗ trợ cho lập chỉ mục ứng dụng Firebase"

Câu trả lời:


106

Tôi đã tìm ra cách truy cập vào "Giải thích vấn đề". Tôi cần di chuột qua một lỗi kiểm tra để hiển thị nội tuyến giải thích vấn đề đầy đủ (và nhấn Ctrl-F1)

nhập mô tả hình ảnh ở đây

vì vậy từ khóa tôi đang thiếu là "liên kết sâu"!

Sau đây là trang dành cho nhà phát triển Android để thực hiện các liên kết sâu "Để cho phép Google thu thập nội dung ứng dụng của bạn và cho phép người dùng nhập ứng dụng của bạn từ kết quả tìm kiếm"

http://developer.android.com/training/app-indexing/deep-linking.html

Sau đây là đoạn mã về cách thực hiện một liên kết sâu. Tôi không biết làm thế nào Google có thể thu thập dữ liệu ứng dụng của mình chỉ bằng cách thêm nó vào ...

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_title_viewgizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- note that the leading "/" is required for pathPrefix-->
        <!-- Accepts URIs that begin with "example://gizmos”
        <data android:scheme="example"
              android:host="gizmos" />
        -->
    </intent-filter>
</activity>

đó cũng là một ghi chú cho biết

Note: Intent filters may only contain a single data element for a URI pattern. 
Create separate intent filters to capture additional URI patterns.

2
Điều này là để cấu hình các liên kết sâu vào ứng dụng của bạn. Ví dụ: Nếu người dùng tìm kiếm trên điện thoại di động để tìm từ khóa cụ thể phù hợp với web / ứng dụng của bạn, nó có thể liên kết trực tiếp đến ý định của bạn có thể mở hoạt động / chế độ xem cụ thể bên trong ứng dụng của bạn. Nói tóm lại, tìm kiếm sẽ trực tiếp cho phép người dùng mở bên trong các ứng dụng.
Nagesh Susarla

@NageshSusarla, vậy trong ví dụ trên, từ khóa có phải là "gizmos" không?
Thiên thần Koh

6
developers.google.com/app-indexing/android/app có thông tin chi tiết về nó. Trong trường hợp này, bất kỳ từ khóa nào dẫn đến trang của bạn đều nói example.com/gizmos trong kết quả tìm kiếm sẽ chỉ ra ý định này.
Nagesh Susarla

3
Tôi không hiểu, tôi phải đặt cái gì đây ??
busuu

6
Bạn có phải có trang web của riêng bạn để thêm?
Azurespot

28

Trên thực tế, có 2 cách để đối phó với 'ứng dụng không thể lập chỉ mục bởi vấn đề của google'.

  1. Thêm liên kết sâu vào ứng dụng như mô tả ở trên.
  2. Đơn giản chỉ cần vô hiệu hóa cảnh báo lint. Đôi khi ứng dụng không được xuất bản lên Google Play nên sẽ không cần liên kết sâu, v.v .:

    android {
    defaultConfig {
    // something
    }
    lintOptions {
    disable 'GoogleAppIndexingWarning'
    baseline file("lint-baseline.xml")
    }
    }
    

19

Bạn có thể xóa cảnh báo bằng cách thêm mã bên dưới vào <intent-filter>bên trong<activity>

        <action android:name="android.intent.action.VIEW" />

7

Nếu bạn muốn tắt cảnh báo này cho đến khi quá trình phát triển ứng dụng của bạn hoàn tất hoặc nếu bạn không có bất kỳ URL web nào để thêm, hãy thêm dòng này vào AndroidManifest.xmltệp của bạn .

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.example.yourappname">

   <application
       ...
       ...
       tools:ignore="GoogleAppIndexingWarning">

          ....

   </application>

</manifest>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.