is this deeplinking ok or something is wrong? It does not work correctly. It opens the app but not correct link:
package se.vl.app;

import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.nfc.NfcAdapter;
import android.util.Log;
import android.view.View;
import android.webkit.WebSettings;

import com.getcapacitor.BridgeActivity;
import com.getcapacitor.JSObject;
import se.vl.app.plugins.MtbPlugin;
import se.vl.app.plugins.ZoomPlugin;

import org.json.JSONObject;

public class MainActivity extends BridgeActivity {
    private static final String TAG = "MainActivity";
    private NfcAdapter nfcAdapter;
    public float initialSystemFontScale;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        registerPlugin(MtbPlugin.class);
        registerPlugin(ZoomPlugin.class);
        super.onCreate(savedInstanceState);
         nfcAdapter = NfcAdapter.getDefaultAdapter(getApplicationContext());

         if (nfcAdapter != null) {
             disableNFC();
             IntentFilter filter = new IntentFilter(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
             if (Build.VERSION.SDK_INT >= 34 && getApplicationInfo().targetSdkVersion >= 34) {
                this.registerReceiver(NFCReceiver, filter, Context.RECEIVER_EXPORTED);
             } else {
                 this.registerReceiver(NFCReceiver, filter);
             }
         }

        // Emit text zoom by plugin, ignore native scaling
        WebSettings settings = bridge.getWebView().getSettings();
        initialSystemFontScale = settings.getTextZoom() / 100.0f;
        settings.setTextZoom(100);
        settings.setSupportZoom(false);

        View decorView = getWindow().getDecorView();
       decorView.getViewTreeObserver().addOnWindowFocusChangeListener(hasFocus -> {
            Log.d(TAG, "DecorView focus changed: hasFocus=" + hasFocus);
            emitAppFocusEvent(hasFocus);
       });

        handleAppLink(getIntent());
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        handleAppLink(intent);
    }

    private void handleAppLink(Intent intent) {
        String action = intent.getAction();
        Uri data = intent.getData();

        if (Intent.ACTION_VIEW.equals(action) && data != null) {
            String url = data.toString();

            if (url.contains("al_applink_data")) {
                url = extractTargetUrlFromFacebookAppLink(url);
            }

            if (bridge != null) {
                JSObject urlObject = new JSObject();
                urlObject.put("url", url);
                bridge.triggerWindowJSEvent("appUrlOpen", urlObject.toString());
                Log.d(TAG, "Deep link processed: " + url);
            }
        }
    }

    private String extractTargetUrlFromFacebookAppLink(String appLinkUrl) {
        try {
            Uri uri = Uri.parse(appLinkUrl);
            String alData = uri.getQueryParameter("al_applink_data");
            if (alData != null) {
                JSONObject json = new JSONObject(alData);
                return json.optString("target_url", appLinkUrl);
            }
        } catch (Exception e) {
            Log.e(TAG, "Error parsing Facebook App Link", e);
        }
        return appLinkUrl;
    }

    private void emitAppFocusEvent(boolean hasFocus) {
        JSObject eventData = new JSObject();
        eventData.put("hasFocus", hasFocus);
        bridge.triggerWindowJSEvent("appFocusChanged", eventData.toString());
        Log.d(TAG, "Emitted appFocusChanged event with hasFocus=" + hasFocus);
    }


    private final BroadcastReceiver NFCReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                final String action = intent.getAction();

                if (action.equals(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED)) {
                    final int state = intent.getIntExtra(NfcAdapter.EXTRA_ADAPTER_STATE,
                        NfcAdapter.STATE_OFF);
                    switch (state) {
                        case NfcAdapter.STATE_OFF:
                        case NfcAdapter.STATE_TURNING_OFF:
                            break;
                        case NfcAdapter.STATE_ON:
                        case NfcAdapter.STATE_TURNING_ON:
                            disableNFC();
                            break;
                    }
                }
            }
        };

    @Override
    public void onDestroy() {
       super.onDestroy();
       this.unregisterReceiver(NFCReceiver);
    }


    private void disableNFC() {
        nfcAdapter.enableReaderMode(this, null, NfcAdapter.STATE_OFF, null);
    }
}