所有文档

          百度日志服务 BLS

          iOS SDK

          简介

          本文档主要介绍百度智能云日志服务 iOS SDK的安装和使用。

          本文档假设您已经开通了百度智能云日志服务。

          如果您还没有开通或者还不了解日志服务,请登录 日志服务产品主页 获取更多的帮助。

          环境要求

          • iOS系统版本:9.0及以上
          • 必须注册有百度智能云用户账户,并开通日志服务

          安装SDK工具包

          安装步骤

          1. 在官方下载SDK压缩包,解压得到BDLogServiceSDK.framework。
          2. 根据需要将framework复制到您的Xcode工程目录下,例如lib目录。
          3. 在Xcode右键工程->Add files to "your project",导入您刚才复制的framework。

          SDK目录结构

          |_BDLogServiceSDK.framework                   // BLS SDK
          | |____Headers
          |   |____BDLogServiceSDK.h                    // BLS 头文件说明
          |   |____BDCloudLogStore.h                    // BLS 日志集相关接口类
          |   |____BDCloudLogStream.h                   // BLS 日志流相关接口类
          |   |____BDCloudLogRecord.h                   // BLS 读写日志相关接口类
          |   |____BDCloudFastQuery.h                   // BLS 快速查询相关接口类
          |   |____BDCloudLogServiceIndex.h             // BLS 索引相关接口类
          |   |____BDCloudRequestManager.h              // BLS 网络请求类
          |   |____BDCloudSigner.h                      // BLS AK、SK签名类

          SDK使用

          示例1:上传日志

          1. 初始化设置ak/sk,创建id<BDCloudSigner>对象
          //初始化AK SK                 
          NSString *ak = @"<access key>";    
          NSString *sk = @"<secret key>";
          BDCloudCredentials* credentials = [[BDCloudCredentials alloc] init];
          credentials.accessKey = ak;
          credentials.secretKey = sk;
          id<BDCloudSigner> signer = [[BDCloudAKSKSigner alloc] initWithCredentials:credentials];
          signer.expiredTimeInSeconds = 1800;
          1. 上传日志

            1. 创建BDCloudLogRecord对象
            //初始化BDCloudLogRecord对象                 
            BDCloudLogRecord *logRecord = [[BDCloudLogRecord alloc] initWithSigner: signer]; 
            1. 调用BDCloudLogRecord pushLogRecord接口
            //配置参数,请求接口 
            NSString *logStoreName = @"<自定义名称>";
            NSString *logStreamName = @"<自定义名称>"; 
            NSInteger time = (NSInteger)([NSDate date].timeIntervalSince1970 * 1000); //自定义时间戳,不能大于当前时间戳,单位毫秒
            NSString *type = @"TEXT"; //数据类型,JSON/TEXT,默认TEXT
            NSArray *logRecords = @[
                @{
                    @"message":@"<自定义logRecord内容>",
                    @"timestamp":[NSNumber numberWithInteger:time]
                },
                @{
                    @"message": @"<自定义logRecord内容>",
                    @"timestamp": [NSNumber numberWithInteger:time]
                }
            ]; //日志记录
            __weak typeof(self) weakSelf = self;  
            [logRecord pushLogRecordWithLogLogStoreName:logStoreName   logStreamName:logStreamName type:type logRecords:logRecords completion:^(NSDictionary * _Nonnull resultDic, NSError * _Nonnull error) {       
            //resultDic返回服务器返回的数据结果
                if(error){ //失败
                    NSLog(@"%@ %@", resultDic[@"message"], error);
                } else { //成功
                    NSLog(@"推送日志记录成功");
                }
            }];

          示例2:创建日志集

          1. 初始化设置ak/sk,创建id<BDCloudSigner>对象
          //初始化AK SK                 
          NSString *ak = @"<access key>";    
          NSString *sk = @"<secret key>";
          BDCloudCredentials* credentials = [[BDCloudCredentials alloc] init];
          credentials.accessKey = ak;
          credentials.secretKey = sk;
          id<BDCloudSigner> signer = [[BDCloudAKSKSigner alloc] initWithCredentials:credentials];
          signer.expiredTimeInSeconds = 1800;
          1. 创建日志集

            1. 创建BDCloudLogStore对象
            //初始化BDCloudLogStore对象                 
            BDCloudLogStore *logStore = [[BDCloudLogStore alloc] initWithSigner: signer]; 
            1. 调用BDCloudLogStore createLogStore接口
            //配置参数,请求接口 
            NSString *logStoreName = @"<自定义名称>"; 
            NSString *retention =  @"10";   
            __weak typeof(self) weakSelf = self;  
            [logStore createLogStoreWithLogStoreName:logStoreName   retention:[retention intValue] completion:^(NSDictionary * _Nonnull resultDic, NSError * _Nonnull error) {
            //resultDic返回服务器返回的数据结果
                if(error){ //失败
                    NSLog(@"%@ %@", resultDic[@"message"], error);
                } else { //成功
                    NSLog(@"创建LogStore成功");
                }
            }];

          其他服务接口与BDCloudLogRecord,BDCloudLogStore的调用过程相似。

          上一篇
          API 参考
          下一篇
          Android SDK