खोज…


टिप्पणियों

  • जब आप ऐप इंडेक्सिंग को लागू करने का विकल्प चुनते हैं, तो आपको बहुत सारे ब्लॉग, प्रलेखन मिल सकते हैं जो आपको भ्रमित कर सकते हैं, इस मामले में, मैं आपको सुझाव देता हूं कि आप फायरबेस-गूगल द्वारा प्रदान किए गए आधिकारिक डॉक्स से चिपके रहें। यहां तक कि अगर आप ऐसा करने के लिए तीसरे पक्ष का उपयोग करना चाहते हैं, तो पहले इस प्रलेखन का पालन करने का प्रयास करें क्योंकि इससे आपको स्पष्ट पता चल जाएगा कि चीजें कैसे काम कर रही हैं।

  • Google को आपकी सामग्री को अनुक्रमित करने में लगभग 24 घंटे लगेंगे। इसलिए धैर्य रखें। आप अपनी तरफ से हर चीज़ को ठीक करने के लिए परीक्षण कर सकते हैं।

  • पहला उदाहरण आपको अपने ऐप में रीडायरेक्ट करने के लिए अपनी वेबसाइट के HTTP URL का समर्थन करने देता है। यह काम करेगा जैसे, आपने Google खोज में एक क्वेरी खोजा है, परिणाम आपके वेबसाइट के URL में से एक दिखाते हैं, जिसके ऐप लिंक आपके ऐप में मौजूद हैं जो पहले से इंस्टॉल है। इस URL पर क्लिक करने पर यह आपको सीधे आपके ऐप स्क्रीन पर उस खोज परिणाम के अनुरूप भेज देगा। यही मैंने इसके लिए खोजा है।

  • AppIndexing API को जोड़ना आपकी सामग्री को अनुक्रमित करता है और Google खोज बार में ऑटो पूर्णता में उपयोग किया जाता है। एक पृष्ठ का शीर्षक और छोटा विवरण है प्रत्येक पृष्ठ के लिए आवेदन का उदाहरण दें। 2 या 3 हेडलाइन पढ़ने के बाद, एप्लिकेशन को बंद करें और Google सर्चबार पर जाएं।

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

आपके द्वारा अभी-अभी चली गई शीर्षक दर्ज करने की कोशिश करें, आपको शीर्षक के रूप में उस शीर्षक के साथ ऐप पृष्ठ का सुझाव मिलेगा। यह ऐप के लिए खोज करते समय आपके द्वारा प्राप्त किए गए ऐप सुझावों से अलग है। ऐसा इसलिए होता है क्योंकि आपने इस विशेष पृष्ठ के लिए AppIndexing API कोड लिखा है और शीर्षक वैसा ही है जैसा आपने onCreate() में आरंभीकृत किया है।

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

Http URL का समर्थन करना

चरण 1: - Google को अपनी सामग्री को क्रॉल करने की अनुमति दें। सर्वर के रोबोट को टाइप करें। फ़ाइल को स्कैन करें। आप इस फ़ाइल को संपादित करके अपनी सामग्री के लिए Google क्रॉलिंग को नियंत्रित कर सकते हैं, आप अधिक जानकारी के लिए इस लिंक का संदर्भ ले सकते हैं।

चरण 2: - अपनी वेबसाइट के साथ अपने ऐप को संबद्ध करें। संपत्ति को कम करें। इसे आप अपने वेब सर्वर के .well- ज्ञात निर्देशिका में अपलोड करें। आपकी संपत्ति के लिंक के अनुसार। Json इस प्रकार हैं-

       [{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : 
{ "namespace": "android_app",
"package_name": "<your_package_name>",
"sha256_cert_fingerprints": ["<hash_of_app_certificate>"] }

}]

चरण 3: - नीचे दिए गए अपने आवेदन में यूआरएल को रीडायरेक्ट करने के लिए अपनी मैनिफ़ेस्ट फ़ाइल में ऐप लिंक शामिल करें,

<activity
       android:name=".activity.SampleActivity"
       android:label="@string/app_name"
       android:windowSoftInputMode="adjustResize|stateAlwaysHidden">
       <intent-filter>
             <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
             <category android:name="android.intent.category.BROWSABLE" />
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="https"/>
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="http"/>
     </intent-filter>
   </activity>

इस का संदर्भ लें यदि आप यहां के प्रत्येक टैग के बारे में जानना चाहते हैं।

<कार्रवाई> ACTION_VIEW इरादे कार्रवाई निर्दिष्ट करें ताकि Google खोज से इरादा फ़िल्टर तक पहुंचा जा सके।

