开发准备

SDK发布库

AbleCloud发布的安卓设备SDK为ac-device-android-1.1.6.jar,除此之外,还需要导入libDevice-Service.so文件(可根据不同cpu做不同选择)

具体步骤:把文件拷入你自己的工程的libs目录下并设置依赖

开发环境设置

以下为 AbleCloud Android SDK 需要的所有的权限,请在你的AndroidManifest.xml文件里的<manifest>标签里添加

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

应用程序初始化

在你的AndroidManifest.xml文件里的<application>标签里添加

<receiver android:name="com.accloud.clientservice.ACNetworkChangeReceiver"
          android:label="NetworkConnection">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
    </intent-filter>
</receiver>

及配置信息如下

<!-- [Required] 进入AbleCloud管理控制台,对应"产品管理->主域" -->
<meta-data android:name="major-domain" android:value="ablecloud"/>
<!-- [Required] 进入AbleCloud管理控制台,对应"产品管理->主域ID" -->
<meta-data android:name="major-domain-id" android:value="3"/>
<!-- [Required] 进入AbleCloud管理控制台,对应"产品管理->产品列表->子域".注意,若subDomain为数字,则需在数字前面加\0 -->
<meta-data android:name="sub-domain" android:value="demo"/>
<!-- [Required] 进入AbleCloud管理控制台,对应"产品管理->产品列表->子域ID" -->
<meta-data android:name="sub-domain-id" android:value="4"/>
<!-- [Required] 设备私钥,对应"产品管理->产品列表->点击管理->设备密钥->私钥" 若使用AbleCloud默认分配的密钥对,则填写默认密钥里的私钥,如选择设备独立密钥入库,则需要使用密钥生成工具自己生成公私钥并上传文件-->
<meta-data android:name="secret-key" android:value="BEADD508A1A0AC77523FA741DD1FF754D5BBBDFC93A32619A77A5B510D3C7F65C65323EEB6951129B79E70E4DE514E49F6217BA4CA80891048114C3EE856183D9F86C8E47F6130C909B61CC13C42D261809C4C6476A0257EC979A872B2AAD22D6821AFB64E1EAB246AB4D7008821CA4E"/>

<!-- [Optional] 环境设置,默认值为0(0正式环境 1测试环境) -->
<meta-data android:name="mode" android:value="1"/>
<!-- [Optional] 地域设置,默认值为0(0北京地区 1东南亚地区 3北美地区 4中欧地区) -->
<meta-data android:name="region" android:value="0"/>
<!-- [Optional] 设备版本,格式为"1-0-0",不设置情况下默认值为"1-0-0",也可通过ACConfig进行设置 -->
<meta-data android:name="version" android:value="1-0-0"/>
<!-- [Optional] 加密方式,默认值为2(0不加密 1静态加密 2动态加密) -->
<meta-data android:name="security-mode" android:value="2"/>

另外在你的应用使用AbleCloud服务之前,你需要在代码中对AbleCloud SDK进行初始化。 请在MainActivity的onCreate()方法中调用此方法来进行初始化

/**
 * 请在MainActivity的onCreate()中初始化设备物理ID并开始连云操作
 *
 * @param mContext         Context实例
 * @param physicalDeviceId AbleCloud设备物理ID,长度为[8,64]个字节,厂商需自己保证唯一性
 */
AC.init(Context Context, String PhysicalDeviceId);

:初始化操作时厂商需要为每个设备分配一个[8,64]字节长度的物理ID,并保证该ID的唯一性。在厂商没有自己唯一的设备标识号情况下,建议使用WIFI MAC地址或者手机IMEI号作为设备物理ID;可通过AbleCloud控制台查看在线设备查看对应设备的物理ID。