如何让Firebase动态链接打开深层链接中的确切帖子?

时间:2018-01-21 04:05:48

标签: android firebase firebase-realtime-database firebase-dynamic-links

我有一个带有三个片段的应用程序,每个片段包含不同的帖子。 我创建了动态链接,当用户共享帖子时发送,并且它具有postID,

动态链接:

    "https://s5xta.app.goo.gl/?link=http://mywebsite.com/" + postID() + "&apn=com.myapp.firebase.quickstart.database"

生成深层链接,例如: https://s5xta.app.goo.gl/?link=http://mywebsite.com/-L3LLFhi94w-d_zWVDwu&apn=com.myapp.firebase.quickstart.database

其中: L3LLFhi94w-d_zWVDwu 是postID。

我在MainActivity中有以下代码来处理链接。

            FirebaseDynamicLinks.getInstance()
            .getDynamicLink(getIntent())
            .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                 //Retrive DynamicLink
                @Override
                public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                    // Get deep link from result (may be null if no link is found)
                    Uri deepLink = null;
                    if (pendingDynamicLinkData != null) {
                        deepLink = pendingDynamicLinkData.getLink();
                    }

                    Intent intent = getIntent();
                    String action = intent.getAction();
                    Uri data = intent.getData();



                    // Handle the deep link. For example, open the linked
                    // content, or apply promotional credit to the user's
                    // account.
                    // ...

                    // [START_EXCLUDE]
                    // Display deep link in the UI
                    if (deepLink != null) {
                        Snackbar.make(findViewById(android.R.id.content),
                                "Found deep link!", Snackbar.LENGTH_LONG).show();

                        //((TextView) findViewById(R.id.link_view_receive))
                          //      .setText(deepLink.toString());
                    } else {
                        Log.d(TAG, "getDynamicLink: no link found");
                    }
                    // [END_EXCLUDE]
                }
            })
            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "getDynamicLink:onFailure", e);
                }
            });
    // [END get_deep_link]

当用户点击链接时,它会打开已安装的应用程序,但会转到第一个片段顶部的最后一个帖子。

我应该怎么做,以便根据深层链接中所述的postID将用户带到正确的帖子?

0 个答案:

没有答案