BoundlessKit 7.0.0-beta

BoundlessKit 7.0.0-beta

Dopamine 维护。



BoundlessKit 7.0.0-beta

BoundlessKit

Version License Platform

什么是 BoundlessKit?

BoundlessKit 是一个行为设计 SDK,它为用户参与提供了个性化的强化时间表。

了解更多信息请访问:[https://www.boundless.ai/](https://www.boundless.ai/)

Reinforcement Schedule Sample

以下是带有 [奖励,奖励,中性,奖励,中性] 的示例强化时间表。

安装 BoundlessKit

CocoaPods

要使用 CocoaPods 将其集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

pod 'BoundlessKit'

如果尚未添加,请将 use_frameworks! 添加到 Podfile 的顶部。

Carthage

要使用 Carthage 将其集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "BoundlessAI/BoundlessKit-iOS"

使用 BoundlessKit

步骤 1:设置

在您的应用程序代理中导入 BoundlessKit

Swift
import BoundlessKit
Objective-C
#import "BoundlessKit/BoundlessKit-Swift.h"

然后在您的应用程序代理的 application(_:didFinishLaunchingWithOptions:) 方法中,按照如下方式设置 SDK

Swift
let bkConfig = BKConfiguration(appId: "YOUR_APP_ID",
                               versionId: "YOUR_VERSION_ID",
                               inProduction: IN_PRODUCTION,
                               devSecret: "YOUR_DEV_KEY",
                               prodSecret: "YOUR_PROD_KEY")
BKBoundlessKit.setup(configuration: bkConfig)
Objective-C
BKConfiguration* bkConfig = [[BKConfiguration alloc]
                               initWithAppId:@"YOUR_APP_ID"
                               versionId:@"YOUR_VERSION_ID"
                               inProduction: IN_PRODUCTION
                               devSecret:@"YOUR_DEV_KEY"
                               prodSecret:@"YOUR_PROD_KEY"];
[BKBoundlessKit setupWithConfiguration: bkConfig];

步骤 2:强化

在您的应用程序中的“强化动作”之后,调用 reinforce(actionName:metadata:) 方法

Swift
BKBoundlessKit.shared.reinforce(actionName: "Workout Completed")
Objective-C
[BKBoundlessKit.shared reinforceWithActionName:@"appOpen"];

然后注册并接收来自 NSNotificationCenter 的强化通知

Swift
NotificationCenter.default.addObserver(self,
                                       selector: #selector(reinforce(notification:)),
                                       name: BKConstant.ReinforcementReportNotification,
                                       object: nil)
...
@objc
func reinforce(notification: Notification) {
    guard notification.userInfo?[BKConstant.ReinforcementReportActionKey] as? String == "Workout Completed",
        let reinforcement = notification.userInfo?[BKConstant.ReinforcementReportDecisionKey] as? String else {
            return
    }
    print("Got reinforcement:\(reinforcement)")
}
Objective-C
[NSNotificationCenter.defaultCenter addObserver:self
                                       selector:@selector(reinforce:)
                                           name:BKConstant.ReinforcementReportNotification
                                         object:nil];
...
- (void) reinforce:(NSNotification*) notification {
    if ([notification.userInfo[BKConstant.ReinforcementReportActionKey] isEqual: @"Workout Completed"]) {
        NSString* reinforcement = (NSString*) notification.userInfo[BKConstant.ReinforcementReportDecisionKey];
        NSLog(@"Got reinforcement:%@", reinforcement);
    }
}

显示强化决策的视觉效果,对于中立强化决策不显示效果,以建立预期!可变计划将吸引该用户,因为强化计划是针对该用户过去的动作个性化的!

步骤 3:跟踪

跟踪动作和其他用户行为可用于优化强化计划,以及衡量参与度的变化,以达到统计显著性。

Swift
BKBoundlessKit.shared.track(event: "foodItemAdded", metadata: ["calories": 400])
Objective-C
[BKBoundlessKit.shared trackWithEvent:@"foodItemAdded" metadata:@{@"calories": @400}];