BrightcenterSDK-2.0 0.9.19

BrightcenterSDK-2.0 0.9.19

测试已测试
Lang语言 Obj-CObjective C
许可证 Apache 2
发布上次发布2015年9月

Rick SlotMilco Majoor维护。



  • 作者:
  • Rick Slot

BrightcenterSDK-iOS-2.0

此 SDK 使得与 Brightcenter 通信更加容易。它通过切换应用检索登录的学生。

注册您的应用 URL

当您注册或编辑一个评估时,您可以更改您的 appUrl。您的 appUrl 需要与您的 CFBundleURLSchemes 相同。如果您注册了 appUrl,您可以在:www.brightcenter.nl/dashboard/createSdkUrl 上生成测试链接。在那里您可以选择您的应用和学生,链接将自动生成。如果您在此链接上的设备或模拟器上打开此链接,您的应用将打开。当 Brightcenter 应用完成时,它将以相同的方式打开您的应用。警告:Brightcenter 应用尚未可用,因此应用切换功能将不会工作。应用即将推出!

将 SDK 集成到您的教育应用中

转到 XCode 项目目录,创建一个名为 PodFile 的文本文件,并将以下内容粘贴进去

platform :ios, '7.0'
pod 'BrightcenterSDK-2.0',  '~> 0.9.19'

现在打开终端,切换到 XCode 项目目录。运行 pod install 命令。就是这样!您可以使用 XCode 或 AppCode(而非 YourApp.xcodeproj)打开生成的 YourApp.xcworkspace 文件。

配置环境

在您可以使用 SDK 之前,您需要执行一些操作。首先,您必须将 CFBundleURLScheme 添加到您的 {app}-info.plist 文件中。您可以通过添加以下内容来实现此功能

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>YOURAPPURLSCHEME</string>
            </array>
            <key>CFBundleURLName</key>
            <string>YOURAPPBUNDLENAME</string>
        </dict>
    </array>

其次,您需要在应用代理中添加一些内容。将以下内容添加到您的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

      BCAResultController *controller = [BCAResultController instance];
    [controller configure];
    NSURL *urlToParse = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];
    if (urlToParse) {
        [self application:application handleOpenURL:urlToParse];
    }

您还需要添加以下函数

  - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    BCAAppSwitchController *appSwitchController = [BCAAppSwitchController instance];
    [appSwitchController configureWithUrl:url];
    return YES;
  }

这确保了您的应用切换将被正确处理。

进行应用切换

要打开 Brightcenter 应用,您可以使用以下代码(请注意,您必须实现 AppSwitchDelegate 协议)

    BCAAppSwitchController *appController = [BCAAppSwitchController instance];
    appController.appSwitchDelegate = self;
    [appController openBrightcenterAppWithAssessmentId:@"YOUR ASSESSMENT ID" urlScheme:@"YOURURLSCHEME"];

评估 ID 也可以是 @""(空)。当 Brightcenter 应用打开您的应用时,以下代理方法会被调用

- (void) appIsOpened:(NSString *) assessmentId{
  // The student is available from here you can use: 'resultController.student'
}

调用此方法后,您就可以发送和检索结果!可以使用 assessmentId 立即加载评估,请注意,如果学生没有选择特定的评估,它也可以是 nil。可以忽略。

检索结果

要检索结果,可以使用以下方法:

    BCAResultController *resultController = [BCAResultController instance];
    [_resultController loadResultsForAssessment:@"ASSESSMENTID" success:^(NSArray *results){
        NSLog(@"results are loaded");
    }failure:^(NSError *error, BOOL loginFailure){
        NSLog(@"failure with loading results");
    }];

发送结果

要发送结果,可以使用以下方法:

[_resultController sendResultWithScore:(double) duration:(double) completionStatus:@"INCOMPLETE" assessmentId:@"YOURASSESSMENTID" questionId:@"QUESTIONID"
            success:^(void){
                NSLog(@"post succes");
            } failure:^(NSError *error, BOOL loginFailure){
                NSLog(@"post failure");
            }];

Brightcenter Logo 按钮

我们还创建了一个将在应用程序右下角放置的标志按钮。要使用此按钮,您可以调用以下方法:

BCALogoButton *logoButton = [BCALogoButton createButtonWithDelegate:self assessmentId:@"YOUR ASSESSMENTID" urlScheme:@"YOURURLSCHEME"];
    [self.view addSubview:self.logoButton];

要为屏幕旋转后添加正确的行为,您可以使用以下两个函数:

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
    for (UIView *subView in self.view.subviews)
    {
        if (subView.tag == 1337)
        {
            [subView removeFromSuperview];
        }
    }
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    BCALogoButton *logoButton = [BCALogoButton createButtonWithDelegate:self assessmentId:@"YOUR ASSESSMENTID" urlScheme:@"YOURURLSCHEME"];
    [self.view addSubview:self.logoButton];
}

这将确保按钮始终位于右下角。和通常一样,appswitch 之后会调用 - (void) appIsOpened 函数。

示例

有关示例,请查看此项目。它包含创建工作应用程序所需的一切。