购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

| 第3章 |

第一个Mobile SDK应用程序

在使用Mobile SDK之前,首先要搭建相应的开发环境:需要将Mobile SDK相关的类库导入到项目中,并进行一些基本的设置。除此之外,在使用Mobile SDK中的各个功能之前,还需要在运行时通过代码执行一些常规性的操作,这些操作包括以下几个方面。

(1)请求用户权限:对于Android来说,一般在用户第一次打开应用程序时通过提示的方式请求用户权限,这些权限包括位置信息获取权限、数据存储访问权限、设备基本信息读取权限等。对于iOS应用程序来说,通常在需要使用某些权限时才弹出对话框提示请求用户同意。

(2)注册应用程序:在每次启用Mobile SDK应用程序时,都需要检查应用程序是否已经注册。如果没有注册,则需要通过网络向大疆注册服务器传递以下信息。

● 应用程序密钥(App key)。

● 应用程序包标识符(Bundle ID)。

● 由HASH算法通过SIM卡序列号等设备相关信息生成的设备UUID。

● 系统信息,包括系统平台、版本和名称。

● 移动设备类型。

强烈建议开发者在用户第一次打开应用程序时提示用户保持互联网连接正常,以便于注册应用程序。特别要关注使用Mavic Mini、精灵3S等通过Wi-Fi将移动设备连接到遥控器的用户,因为当这些无人机通过Wi-Fi连接移动设备时会造成互联网连接中断。

注册应用程序的过程也是检查大疆无人机限飞数据库版本的过程。如果限飞数据库需要更新,会自动下载最新版本的数据库。

(3)实名制认证:在中国大陆地区使用Mobile SDK应用程序,必须要通过用户账号管理器(UserAccountManager)登录DJI账号以进行实名制认证,激活应用程序。每次实名制认证的有效时间为3个月,过期后需要重新登录认证。当前应用程序的实名制认证的状态(应用程序激活状态)则需要通过应用程序激活管理器(AppActivationManager)进行获取。当在中国大陆以外的地区使用Mobile SDK应用程序时,无须登录DJI账号进行实名制认证。

(4)绑定无人机:对于新购买的大疆无人机来说,需要在DJI GO、DJI GO 4等应用程序中激活无人机。在中国大陆地区,除了激活无人机,还需要将该无人机绑定在某个DJI账号下,否则在使用Mobile SDK应用程序时会出现图传和飞行范围上的限制。但是,通过Mobile SDK无法实现绑定无人机的功能,我们能够做的就是检查无人机是否被绑定过。如果没有,则需要跳转到DJI GO、DJI GO 4等应用程序中引导用户绑定无人机。

(5)连接无人机:在通过Mobile SDK使用无人机之前,需要通过SDK管理器连接无人机。待无人机连接正常后,Mobile SDK才可以通过Lightbridge或OcuSync等链路监控无人机。值得注意的是,为了安全考虑,同一时刻只能有一台设备的一个应用程序连接到无人机。例如,对于使用Wi-Fi连接遥控器和移动设备的无人机来说,如果当一台设备的应用程序连接到无人机后,其他设备上的应用程序就无法正常连接。对于同一台设备的多个应用程序来说也是如此。例如,当某台移动设备的DJI GO已经连接到无人机,那么Mobile SDK应用程序就无法连接到无人机。

(6)获取无人机对象:通过SDK管理器可获取到无人机对象,进而通过无人机对象获得无人机的型号、固件版本号等信息,以及该无人机对象的飞行控制器、云台、相机等各个组件的对象示例。

上述这些操作是任何Mobile SDK应用程序所必须的初始化流程,建议开发者将这些执行过程按照如图3-1所示的顺序进行代码设计。

图3-1 Mobile SDK应用程序初始化流程

本章包括以下几个方面的内容。

(1)分别在Android和iOS中完成Mobile SDK应用程序的开发环境搭建工作,并从零开始开发第一个Mobile SDK应用程序。将该应用程序命名为“DroneFly”,在随后的章节中,均以该DroneFly应用程序为基础进行开发和讲解。

(2)在DroneFly应用程序的基础上完成注册应用程序、实名制认证、绑定和连接无人机的相关操作,介绍如何获取应用程序注册和激活的状态信息。其中,实名制认证和绑定无人机只适用于在中国大陆地区应用的Mobile SDK应用程序,针对国外用户开发的应用程序无须进行此项配置工作。

(3)介绍Mobile SDK应用程序的常见调试工具和方法,包括飞行模拟器工具、桥接调试方法、非调试状态的错误信息获取方法和iOS远程调试工具。

让我们从零开始学习吧! ma9AR2Nm7++Blyq5Y1Y9ecsQTCJMl9A4RS0+XJjhdafIcYl/A5JuXHEiPygccDu2

点击中间区域
呼出菜单
上一章
目录
下一章
×