应用链接或深层链接

时间:2017-06-20 07:22:59

标签: android android-app-indexing

我正在尝试使用AppLinking或DeepLinking

打开特定网址的应用

根据我的理解:

<data android:scheme="http"
    android:host="example.org"
    android:pathPrefix="?????????"/>

我必须按照此格式接收带有网址的请求:http://example.org/app/ ......

但我担心的是我有两个URL https://example.org/somestring (打开产品说明的网址) ProductDescActivity https://example.org/somestring-VS-somestring (打开产品比较的网址) ProductCompActivity

我在mainfest文件中定义了如上所述的结构,但我没有固定的 PathPrefix

 Main Activity
    public class Main2Activity extends AppCompatActivity implements 
    LoaderManager.LoaderCallbacks<Cursor>{
    TextView t1;
    RecyclerView mRecyclerView;
    RecyclerAdapter recyclerAdapter;
    RecyclerAdapter adapter;
    List<Info> infoList;
    String arrr;
    int ar;
    int Loader_id=1;
    private RecyclerView.LayoutManager mLayoutManager;
    SimpleCursorAdapter simpleCursorAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        final DatabaseHandler db = new DatabaseHandler(this);


        List<Info> infos = db.getAllInfo();
        mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
        mLayoutManager = new LinearLayoutManager(this);

        mRecyclerView.setLayoutManager(mLayoutManager);

        mRecyclerView.addItemDecoration(new SimpleDivider(Main2Activity.this));

        recyclerAdapter = new RecyclerAdapter(this, infos);
        mRecyclerView.setAdapter(recyclerAdapter);

    }

    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle args) {


        return null;
    }

    @Override
    public void onLoadFinished(Loader<Cursor> loader, Cursor data) {

    }

    @Override
    public void onLoaderReset(Loader<Cursor> loader) {

    }
}

如果我将此结构添加到我的两个活动中,那么活动可能会打开

如何管理请求并为此类url请求执行AppIndexing,其中pathPrefix未修复或更直接 如何处理没有任何子域的URL

1 个答案:

答案 0 :(得分:2)

尝试将应用链接到主要活动 意味着这个

<data android:scheme="http"
    android:host="example.org"
    />

将在mainActivity中指定,并在mainActivity中检测您所知道的URL类型,然后从mainactivity将其指向特定活动ProductDescription或ProductComparison

第二个选项是您指定带有路径前缀的URL,例如XYZ,并在服务器端将URL重定向到实际的URL

<data android:scheme="http"
    android:host="example.org"
    android:pathPrefix="XYZ"/>

https://example.org/XYZ/somestring -----&gt;重定向到https://example.org/somestring