【问题标题】:Deep link is not working in android react native深层链接在 android react native 中不起作用
【发布时间】:2020-09-21 16:41:55
【问题描述】:

我已经在 android react native 中设置了一个深层链接。单击链接时,我想跳过选项菜单,因为我在我的域地址上添加了.well-known/assetlinks.json 文件。 当我使用this 进行验证时,我看不到任何错误 ,不显示错误。

assetlinks.json文件:

[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
 "namespace": "android_app",
 "package_name": "<package-name>",
 "sha256_cert_fingerprints": [<SHA>]
 }
}]

数字资产链接的响应

{
 "statements": [
 {
   "source": {
    "web": {
      "site": "<domain>."
    }
  },
  "relation": "delegate_permission/common.handle_all_urls",
  "target": {
    "androidApp": {
      "packageName": "<package-name>",
      "certificate": {
        "sha256Fingerprint": "<SHA>"
      }
    }
  }
}
],
"maxAge": "59.999586063s",
"debugString": "********************* ERRORS 
*********************\nNone!\n********************* INFO MESSAGES *********************\n* 
Info: The following statements were considered when processing the request:\n\n---\nSource:

AndroidManifest:

<intent-filter android:label="@string/app_name" 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" android:host="domain" />
            <data android:scheme="https" />
</intent-filter>

MainActivity.java

public class MainActivity extends ReactActivity {

/**
 * Returns the name of the main component registered from JavaScript.
 * This is used to schedule rendering of the component.
 */
@Override
protected String getMainComponentName() {
    return "<package-name>";
}

@Override
protected ReactActivityDelegate createReactActivityDelegate() {
    return new ReactActivityDelegate(this, getMainComponentName()) {
        @Override
        protected ReactRootView createRootView() {
            return new RNGestureHandlerEnabledRootView(MainActivity.this);
        }
    };
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
    }
}

仅供参考:IOS 推荐的练习是什么时候做的,效果很好。

【问题讨论】:

    标签: android react-native react-native-android deep-linking android-app-links


    【解决方案1】:

    有趣的是,我知道域名应该包含 www 因此,以前当我尝试使用 xyz.com 时,它无法使用上述配置,当我将 Android 清单中的域更改为 www.xyz.com 时,它可以工作。

    但是,我仍然不知道为什么它适用于 www。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多