如何使用android应用程序链接或深度链接打开特定于应用程序的活动?还有如何生成&;单个应用程序的多个动态链接的代码?

如何使用android应用程序链接或深度链接打开特定于应用程序的活动?还有如何生成&;单个应用程序的多个动态链接的代码?,android,Android,我正在尝试生成动态链接,以从中打开特定活动 应用程序链接。我已成功从firebase dynamic打开单个活动 链接,但无法编码并理解对中的多个链接执行相同操作 我的应用程序 我创建了firebase项目并将我的应用程序与之连接。然后编译 firebase图书馆: 然后在清单活动标记中输入以下意图过滤器: 另外,如果我将所有这些都集成到上面的错误中 使用3个简单步骤集成动态链接: 1)firebase控制台和项目上的配置 Firebase动态链接位于可自定义子域外观上 类似于where.pag

我正在尝试生成动态链接,以从中打开特定活动 应用程序链接。我已成功从firebase dynamic打开单个活动 链接,但无法编码并理解对中的多个链接执行相同操作 我的应用程序

我创建了firebase项目并将我的应用程序与之连接。然后编译 firebase图书馆:

然后在清单活动标记中输入以下意图过滤器:

另外,如果我将所有这些都集成到上面的错误中

使用3个简单步骤集成动态链接:

1)firebase控制台和项目上的配置

Firebase动态链接位于可自定义子域外观上 类似于where.page.link是子域。 Firebase在此子域创建一个小型网站来承载链接。 在这个迷你网站上,它还会自动生成assetlinks.json 将动态链接映射到应用程序

a) 将您的项目添加到firebase

b) 对于动态链接,添加SHA-1和SHA-256指纹

c) 添加动态链接依赖项

d) 转到firebase控制台->选择项目->选择动态链接菜单 ->开始:添加要用于例如的子域:。如果不想使用page.link子域 你也可以用你自己的。输入域www.myapp.page.link和您的 子域已准备就绪

e) 确保您的应用程序已正确配置

检查用法:您选择的名称。page.link/.well-known/assetlinks.json 提供项目的配置详细信息

2)创建firebase动态链接

a) 创建新的动态链接将缩短预填充时间 链接/路径(可自定义)

b) 设置与短url相同的动态链接

c) 添加应用程序行为设置。下一步d)最终创建

3)最终收到动态链接


请注意,Firebase邀请已被弃用,取而代之的是Firebase动态链接,并将于2020年1月24日停止:好的……感谢Edric提供的信息
implementation 'com.google.firebase:firebase-invites:16.0.4'
<activity android:name=".HandleAppLinkActivity">
    <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="https"/>
    </intent-filter>
</activity>
private void handleDynamicLinks() {
    FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent())
       .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
            @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();
            }
            }
       }).addOnFailureListener(this, new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                 Log.w("TAG", "getDynamicLink:onFailure", e);
            }
        });
}
Duplicate class com.google.android.gms.internal.measurement.zzdi found in modules classes.jar (com.google.android.gms:play-services-appinvite:16.0.4) and classes.jar (com.google.android.gms:play-services-measurement-impl:16.5.0)
implementation 'com.google.firebase:firebase-dynamic-links:17.0.0'
<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="myapp.page.link"
           android:scheme="https"/>
    </intent-filter>
public void handleDeepLink(){
    FirebaseDynamicLinks.getInstance()
            .getDynamicLink(getIntent())
            .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                @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();
                        Uri data = intent.getData();

                        if (data.toString().toLowerCase().contains("catoffers")){
                            if (data.getQueryParameter("catoffers") != null){
                                          //TO DO                 
                            }
                        }else if (data.toString().toLowerCase().contains("offer")){
                            if (data.getQueryParameter("offer") != null){
                               //TO DO                                     
                            }
                        }else {
                              //TO DO         
                             finish();
                        }
                    }
                }
            })
            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w("TAG", "getDynamicLink:onFailure", e);
                }
            });
}
https://myapp.page.link/custom/?title=hadle