You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Genexus 18.4 .Net Android原生应用DeepLink无法触发问题求助

针对你遇到的DeepLink直接在Chrome打开、无法触发系统“打开方式”提示的问题,可按以下步骤逐一排查:

1. 验证原生应用的系统配置文件

Genexus自动配置可能存在遗漏,需手动检查Android的AndroidManifest.xml或iOS的Info.plist:

  • Android:确认包含匹配你的GX Cloud链接的<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="https"
            android:host="apps5.genexus.com"
            android:pathPrefix="/Idb6fdcb8d4axxxxxxxxxxxxxxxxxxxx/viewtest" />
    </intent-filter>
    
  • iOS:检查CFBundleURLTypes配置是否包含对应域名和路径,示例配置:
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>https</string>
            </array>
            <key>CFBundleURLName</key>
            <string>你的应用Bundle ID</string>
            <key>CFBundleURLResourceSpecifiers</key>
            <array>
                <dict>
                    <key>CFBundleURLHost</key>
                    <string>apps5.genexus.com</string>
                    <key>CFBundleURLPathPrefix</key>
                    <string>/Idb6fdcb8d4axxxxxxxxxxxxxxxxxxxx/viewtest</string>
                </dict>
            </array>
        </dict>
    </array>
    

修改后重新部署应用。

2. 测试系统级DeepLink触发

避开邮件客户端的内置浏览器干扰,直接用系统工具测试:

  • Android:使用ADB命令强制触发链接:
    adb shell am start -W -a android.intent.action.VIEW -d "https://apps5.genexus.com/Idb6fdcb8d4axxxxxxxxxxxxxxxxxxxx/viewtest.aspx"
    
  • iOS:在模拟器的Safari地址栏输入链接,或用Xcode命令:
    xcrun simctl openurl booted "https://apps5.genexus.com/Idb6fdcb8d4axxxxxxxxxxxxxxxxxxxx/viewtest.aspx"
    

如果系统仍不弹出选择框,说明系统配置存在问题;如果弹出,说明是邮件客户端的行为限制。

3. 排查Chrome的链接处理设置

Chrome可能默认接管https链接,需手动配置:

  • 打开Chrome的chrome://settings/handlers页面,检查是否已将你的GX Cloud域名关联到应用;
  • 若未关联,点击“添加”将域名与应用绑定;若已关联但无效,移除关联后重新测试。
  • Android:访问https://apps5.genexus.com/Idb6fdcb8d4axxxxxxxxxxxxxxxxxxxx/.well-known/assetlinks.json,确认文件包含你的应用的SHA-256指纹和包名;
  • iOS:访问https://apps5.genexus.com/.well-known/apple-app-site-association,确认文件包含你的应用的Team ID和Bundle ID;
    若文件不存在或内容不匹配,需在GX Cloud后台或Genexus项目中补全配置。

确保事件注册和代码逻辑正确,示例:

event deeplink.handle(&deeplinkInfo)
{
    if &deeplinkInfo.Path == "/viewtest.aspx"
    {
        navigate(NewPanel)
    }
}

测试时将应用退到后台,再触发DeepLink,确认事件是否被触发。

6. 确认应用ID一致性

Android的包名、iOS的Bundle ID必须与:

  • Genexus项目配置中的应用ID一致;
  • Digital Asset Links/Apple App Site Association文件中的ID一致。

内容的提问来源于stack exchange,提问作者Esteban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:55:18