एंड्रॉइड - एसडीके संस्करण 23 को अपडेट करने के बाद एक गतिविधि-दृश्य इरादे के साथ कम से कम एक गतिविधि जोड़ना


305

मुझे AndroidManifest.xml में निम्नलिखित टूल टिप मिल रही है :

ऐप Google खोज द्वारा अनुक्रमित नहीं है; कम से कम एक गतिविधि को एक ऐक्शन-व्यू व्यूज-फिलर के साथ जोड़ने पर विचार करें। अधिक विवरण के लिए मुद्दा स्पष्टीकरण देखें।

Google खोज में अपने ऐप को इंस्टॉल करने और ट्रैफ़िक प्राप्त करने के लिए अपने ऐप को Google इंडेक्स में लाने के लिए गहरे लिंक जोड़ता है।

यहां छवि विवरण दर्ज करें

क्या कोई समझा सकता है कि ऐसा क्यों है?


इसे कार्रवाई में देखने के लिए, यहां देखें: stackoverflow.com/questions/56631387/…
user1506104

जवाबों:


239

आधिकारिक दस्तावेज से:

Google को आपकी एप्लिकेशन सामग्री क्रॉल करने और उपयोगकर्ताओं को खोज परिणामों से आपके ऐप में प्रवेश करने की अनुमति देने के लिए, आपको अपने ऐप मेनिफ़ेस्ट में प्रासंगिक गतिविधियों के लिए इरादा फ़िल्टर जोड़ना होगा। ये आशय फ़िल्टर आपकी किसी भी गतिविधि में सामग्री को गहराई से जोड़ने की अनुमति देते हैं। उदाहरण के लिए, उपयोगकर्ता किसी शॉपिंग ऐप के भीतर एक पृष्ठ को देखने के लिए एक गहरे लिंक पर क्लिक कर सकता है जो उस उत्पाद की पेशकश का वर्णन करता है जिसे उपयोगकर्ता खोज रहा है।

इस लिंक का उपयोग करके एप्लिकेशन सामग्री के लिए डीप लिंक को सक्षम करना आप देखेंगे कि इसका उपयोग कैसे करना है।

और इस टेस्ट योर ऐप इंडेक्सिंग इम्प्लीमेंटेशन का उपयोग करके इसका परीक्षण कैसे करें।

निम्न XML स्निपेट दिखाता है कि आप गहरी लिंकिंग के लिए अपने प्रदर्शन में एक आशय फ़िल्टर कैसे निर्दिष्ट कर सकते हैं।

<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>

Android डीबग ब्रिज के माध्यम से परीक्षण करने के लिए

$ adb shell am start
        -W -a android.intent.action.VIEW
        -d <URI> <PACKAGE>

$ adb shell am start
        -W -a android.intent.action.VIEW
        -d "example://gizmos" com.example.android

5
@ user25 स्कीम उड़ी स्कीम है, स्कीम http, https, ftp आदि हो सकती है
भार्गव

89
अच्छी तरह से विशिष्ट क्षुधा के लिए यह सब, तो क्यों है कि चेतावनी दिखा? सभी ऐप्स को इसकी आवश्यकता नहीं है, सभी ऐप कुछ साइटों के वेबव्यू नहीं हैं। Google इतना परेशान है ..
user924

64
इसे वैसे भी टूल्स से दबाया जा सकता है:
इग्नोर

12
उत्सुक है कि चेतावनी कहती है कि आपको एक ACTION-VIEWआशय-फ़िल्टर की आवश्यकता है, फिर भी समाधान शामिल है action.VIEW। इसी तरह, एंड्रॉइड स्टूडियो में लिंक का अनुसरण करने से आप एक वेबपेज पर पहुंच जाते हैं जहां ACTION-VIEWदिखाई नहीं देता है। कम से कम वे आपत्तिजनक चेतावनियों के साथ कर सकते थे जो आपको सटीक संदेश और मदद पृष्ठ दे सकते हैं।
जॉन पेरी

