当您开发自有App,下载并集成SDK后,需要对所有SDK进行初始化。

概述

从API Level 8开始,SDK的初始化不再需要逐一初始化SDK,而可以使用统一的初始化接口,一次性完成所有的所需SDK的初始化。如果您使用的是API Level 7或以下版本,建议您升级至最新版本,详细请参见SDK升级

根据开发者下载SDK时勾选的SDK配置项,统一接口对如下SDK逐一初始化。

  • API通道SDK (必选初始化)
  • 账号及用户SDK (必选初始化)
  • 身份认证SDK(必选初始化)
  • 长连接通道SDK
  • 设备模型SDK
  • 移动应用推送SDK
  • BoneMobile容器SDK

SDK初始化

  1. 集成安全图片。详细操作请参见集成安全图片
    说明 安全图片文件名根据站点、版本的不同而存在差异。请勿修改安全图片名称,下载后直接拷贝到App工程目录下。
  2. 下载并集成SDK。详细操作请参见下载并集成SDK
  3. 初始化SDK。
    1. 配置SDK。
      #import <IMSIotSmart/IMSIotSmart.h>
      
          IMSIotSmartConfig *config = [IMSIotSmartConfig new];
          config.regionType = REGION_ALL; //取值范围参见枚举类型 `IMSRegionType`
          //这是默认配置,可以根据实际情况调整
      
          [IMSIotSmart sharedInstance].config = config;
      说明 如果使用默认配置,可忽略此步骤。
    2. 启动初始化。
      #import <IMSIotSmart/IMSIotSmart.h>
      
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      
          IMSIotSmartConfig *config = [IMSIotSmartConfig new];
          config.regionType = REGION_ALL;  // 设置地域类型,如果您的设备仅在国内销售,请设置为“REGION_CHINA_ONLY”;
                          // 如果您的设备还需要往海外销售,则需设置为“REGION_ALL”,且还需设置相应的国家,参见步骤3-3。
          //如使用默认配置,此处可以省略
          [IMSIotSmart sharedInstance].config = config;
      
          [[IMSIotSmart sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
      
          return YES;
      }
      
      - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
         //如果APP没有集成移动应用推送能力,此处无需要调用
          [[IMSIotSmart sharedInstance] application:application didReceiveRemoteNotification:userInfo];
      }
      
      - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
          //如果APP没有集成移动应用推送能力,此处无需要调用
          [[IMSIotSmart sharedInstance] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
      }
      
      - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
          //如果APP没有集成移动应用推送能力,此处无需要调用
          [[IMSIotSmart sharedInstance] application:application didFailToRegisterForRemoteNotificationsWithError:error];
      }
    3. 设置国家。
      阿里云IoT的云端服务为多区域部署,如果您将config.regionType设置成REGION_ALL后,还需要设置相应的国家,请参见国际站开发实践专题完成。
      说明 如果您未设置国家,SDK初始化流程会挂起,直至国家设置完毕。在国家设置完成前请勿使用SDK的任一API,否则会造成报错。
  4. 设置App可配网的产品列表。
    #import <IMSIotSmart/IMSIotSmart+scope.h>
    [[IMSIotSmart sharedInstance] configProductScope:PRODUCT_SCOPE_ALL];
        /// 配置App上能看到的产品的范围,PRODUCT_SCOPE_ALL:表示当前项目中已发布和未发布的所有产品;PRODUCT_SCOPE_PUBLISHED:表示只包含已发布产
        /// 正式发布的App请选择PRODUCT_SCOPE_PUBLISHED

SDK API Reference

在使用生活物联网平台提供的SDK时,相关的SDK API注释请参见SDK API Reference