其他分享
首页 > 其他分享> > android – 为什么没有检索/接收完整/长动态链接?

android – 为什么没有检索/接收完整/长动态链接?

作者:互联网

我在这个github项目之后创建了一个深层/动态链接.

以下是创建的链接:https://appcode.app.goo.gl/?link = http://example.com/-example\u0026amp;apn=com.abc.xxx\u0026amp;amv=16\u0026amp;ad=0\u0026amp; extraParameter = NULL

这是我用来共享它的方法:

private void shareDeepLink(String deepLink) {
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            intent.putExtra(Intent.EXTRA_SUBJECT, "Firebase Deep Link");
            intent.putExtra(Intent.EXTRA_TEXT, deepLink);

            itemView.getContext().startActivity(intent);
}

这是我的应用程序的AndroidManifest.xml文件中定义的intent-filters:

<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.com" android:scheme="http"/>
      <data android:host="example.com" android:scheme="https"/>
</intent-filter>

这就是我试图接收共享深层链接的方式:

boolean autoLaunchDeepLink = false;
        AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink)
                .setResultCallback(
                        new ResultCallback<AppInviteInvitationResult>() {
                            @Override
                            public void onResult(@NonNull AppInviteInvitationResult result) {
                                if (result.getStatus().isSuccess()) {
                                    // Extract deep link from Intent
                                    Intent intent = result.getInvitationIntent();
                                    final String deepLink = AppInviteReferral.getDeepLink(intent);
                                    Log.d("deepLinkMainActivity", deepLink);

                                } else {
                                    Log.d("getInvitation", "getInvitation: no deep link found.");
                                }
                            }
                        });

这是登出的内容(收到深层链接):http://example.com/-example

你可以清楚地看到,我没有得到创建的确切深层链接,而是我得到它的改变版本.为什么?

我怎样才能获得创建和共享的完全相同的深层链接?

解决方法:

您正在正确地重新获得深层链接

这是生成的完整链接,其中包含类似apn的信息:应用程序的包名称,要知道的信息,例如需要打开哪个应用程序

https://appcode.app.goo.gl/?link=http://example.com/-example&apn=com.abc.xxx&amv=16&ad=0&extraParameter=null

这是你的深层链接
链接= http://example.com/-example.因此,如果您想添加更多参数,可以在此处执行,例如下面的示例

链接= http://example.com/-example&blabla.

所以你有这个结果https://appcode.app.goo.gl/?link=http://example.com/-example&blabla&apn=com.abc.xxx&amv=16&ad=0

如果你想要这部分可以编码http://example.com/-example&blabla

你可以尝试一下,让我知道.

您可以在此处参考此信息https://firebase.google.com/docs/dynamic-links/android

标签:deep-linking,android,firebase,intentfilter,firebase-dynamic-links
来源: https://codeday.me/bug/20190928/1825604.html