7
@ecle यह विकल्प कहां रखा गया है? / कोई बात नहीं; मुझे मिल गया: एक जोड़ने के लिए है xmlns:tools="http://schemas.android.com/tools"करने के लिए manifestटैग, तो जोड़ने tools:ignore...के लिए applicationटैग।
जॉन पेरी

190

आप नीचे दिए गए कोड को <intent-filter>अंदर जोड़कर चेतावनी को हटा सकते हैं<activity>

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

6
यह काम मेरे लिए है। मुझे लगता है कि यह वही उत्तर है जिसकी मुझे तलाश है।
महमूदुर रहमान

13
यदि आप एप्लिकेशन अनुक्रमण को सक्षम नहीं करना चाहते हैं तो यह सही समाधान प्रतीत होता है। के माध्यम से सिर्फ चेतावनी को हटाने के बजाय tools:ignore="GoogleAppIndexingWarning"। मैंने इसे <action android:name="android.intent.action.MAIN" />मुख्य गतिविधि में भाई-बहन के रूप में जोड़ा ।
डैनियल एफ

4
लेकिन हमें कोड में आंख मूंदकर इस लाइन की आवश्यकता क्यों है? कोई विशेष कारण?
घनश्याम नयमा

15
@GhanshyamNayma इस लाइन को जोड़ने से सिर्फ चेतावनी ही दूर होती है। वास्तविक एप्लिकेशन अनुक्रमण जोड़ने के लिए आवश्यक अतिरिक्त कोड के बिना। बिल्कुल सही अभ्यास नहीं है, लेकिन मैं समझता हूं कि चेतावनी कष्टप्रद है। मैं tools:ignore="GoogleAppIndexingWarning"इसके बजाय सिर्फ साथ जाऊँगा क्योंकि तब आप एक खाली ACTION_VIEW नहीं जोड़ेंगे। यह किसी भी मुद्दे का कारण नहीं हो सकता है, लेकिन आप हमेशा सुरक्षित रहना चाहते हैं।
कार्सन जे।

8
आह तो यह है कि क्यों इतने सारे यादृच्छिक एप्लिकेशन ACTION_VIEW के लिए अब दिखाई दे रहे हैं ... eesh
CCJ

135
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.app"
tools:ignore="GoogleAppIndexingWarning">

आप जोड़कर चेतावनी हटा सकते हैं xmlns:tools="http://schemas.android.com/tools"और tools:ignore="GoogleAppIndexingWarning"करने के लिए <manifest>टैग।


3
यह मेरे लिए काम करता है, और वास्तव में जिस समाधान की मुझे तलाश थी।
सायन सिल

यह अचूक उपाय है।
रुद्र

4
इसका सही समाधान नहीं है क्योंकि यह Google को अनुक्रमण एप्लिकेशन की अनुमति नहीं देगा। किसी चीज़ को नज़रअंदाज़ करके आपको उस मुद्दे पर काबू पाने की कोशिश करनी चाहिए।
प्रतीक बुटानी

AppStore में @PratikButaniAndroidDev इंडेक्सिंग कई डेवलपर्स के लिए प्राथमिकता नहीं है, जो मुख्य रूप से ऐप को विकसित करना शुरू कर रहे हैं ..
Maher Abuthraa

25

एप्लिकेशन मेनिफ़ेस्ट में घोषित गतिविधियों में से एक में यह आशय फ़िल्टर जोड़ना मेरे लिए यह तय किया गया।

<activity
    android:name=".MyActivity"
    android:screenOrientation="portrait"
    android:label="@string/app_name">

    <intent-filter>

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

    </intent-filter>

</activity>

मेरे पास यह इरादे के साथ है।
सी। स्केजेराल

आपको यह सुनिश्चित करने की आवश्यकता है कि यह android.intent.action.VIEW पर सेट है
Oladipo Olasemo

1

यह समाधान केवल काम करता है। इस चेतावनी को अनदेखा करना चाहते हैं

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="GoogleAppIndexingWarning"
    package="com.example.saloononlinesolution">
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.