Dynamischer Firebase-Link öffnet die App nicht

Lesezeit: 3 Minuten

Dynamischer Firebase Link offnet die App nicht
Benutzer3559471

Ich habe eine Android-App lokal auf meinem Gerät entwickelt (App noch nicht im Android Play Store). Ich habe die folgende Logik, um einen tiefen Link in MainActivity zu erhalten.

GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, null)
            .addApi(AppInvite.API)
            .build();

    // Check if this app was launched from a deep link. Setting autoLaunchDeepLink to true
    // would automatically launch the deep link if one is found.
    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();
                                String deepLink = AppInviteReferral.getDeepLink(intent);

                                Toast.makeText(getApplicationContext(), deepLink, Toast.LENGTH_LONG).show();
                                // Handle the deep link. For example, open the linked
                                // content, or apply promotional credit to the user's
                                // account.

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

Ich habe einige dynamische Links mit der Firebase-Konsole erstellt und im mobilen Browser geöffnet. Aber es öffnet meine App nicht und erreicht die Zeile String deepLink = AppInviteReferral.getDeepLink(intent);

Stattdessen wird die URL im mobilen Browser selbst geöffnet.

Wie öffne ich die App und handhabe Deep-Links in der Aktivität, während ich den dynamischen Firebase-Link verwende?

Bearbeiten:

Ich habe einen Absichtsfilter in der Manifestdatei.

<activity android:name="MainActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <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>
    </activity>

  • Haben Sie den Intent-Filter im Manifest deklariert? Haben Sie die Konsole auch korrekt mit Ihrem SHA-1-Fingerabdruck eingerichtet?

    – NSimon

    3. Juni 2016 um 9:42 Uhr


  • @NicolasSimon, ja, ich habe einen Absichtsfilter im Manifest. und Setup-Konsole richtig. Aktualisiertes Detail in Frage.

    – Benutzer3559471

    3. Juni 2016 um 9:45 Uhr

  • Nur eine Randnotiz – achten Sie darauf, den android:host unter zu platzieren (genau wie oben angegeben), da der Link sonst nicht korrekt geöffnet wird. das war mein Problem.

    – ilibilibom

    8. Januar 2020 um 9:10 Uhr


  • Beim Erstellen eines dynamischen Links in der Firebase-Konsole ist das zweite Pflichtfeld Deep Link. Beschreibung, die sie angegeben haben – Der Deep-Link, den Ihre App öffnet. Dieser Link muss eine gültige URL sein und das HTTP- oder HTTPS-Schema verwenden. Siehe den ‘link’-Parameter in der Dokumentation. Aber als ich einen dynamischen Link erstellte, behielt ich eine zufällige URL “abcd.com”. Kann das das Problem sein, wenn die App nicht gestartet wird?

    – Benutzer3559471

    3. Juni 2016 um 9:55 Uhr


  • Ich habe einen neuen dynamischen Link mit einer gültigen URL ausprobiert. Aber diese URL wird im mobilen Browser selbst geöffnet. Ich möchte diese URL in der App nach dem Start der App.

    – Benutzer3559471

    3. Juni 2016 um 10:00 Uhr

  • Aufgrund meiner (kurzen) Erfahrung mit Firebase-Deeplinks denke ich nicht, dass die URL ein Problem darstellt. Ich habe ein Bild hinzugefügt, um zu erklären, woher ich den besagten Link bekomme, von dem ich gesprochen habe (derjenige, der unter Daten im Intent-Filter eingefügt werden soll). Hast du es damit versucht?

    – NSimon

    3. Juni 2016 um 10:00 Uhr

  • Ja, ich habe es mit dem versucht, was Sie gesagt haben, und mit einer gültigen URL. Es startet die URL im mobilen Browser. Trotzdem wird die App nicht gestartet.

    – Benutzer3559471

    3. Juni 2016 um 10:07 Uhr

  • DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse(“beispiel.com/”)) .setDomainUriPrefix(“beispiel.seite.link”) .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) .buildDynamicLink(); Können Sie mir sagen, was ich in .setLink() und .setDomainUriPrefix() für Firebase-basierte Android-Apps hinzufügen soll

    – Rahul Dange

    6. Januar 2019 um 18:41 Uhr


  • setLink(Uri.parse(“beispiel.com/”) “Beispiel” kann ein beliebiger Name sein, auch wenn Sie keine echte Website haben. setDomainUriPrefix(“beispiel.seite.link”) müssen Sie “example” von Ihrem Firebase-Projekt dynamiclink abrufen.

    – Leo S

    9. Januar 2019 um 21:30 Uhr


1005300cookie-checkDynamischer Firebase-Link öffnet die App nicht

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy