'Flutter Blank page when Open the App from facebook ads link with deep linking

we have a flutter application, and we are doing a Facebook ads campaign to get conversion inside the app., and for that, we use deep-linking.

but the problem is that when the users that already installed the app, click on the Facebook ads link. they go to a blank page inside the app.

this is the app manifast , this is the AndroidManifast code :

    <?xml version="1.0" encoding="UTF-8"?>

-<manifest platformBuildVersionName="10" platformBuildVersionCode="29" package="com.xxxxxx.food_delivery_app" android:compileSdkVersionCodename="10" android:compileSdkVersion="29" xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET"/>
  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permission android:name="android.permission.RECORD_AUDIO"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

<uses-permission android:name="android.permission.VIBRATE"/>

<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

<uses-permission android:name="android.permission.BLUETOOTH"/>

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

<uses-feature android:required="true" android:glEsVersion="0x00020000"/>

<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>


-<application android:name="io.flutter.app.FlutterApplication" android:supportsRtl="true" android:label="xxxxx" android:icon="@mipmap/ic_launcher" android:appComponentFactory="androidx.core.app.CoreComponentFactory">

<meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_map_key"/>

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_notification"/>

<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/pink"/>


-<activity android:name="com.example.xxxxx.MainActivity" android:windowSoftInputMode="adjustResize" android:theme="@style/LaunchTheme" android:launchMode="singleTop" android:hardwareAccelerated="true" android:configChanges="density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|orientation|screenLayout|screenSize|smallestScreenSize|uiMode">

<meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme"/>

<meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/launch_background"/>


-<intent-filter>

<action android:name="android.intent.action.MAIN"/>

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

</intent-filter>


-<intent-filter>

<action android:name="FLUTTER_NOTIFICATION_CLICK"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

<meta-data android:name="flutter_deeplinking_enabled" android:value="true"/>


-<intent-filter android:autoVerify="true">

<action android:name="android.intent.action.VIEW"/>

<category android:name="android.intent.category.DEFAULT"/>

<category android:name="android.intent.category.BROWSABLE"/>

<data android:scheme="http"/>

<data android:scheme="https"/>

<data android:host="xxxxapp.page.link"/>

</intent-filter>

</activity>

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity" android:label="@string/app_name" android:theme="@style/com_facebook_activity_theme" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>


-<activity android:name="com.facebook.CustomTabActivity" android:exported="true">


-<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:scheme="@string/fb_login_protocol_scheme"/>

</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:scheme="fbconnect" android:host="cct.com.xxxxxxx.food_delivery_app"/>

</intent-filter>

</activity>

<meta-data android:name="flutterEmbedding" android:value="2"/>

<meta-data android:name="com.facebook.sdk.CodelessDebugLogEnabled" android:value="true"/>


-<service android:name="com.google.firebase.components.ComponentDiscoveryService" android:exported="false" android:directBootAware="true">

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebase.firestore.FlutterFirebaseFirestoreRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebase.auth.FlutterFirebaseAuthRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebase.database.FlutterFirebaseAppRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebase.crashlytics.FlutterFirebaseAppRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebasemessaging.FlutterFirebaseAppRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebaseanalytics.FlutterFirebaseAppRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebase.core.FlutterFirebaseCoreRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.dynamiclinks.ktx.FirebaseDynamicLinksKtxRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.ktx.FirebaseAnalyticsKtxRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonKtxRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:io.flutter.plugins.firebasedynamiclinks.FlutterFirebaseAppRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.crashlytics.CrashlyticsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.firestore.FirestoreRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.database.DatabaseRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

<meta-data android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>

</service>


-<service android:name="io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService">


-<intent-filter>

<action android:name="com.google.firebase.MESSAGING_EVENT"/>

</intent-filter>

</service>


-<provider android:name="io.flutter.plugins.imagepicker.ImagePickerFileProvider" android:exported="false" android:grantUriPermissions="true" android:authorities="com.xxxxx.food_delivery_app.flutter.image_provider">

<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/flutter_image_picker_file_paths"/>

</provider>

<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver"/>


-<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">


-<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED"/>

<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>

<action android:name="android.intent.action.QUICKBOOT_POWERON"/>

<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>

</intent-filter>

</receiver>


-<provider android:name="io.flutter.plugins.share.ShareFileProvider" android:exported="false" android:grantUriPermissions="true" android:authorities="com.xxxxxx.food_delivery_app.flutter.share_provider">

<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/flutter_share_file_paths"/>

</provider>

<activity android:name="io.flutter.plugins.urllauncher.WebViewActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:exported="false"/>


-<service android:name="com.google.firebase.messaging.FirebaseMessagingService" android:exported="false" android:directBootAware="true">


-<intent-filter android:priority="-500">

<action android:name="com.google.firebase.MESSAGING_EVENT"/>

</intent-filter>

</service>


-<service android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery" android:exported="false">

<meta-data android:name="backend:com.google.android.datatransport.cct.CctBackendFactory" android:value="cct"/>

</service>


-<activity android:name="com.google.firebase.auth.internal.GenericIdpActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:launchMode="singleTask" android:exported="true" android:excludeFromRecents="true">


-<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:scheme="genericidp" android:host="firebase.auth" android:path="/"/>

</intent-filter>

</activity>


-<activity android:name="com.google.firebase.auth.internal.RecaptchaActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:launchMode="singleTask" android:exported="true" android:excludeFromRecents="true">


-<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:scheme="recaptcha" android:host="firebase.auth" android:path="/"/>

</intent-filter>

</activity>


-<service android:name="com.google.firebase.auth.api.fallback.service.FirebaseAuthFallbackService" android:exported="false" android:enabled="true">


-<intent-filter>

<action android:name="com.google.firebase.auth.api.gms.service.START"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</service>


-<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">


-<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE"/>

</intent-filter>

</receiver>

<provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:exported="false" android:directBootAware="true" android:authorities="com.xxxxx.food_delivery_app.firebaseinitprovider" android:initOrder="100"/>

<activity android:name="com.facebook.CustomTabMainActivity"/>


-<receiver android:name="androidx.media.session.MediaButtonReceiver">


-<intent-filter>

<action android:name="android.intent.action.MEDIA_BUTTON"/>

<action android:name="android.media.AUDIO_BECOMING_NOISY"/>

</intent-filter>

</receiver>


-<service android:name="com.dooboolab.TauEngine.FlautoBackgroundAudioService">


-<intent-filter>

<action android:name="android.intent.action.MEDIA_BUTTON"/>

<action android:name="android.media.AUDIO_BECOMING_NOISY"/>

<action android:name="android.media.browse.FlautoMediaBrowserService"/>

</intent-filter>

</service>

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

<activity android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false"/>

<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:exported="false" android:enabled="true"/>

<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:exported="false" android:enabled="true"/>

<service android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:exported="false" android:enabled="true" android:permission="android.permission.BIND_JOB_SERVICE"/>

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>

<provider android:name="com.facebook.internal.FacebookInitProvider" android:exported="false" android:authorities="com.xxxxxx.food_delivery_app.FacebookInitProvider"/>


-<receiver android:name="com.facebook.CurrentAccessTokenExpirationBroadcastReceiver" android:exported="false">


-<intent-filter>

<action android:name="com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED"/>

</intent-filter>

</receiver>

<service android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/>

<receiver android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver" android:exported="false"/>

<meta-data android:name="com.android.dynamic.apk.fused.modules" android:value="base"/>

<meta-data android:name="com.android.stamp.source" android:value="https://play.google.com/store"/>

<meta-data android:name="com.android.stamp.type" android:value="STAMP_TYPE_STANDALONE_APK"/>

<meta-data android:name="com.android.vending.splits" android:resource="@xml/splits0"/>

<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>

</application>

</manifest>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source