iOS SDK使用方法
在您的iOS APP中集成问卷收集体验数据,需要使用倍市得提供的iOS SDK。
注:本SDK可用于iOS 11.0及以上,开发环境支持Xcode 11.0及以上,技术架构支持arm64、x86_64
一、SDK集成
将SDK压缩包内的 BCDeliverSDK.xcframework 文件拖入工程。
在 Build Settings 目录的 Other Linker Flags 配置中增加参数 -ObjC。

二、SDK初始化
SDK 需要在 AppDelegate 的方法 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 里进行初始化,其中以下设置是必须的:
#import <BCDeliverSDK/BCDeliverSDK.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// SDK 初始化 [BCDeliverManager start];
return YES; }
三、调用SDK
在问卷平台上投放问卷获取 deliverId,使用 BCDeliverController 在 App 中投放,调用示例如下:
/// 投放初始化
- (void)survey { BCDeliverModel *model = [BCDeliverModel deliverModelWithDeliverId:@"deliverId"]; self.deliverController = [BCDeliverController deliverWithDeliverModel:model]; self.deliverController.delegate = self;
// 加载问卷 [self.deliverController loadData]; }
#pragma mark - BCDeliverControllerDelegate
- (void)deliverControllerDidLoad:(BCDeliverController *)deliverController { [self showMessage:@"问卷加载成功"];
// 显示问卷 [self.deliverController showInViewController:self]; }
(void)deliverController:(BCDeliverController *)deliverController didFailWithError:(NSError *)error { [self showMessage:[NSString stringWithFormat:@"问卷加载失败:%@", error]]; }
(void)deliverControllerDidClose:(BCDeliverController *)deliverController { [self showMessage:@"关闭问卷"]; }
(void)deliverControllerDidCloseFloatButton:(BCDeliverController *)deliverController { [self showMessage:@"关闭浮层按钮"]; }
使用 BCDeliverModel 投放初始化时,支持通过 customData 传递外部参数
/// 投放 SDK 数据 @interface BCDeliverModel : NSObject
/// 投放初始化
- (nonnull instancetype)deliverModelWithDeliverId:(nonnull NSString *)deliverId;
/// 投放 ID @property (nonnull, nonatomic, readonly, copy) NSString *deliverId;
/// 自定义外部参数 @property (nullable, nonatomic, copy) NSDictionary *customData;
@end
调用示例如下:
/// 投放初始化
- (void)survey { BCDeliverModel *model = [BCDeliverModel deliverModelWithDeliverId:@"deliverId"]; // 自定义外部参数 model.customData = @{@"name": @"张三", @"age": @(18)}; self.deliverController = [BCDeliverController deliverWithDeliverModel:model]; self.deliverController.delegate = self;
// 加载问卷 [self.deliverController loadData]; }
** **
** **