我可以在任何跨平台框架上使用 DJI Mobile SDK 吗?

Can I use DJI Mobile SDK with any cross platform framework?

有没有人尝试过将DJI mobile SKD与任何跨平台开发框架一起使用? Ionic、React-Native 还是 Flutter?

可能吗?

如果他们没有可用的 Cordova 插件,它就无法开箱即用。至少在 Ionic 中没有。

为了让它工作,您需要将插件的 API 暴露给它的 JavaScript 对应部分,以便 Cordova 知道如何调用某些函数。

我们目前正在为 DJI MSDK 开发一个 React Native 包装器。欢迎查看我们的 repo

2022年的Flutter插件

这是一个可用于开发 cross-platform DJI iOS 和 Android 应用程序的库。

该库仍在开发中,请阅读以下内容:

是的,您可以使用 React Native。您需要为 DJI SDK 中的每个 feature/class 分别构建您想要实现的 iOS 和 Android 的自定义原生模块。所以你需要很好地理解它们是如何工作的。

例如下面是一个 objective C 存根。您可以在 ObjC/Swift、Java/Kotlin 中构建本机模块,有关其工作原理的更多信息可在 RN docs.

中找到
@implementation RCTDJIWaypointMission

RCT_EXPORT_MODULE(DJIWaypointMission)

RCT_REMAP_METHOD(loadMission, loadMission:(NSDictionary*)mission resolver:(RCTPromiseResolveBlock)resolve rejector:(RCTPromiseRejectBlock)reject) {
// method body
}
import { NativeModules } from 'react-native'
const { DJIWaypointMission } = NativeModules

DJIWaypointMission.loadMission(mission)