web-dev-qa-db-ja.com

Flutterを使用したFirebaseダイナミックリンク:ディープリンクURLでアプリが開かない

私のフラッターに動的リンクを追加してみましたAndroidアプリ(公開されていません)デバッグモードであり、物理デバイスで実行されています。FirebaseコンソールでFirebase、動的リンクを構成しました。 one。deeplink( https://www.mywebsite.com/deep-link-page )がアプリを開かない場所から直接クリックされた場合、ダイナミックリンクをクリック https: //myapp.page.link 期待どおりにアプリを開きます。

 final DynamicLinkParameters parameters = DynamicLinkParameters(
  uriPrefix: 'https://freshakaka.page.link',
  link: Uri.parse('https://freshakaka.page.link/helloworld'),
  androidParameters: AndroidParameters(
    packageName: 'com.freshakaka.flutter',
    minimumVersion: 0,
  ),
  dynamicLinkParametersOptions: DynamicLinkParametersOptions(
    shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
  ),
  iosParameters: IosParameters(
    bundleId: 'com.google.FirebaseCppDynamicLinksTestApp.dev',
    minimumVersion: '0',
  ),
);

enter image description here

画像でわかるように、 https://kannadaclub.com/2019/10/17/seltos-50k-bookings/ は私のディープリンクです。このリンクがモバイルからクリックされると、アプリではなく常にウェブサイトが開きます。

3
maaz

これをintent-filterをマニフェスト内の最初の開始アクティビティに追加する必要があります。

<activity Android:name="your default activity">
      
        <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="freshakaka.page.link"
                Android:scheme="https" />
        </intent-filter>

    </activity>

詳しく説明するには:

あなたがそれを見つけたとき、あなたはプロジェクトのAndroidManifest.xmlを検索する必要があります、あなたはこのようなものを見るでしょう

   <activity
        Android:name=".MainActivity"
        Android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN"/>
            <category Android:name="Android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

LAUNCHERカテゴリを含むintent-filterがあるため、これは最初のアクティビティです。これは、アプリがそのアクティビティから開始することを意味し、上記で提供したintent-filterを追加する必要があります、 このような

       <activity
        Android:name=".MainActivity"
        Android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN"/>
            <category Android:name="Android.intent.category.LAUNCHER"/>
        </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="freshakaka.page.link"
                Android:scheme="https" />
        </intent-filter>

    </activity>

また、これをより明確な説明にチェックすることができます

https://firebase.google.com/docs/dynamic-links/Android/receive

5
haliltprkk