iOS 通用链接:Django Python 支持

Ara*_*ran 1 django heroku ios python-3.x ios-universal-links

我正在尝试将通用链接集成到我的 iOS 应用程序中。为了进行测试,我在 Heroku 上配置了一个示例 Django 应用程序,并将 apple-app-site 关联文件添加到应用程序的根目录中。

对domain_url/apple-app-site-association 的GET 请求提供以下结果

{
  "applinks": {
      "apps": [],
      "details": [
           {
             "appID": "XXXXXXXXXX.com.app.myapp",
             "paths": ["*"]
           }
       ]
   }
}
Run Code Online (Sandbox Code Playgroud)

以下是处理请求的 python 代码

path = os.path.join(os.getcwd(), 'apple-app-site-association')
with open(path , 'r') as myfile:
    data=myfile.read()
response = HttpResponse(content=data)
response['Content-Type'] = 'application/json'
return response
Run Code Online (Sandbox Code Playgroud)

我用我的服务器 URL 尝试了branch.io 验证器,效果很好。

https://search.developer.apple.com/appsearch-validation-tool/返回以下响应

错误 无具有域权利的应用程序 用于验证深层链接双重身份验证的权利数据来自应用程序的当前发布版本。此数据可能需要 48 小时才能更新。

我配置了关联的域并更新了配置文件。我尝试通过单击邮件应用程序和笔记应用程序中的链接在 iPhone 上打开该应用程序。但链接是向 Safari 打开,而不是应用程序。

我尝试重新安装该应用程序。但没有任何作用。我哪里做错了?

任何帮助将不胜感激。

B-T*_*ots 5

JSON一种更简单的方法是仅在 URL 处呈现模板。下面是一个例子:

from django.views.generic.base import TemplateView

path('.well-known/apple-app-site-association', TemplateView.as_view(template_name='frontend/apple-app-site-association', content_type='application/json',)),
Run Code Online (Sandbox Code Playgroud)

然后您可以将该文件放入模板文件夹中。