Skip to content

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。

![图1](https://rs0.bestcem.cn/prod/rs/docs/media/images/项目中心/应用内投放/iOS SDK使用方法_1.png)

​
二、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]; }

** **

** **