BoundlessKitEffect 0.0.1-beta

BoundlessKitEffect 0.0.1-beta

多巴胺 维护。



BoundlessKit

Version License Platform

BoundlessKit 是什么?

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

有关更多信息,请访问 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}];