Windows应用程序中的自定义URI方案适用于开发人员,但不适用于Microsoft App Store

deyfvvtc  于 2023-11-21  发布在  Windows
关注(0)|答案(1)|浏览(137)

我已经为Windows构建了一个Flutter应用程序,并实现了一个自定义URI方案,以便当用户点击身份验证重定向URL时,它会将它们发送回我的应用程序。

myapp://auth#token=abc

字符串
我正在使用protocol_handler包,并已实现了所有内容,以便它在我的开发机器(Windows 11)上工作。

import 'package:protocol_handler/protocol_handler.dart';

void main() async{
  await protocolHandler.register('myapp'); //Not my real URI 🙂
}


我也可以构建一个MSIX包,在我的计算机上签名,它仍然可以工作。
当我点击myapp://链接时,我的Web浏览器(Chrome或Edge)会询问我是否要打开应用。我说“是”,应用就会被带到前台并处理重定向的内容。
我向Microsoft App Store提交了我的应用程序,并在合作伙伴中心中设置了此功能:

runFullTrust


但我一直被拒绝,因为自定义URI无法打开我的应用,测试人员无法登录
我的应用是否需要其他功能来使其在生产环境中工作?我知道我的应用需要进行注册表编辑才能使URI工作。我是否必须以某种方式显式请求?

unftdfkk

unftdfkk1#

我终于弄明白了这一点。必须将协议添加到您在pubspec.yaml文件中生成的msix构建中:

# Windows App Store Configuration `dart run msix:create`
msix_config:
  #######################################
  msix_version: 1.2.3.0 # Last number is always 0
  #######################################
  display_name: App Name
  publisher_display_name: Company Name
  identity_name: company.app 
  publisher: CN=XXXXXX... # This is found in your app info in the MS Partner dashboard
  logo_path: C:\Users\You\Desktop\FlutterApp\assets\images\windows.png
  store: true
  #Custom URI
  protocol_activation: myapp # <-- This is the critical part I was missing!

字符串

相关问题