De la documentación oficial:
Para permitir que Google rastree el contenido de su aplicación y permita que los usuarios ingresen a su aplicación desde los resultados de búsqueda, debe agregar filtros de intención para las actividades relevantes en el manifiesto de su aplicación. Estos filtros de intención permiten enlaces profundos al contenido en cualquiera de sus actividades. Por ejemplo, el usuario puede hacer clic en un enlace profundo para ver una página dentro de una aplicación de compras que describe una oferta de producto que el usuario está buscando.
Usando este enlace Habilitando enlaces profundos para el contenido de la aplicación , verá cómo usarlo.
Y usando esta Implementación de indexación de Probar su aplicación, cómo probarla.
El siguiente fragmento de XML muestra cómo puede especificar un filtro de intención en su manifiesto para enlaces profundos.
<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>
Para probar a través de Android Debug Bridge
$ 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