×

语言语言
SwiftSwift 许可证
MIT 发布日期上次发布
Mar 2018SPM支持 SPM
Dopamine 维护。

安装指南



×

什么是 DopamineKit?

Build Status
Version
License
Platform

DopamineKit 提供了访问 DopamineAPI 的封装,并为您的应用提供了表达式的 UI 强化。

更多详情请访问 http://usedopamine.com

DopamineKit-iOS-HelloWorld 仓库 中包括了一个简单的 "待办事项" iOS 应用示例,以演示 DopamineKit 在代码中的使用。

寻找 iOS 示例应用?

DopamineKit-iOS-HelloWorld 仓库 中包含了一个简单的 "待办事项" iOS 应用,以演示 DopamineKit 可如何在您的代码中使用。

设置 DopamineKit

  1. 首先确保您有一个 DopamineProperties.plist 文件,其中包含您的 API 密钥和其他凭证。

  2. 转到您的项目 App Target > 构建阶段 > 复制 Bundle 资源,然后拖放到 DopamineProperties.plist,并确保勾选了 "如有需要则复制" 复选框。

  3. 将以下行添加到您的 CocoaPod Podfile

```
pod 'DopamineKit'
```

Workspace snapshot
到第 3 步,您的项目应该已经有上图所示的突出显示的项目

  1. 将 DopamineKit 引入到您的代码中
// Swift
import DopamineKit
// Objective-C
#import <DopamineKit/DopamineKit-Swift.h>
  1. 开始使用 Dopamine! DopamineKit 的主要功能是 reinforce()track() 函数。这些函数应该作为对任何 动作 的增强或跟踪的响应添加。
DopamineKit.reinforce()
  • 例如,当用户在一个 "待办事项" 应用中标记任务为已完成或在 "健身" 应用中完成运动时,您应该调用 reinforce()
// Swift
DopamineKit.reinforce("some_action", completion: {
reinforcement in
  	
  	switch(reinforcement){
  		// Use any rewarding UI components that fit your app's theme,
  		// for example showInspirationalQuote() or showFunnyMeme().

  	case "thumbsUp" :
  		// Show a thumbs up sticker!
                              
  	case "stars" :
  		// Show stars falling in the background!
  		
  	default:
  		// Show nothing! This is called a neutral response, 
  		// and builds up the good feelings for the next surprise!
  		return

  	}
})
// Objective-C
[DopamineKit reinforce:@"some_action" metaData:nil completion:^(NSString* reinforcement){
      
      if([reinforcement isEqualToString:@"quote"]){
          // show a famous, positive quote
          
      } else if([reinforcement isEqualToString:@"meme"]){
          // show a dank meme
          
      } else{
          // Show nothing! This is called a neutral response, 
          // and builds up the good feelings for the next surprise!
          return;
      }
  }];
DopamineKit.track()
  • track() 函数用于跟踪其他用户操作。使用 track() 调用的信息将有助于 Dopamine更好地理解用户行为,并使您的优化和分析更加完善。
  • 继续以上示例,您可以使用 track() 函数记录 "待办事项" 应用中的 applicationDidBecomeActive(),或者在 "健身" 应用中记录 userCheckedDietHistory()

让我们跟踪用户在 "健身" 应用中添加食品项目的情况。我们还将添加 metaData 字段中物品的卡路里,以收集更多关于用户参与度信息。

// Swift
let calories:Int = 400
DopamineKit.track("foodItemAdded", metaData: ["cals":calories])
// Objective-C
NSNumber* calories = [NSNumber numberWithInt:400];
[DopamineKit track:@"foodItemAdded" metaData:@{@"cals":calories} completion:^(NSString* s){}];

超级用户

针对 track()reinforce() 函数有额外的参数,用于从应用中收集丰富的信息并创建更优质的用户参与故事。

========

####跟踪调用

应使用跟踪调用记录并向DopamineAPI通信,以告知特定操作已由用户执行。这些调用中的每一个都将用于改进针对特定用户的强化模型。跟踪调用本身是异步和非阻塞的,并返回一个状态代码(成功时为200,其他均为错误代码),大部分情况下可以忽略。失败的跟踪调用不会返回错误,但会在NSLog中记录。

######通用语法

Dopamine.track(actionID, metaData)

######参数

  • actionID: String - 是用户执行操作的唯一名称

  • metaData: [String:AnyObject] - (可选)是要发送到API的任何附加数据

========

####强化调用

当用户执行了您希望变成“习惯”的特定操作时,应使用强化调用。强化调用将返回应调用的反馈函数名称,以告知、取悦或祝贺用户。强化函数的名称、反馈函数及其相应的配对必须通过联系我们进行配置。

######通用语法

Dopamine.reinforce(actionID, metaData, completion)

######参数

  • actionID: String - 是用户执行操作的唯一名称

  • metaData: [String:AnyObject] - (可选)是要发送到API的任何附加数据

  • completion: String -> () - 是一个闭包,它接收强化决策作为字符串

强化调用本身接受required参数actionID,以及一个尾随闭包,该闭包作为强化响应的完成函数。此闭包接收反馈函数名称作为字符串输入参数。

有关使用闭包的更多信息,请参阅Apple的文档

========

####DopamineProperties.plist
DopamineProperties.plist 必须默认包含在您的app的主bundle中,或者可以通过设置DopamineAPI.testCredentialPath来配置位置。此属性列表包含用于发出API有效调用所需的配置变量

  • appID: String - 唯一标识您的应用

  • versionID: String - 这是一个您选择的唯一标识符,标志着此实现在我们系统中是独特的。这可能像'revision2015Implementation'或'ClinicalTrial4'。您的versionID是我们跟踪用户接触到什么强化以及如何优化它的依据。

  • inProduction: Bool - 指示应用是在生产模式还是开发模式,当您对Dopamine的集成满意并准备推出时,请将此参数设置为true。这将激活优化的强化并开始您的计费周期。当设置为false时,您的应用将接收到模拟的强化,新用户将不会被注册到我们的系统中,并且不会发生计费。

  • productionSecret: String - 生产模式的密钥

  • developmentSecret: String - 开发模式的密钥