我发现这djivideo://
是一个自定义 url,我可以在 safari 中使用它来打开 iOS DJI Go 应用程序。还有其他类似的自定义网址吗?
我可以使用该 URL 传递哪些所有参数?
我可以将无人机目的地点直接设置为地址吗?
我发现这djivideo://
是一个自定义 url,我可以在 safari 中使用它来打开 iOS DJI Go 应用程序。还有其他类似的自定义网址吗?
我可以使用该 URL 传递哪些所有参数?
我可以将无人机目的地点直接设置为地址吗?
我建议使用Mobile SDK创建自定义移动应用程序,而不是侵入 DJI Go 自定义 URL。自定义 URL 可能会也可能不会执行您打算执行的操作。有大量适用于 Mobile SDK 的示例应用程序可让您立即开始使用。链接在这里。
从官方 DJI 开发者网站,他们支持 3rd 方开发者使用的唯一自定义 URL 方案似乎是:
重定向到 DJI Go 4 应用程序:使用 URL 方案“djiVideoNew://”
重定向到 DJI Go 应用程序:使用 URL 方案“djiVideo://”
如果您想对应用程序的自定义 URL 方案进行反向工程,您可以查看其 Info.plist 文件,其中列出了它们。这在越狱设备上是最简单的,您可以在其中浏览整个文件系统。
查看最近(但不是当前)版本的 DJI Go 4,我在 Info.plist 中看到:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.dji.go</string>
<key>CFBundleURLSchemes</key>
<array>
<string>djiVideoNew</string>
</array>
</dict>
但是,还有一些其他的 URL 方案,可能是为了支持 DJI 使用的 3rd-party 库的功能。但是,我也看到了这些:
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>djialipay916787060</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>djiLive4</string>
</array>
</dict>
当然,仅知道方案名称并不能告诉您它们可能采用的 URL 参数。这些通常是完全没有记录的,并且可以随时更改。您可以尝试使用反汇编器/反编译器来检查应用程序(高级主题)。或者,使用自定义 URL 方案名称,只需开始进行 google 搜索,看看是否有其他人反向工程或记录了他们的使用。