<data> एक या अधिक टैग जोड़ें, जहां प्रत्येक टैग एक URI प्रारूप का प्रतिनिधित्व करता है जो गतिविधि का समाधान करता है। कम से कम, टैग में Android: योजना विशेषता शामिल होनी चाहिए। आप URI के प्रकार को और अधिक परिष्कृत करने के लिए अतिरिक्त विशेषताएँ जोड़ सकते हैं जिसे गतिविधि स्वीकार करती है। उदाहरण के लिए, आपके पास कई गतिविधियाँ हो सकती हैं जो समान यूआरआई को स्वीकार करती हैं, लेकिन जो पथ के नाम के आधार पर भिन्न होती हैं। इस स्थिति में, एंड्रॉइड का उपयोग करें: पथ विशेषता या इसके वेरिएंट (pathPattern या pathPrefix) को अलग करने के लिए जो सिस्टम को विभिन्न URI पथों के लिए खोलना चाहिए।

<श्रेणी> BROWSABLE श्रेणी को शामिल करें। वेब ब्राउज़र से अभिप्रेरित फिल्टर को सुलभ बनाने के लिए BROWSABLE श्रेणी की आवश्यकता होती है। इसके बिना, ब्राउज़र में लिंक पर क्लिक करने से आपके ऐप का समाधान नहीं हो सकता है। DEFAULT श्रेणी वैकल्पिक है, लेकिन अनुशंसित है। इस श्रेणी के बिना, गतिविधि केवल एक स्पष्ट इरादे के साथ शुरू की जा सकती है, आपके ऐप घटक नाम का उपयोग करके।

चरण 4: - आने वाले URLS को संभालें

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_schedule);
       onNewIntent(getIntent());
  }

   protected void onNewIntent(Intent intent) {
   String action = intent.getAction();
   Uri data = intent.getData();
   if (Intent.ACTION_VIEW.equals(action) && data != null) {
       articleId = data.getLastPathSegment();
       TextView linkText = (TextView)findViewById(R.id.link);
       linkText.setText(data.toString());
   }

}

चरण 5: - आप Android डिबग ब्रिज कमांड या स्टूडियो कॉन्फ़िगरेशन का उपयोग करके इसका परीक्षण कर सकते हैं। Adb कमांड: - अपना एप्लिकेशन लॉन्च करें और फिर इस कमांड को चलाएं: -

adb shell am start -a android.intent.action.VIEW -d "{URL}" < package name >

एंड्रॉइड स्टूडियो कॉन्फ़िगरेशन: - एंड्रॉइड स्टूडियो> बिल्ड> कॉन्फ़िगरेशन संपादित करें> लॉन्च विकल्प> URL का चयन करें> फिर यहां अपने यूआरएल में टाइप करें> लागू करें और परीक्षण करें। यदि आपका एप्लिकेशन "रन" विंडो त्रुटि दिखाता है, तो आपको अपने URL प्रारूप को अपने साथ जांचना होगा। प्रकट रूप में उल्लिखित applinks अन्यथा यह सफलतापूर्वक चलेगा, और यदि निर्दिष्ट किया गया है तो आपके URL का उल्लेख पृष्ठ पर पुनर्निर्देशित करेगा।

AppIndexing API जोड़ें

इस परियोजना में जोड़ने के लिए आप आसानी से आधिकारिक डॉक्टर मिल सकते हैं लेकिन इस उदाहरण में मैं कुछ प्रमुख क्षेत्रों पर ध्यान देने जा रहा हूं।

चरण 1: - Google सेवा जोड़ें

dependencies {
      ...
      compile 'com.google.android.gms:play-services-appindexing:9.4.0'
      ...
    }

चरण 2: - आयात कक्षाएं

import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;

चरण 3: - ऐप इंडेक्सिंग एपीआई कॉल जोड़ें

private GoogleApiClient mClient;
private Uri mUrl;
private String mTitle;
private String mDescription;

//If you know the values that to be indexed then you can initialize these variables in onCreate() 
@Override
protected void onCreate(Bundle savedInstanceState) {
mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
mUrl = "http://examplepetstore.com/dogs/standard-poodle";
mTitle = "Standard Poodle";
mDescription = "The Standard Poodle stands at least 18 inches at the withers";
}

//If your data is coming from a network request, then initialize these value in onResponse() and make checks for NPE so that your code won’t fall apart.

//setting title and description for App Indexing
mUrl = Uri.parse(“android-app://com.famelive/https/m.fame.live/vod/” +model.getId());
mTitle =   model.getTitle();
mDescription = model.getDescription();

mClient.connect();
AppIndex.AppIndexApi.start(mClient, getAction());

@Override
protected void onStop() {
if (mTitle != null && mDescription != null && mUrl != null) //if your response fails then check whether these are initialized or not
   if (getAction() != null) {
       AppIndex.AppIndexApi.end(mClient, getAction());
       mClient.disconnect();
    }
 super.onStop();
}

 public Action getAction() {
   Thing object = new Thing.Builder()
       .setName(mTitle)
       .setDescription(mDescription)
       .setUrl(mUrl)
       .build();

 return new Action.Builder(Action.TYPE_WATCH)
       .setObject(object)
       .setActionStatus(Action.STATUS_TYPE_COMPLETED)
       .build();
}

इसका परीक्षण करने के लिए बस नीचे दिए गए रिमार्क्स में चरण 4 का पालन करें।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow