简体   繁体   English

如何从firebase获取动态Url

[英]How to get Dynamic Url from firebase

在此处输入图像描述 We are not access share url from firebase using "https://firebase.google.com/docs/dynamic-links/android/receive"我们无法使用“https://firebase.google.com/docs/dynamic-links/android/receive”从 firebase 访问共享 url

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();

                    Log.e("deepLink",""+deepLink.toString());
                }


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

                // ...
            }
        })
        .addOnFailureListener(this, new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "getDynamicLink:onFailure", e);
            }
        });

this method of firebase is allways return null in "onSuccess".这个 firebase 的方法总是在“onSuccess”中返回 null。

first you need to make sure you URI is formulated like首先你需要确保你的URI是这样表述的

https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link]

method getDynamicLink returns null if a dynamic link is not previously captured or is in the Uri, the above link format is not necessarily to be like that but it should match to the intent filters you have previously defined.方法getDynamicLink返回 null 如果一个动态链接以前没有被捕获或者在 Uri 中,上面的链接格式不一定是这样的,但它应该与您之前定义的意图过滤器匹配。

AndroidManifest.xml AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >

        <activity android:name=".EntryChoiceActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".java.MainActivity"
            android:exported="true">
            <!-- [START link_intent_filter] -->
            <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="link"
                    android:scheme="your_subdomain.page.link"/>
            </intent-filter> 
        </activity>
    </application>

</manifest>

also you should add query parameters to the link field in the firebase console, https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link] and deep link remain short https://your_subdomain.page.link/example now to reproduce an adb test for a intent filters like:您还应该将查询参数添加到 firebase 控制台中的链接字段, https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link]和深层链接保持简短https://your_subdomain.page.link/example现在为意图过滤器重现 adb 测试,例如:

<activity
    android:name=".ui.activities.MyActivity"
    android:label="@string/title_activity"
    android:screenOrientation="portrait">
    <!-- ATTENTION: This intent was auto-generated. Follow instructions at
    https://g.co/AppIndexing/AndroidStudio to publish your Android app deep links. -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- ATTENTION: This data URL was auto-generated. We recommend that you use the HTTP scheme.
        TODO: Change the host or pathPrefix as necessary. -->
        <data
            android:host="link"
            android:scheme="your_subdomain.page.link" />
    </intent-filter>
</activity>

use:采用:

adb shell am start -W -a android.intent.action.VIEW -d "your_subdomain.page.link://link?key=category_parent_id\&value=92\&title=test" com.app_name.android

Hope this help thanks.希望这有帮助谢谢。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从字符串输入中获取 Firebase 动态链接数据 url Flutter - Get Firebase Dynamic Link Data from String Input url Flutter 如何从 firebase 存储中存储的文件中获取 URL? - How to get URL from files stored in firebase Storage? 如何从 firebase 存储中获取可公开访问的 URL? - How do I get publicly accessible URL from firebase storage? 如何在firebase存储中上传一张图片,在firebase文档字段中获取url - How to upload a picture in firebase storage and get it url in firebase document field 如何从firebase获取accessToken - How to get accessToken from firebase 如何获取 URL 中存储在 Firebase 中的图像存储在特定文件夹中 | 安卓 | Java - How to get URL of Images from that are stored in Firebase Storage in specific folder | Androi | Java 如何从 firebase 存储中获取图像 URL 列表并将其上传到云 firestore? - How to get a list of image URL from firebase storage and upload it to cloud firestore? 如何获取带有上传文件令牌的 url 到 firebase 存储? - How do I get url with token of uploaded file to firebase storage? 如何获取 Firebase Function 请求的来源 URL? - How do I get the origin URL of a Firebase Function request? 如何将pdf文件上传到firebase存储并获取flutter中的url? - How to upload pdf file to firebase storage and get the url in flutter?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM