当您开发自有App,下载并集成SDK后,需要对所有SDK进行初始化。
概述
API Level 8及以上版本SDK的初始化不再需要逐一初始化SDK,而可以使用统一的初始化接口,一次性完成所有的所需SDK的初始化。如果您使用的是API Level
7或以下版本,建议您升级至最新版本API Level 9,详细请参见SDK升级。
统一初始化接口会根据您下载SDK时勾选的SDK配置项,一次性完成以下SDK的初始化。
- API通道SDK (必选初始化)
- 账号及用户SDK (必选初始化)
- 身份认证SDK(必选初始化)
- 长连接通道SDK
- 物模型SDK
- 移动应用推送SDK
- BoneMobile容器SDK
SDK初始化
- 集成安全图片。详细操作请参见集成安全图片。
说明 安全图片文件名根据站点、版本的不同而存在差异。请勿修改安全图片名称,下载后直接拷贝到App工程目录下。
- 下载并集成SDK。详细操作请参见下载并集成SDK。
- 初始化SDK。
- 配置SDK。
#import <IMSIotSmart/IMSIotSmart.h>
IMSIotSmartConfig *config = [IMSIotSmartConfig new];
config.regionType = REGION_ALL; //取值范围参见枚举类型 `IMSRegionType`
//这是默认配置,可以根据实际情况调整
[IMSIotSmart sharedInstance].config = config;
- 设置安全图片。
安全图片名称为:
yw_1222_china_production.jpg
,您可以通过如下方法设置。
[[IMSIotSmart sharedInstance] setAuthCode:@"china_production"];
- 启动初始化。
#import <IMSIotSmart/IMSIotSmart.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
IMSIotSmartConfig *config = [IMSIotSmartConfig new];
config.regionType = REGION_ALL; //取值范围参见枚举类型 `IMSRegionType`
[IMSIotSmart sharedInstance].config = config;
// 设置安全图片。如果不设置,默认使用china_production
[[IMSIotSmart sharedInstance] setAuthCode:@"china_production"];
[[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];
}
- 设置国家。
生活物联网平台的云端服务为多区域部署,根据您使用的SDK版本以及
config.regionType参数的取值,来判断是否需要在初始化时设置国家。
参数取值 |
API Level 8及以下 |
API Level 9及以上 |
REGION_CHINA_ONLY |
不需要 |
不需要 |
REGION_ALL |
需要
说明 此时如果您没有设置国家,SDK初始化流程会被暂停,且没法使用SDK的任何API。设置国家的操作请参见 历史文档。
|
不需要(此时需在注册App账号时设置国家) |
- 设置App可配网的产品列表。
#import <IMSIotSmart/IMSIotSmart+scope.h>
[[IMSIotSmart sharedInstance] configProductScope:PRODUCT_SCOPE_ALL];
/// 配置App上能看到的产品的范围,PRODUCT_SCOPE_ALL:表示当前项目中已发布和未发布的所有产品;PRODUCT_SCOPE_PUBLISHED:表示只包含已发布产
/// 正式发布的App请选择PRODUCT_SCOPE_PUBLISHED