ReccoHeadless 1.3.0

ReccoHeadless 1.3.0

维护者:Adrián Rubio.



  • Significo

recco_header

Recco iOS SDK

该仓库包含 Recco iOS SDK 的代码库。如何在 使用部分 找到添加和使用此 iOS 库的说明。

欢迎您克隆此仓库并自行编译以运行展示应用。您还可以联系我们,请求直接访问我们的展示应用的 Testflight 构建,这对于您的团队中不太熟悉技术的人来说可能很有用。

但是,请注意,为了将其集成到您自己的应用中,您首先需要联系我们的销售团队开始许可获取过程。为此,请发送电子邮件至 [email protected]

概览

一种个性化且用户友好的健康和健康建议方法,基于用户的独特兴趣、动机和健康行为。无论他们是想提高自己的fitness、管理压力,还是想简单地过上更充实的生活,Recco 都旨在帮助他们实现自己最大的潜能。

我们相信,每个人都应该过上最好的生活,我们致力于通过我们领先的技术和坚定不移的致力于科学准确性来实现这一愿景。

任务

我们希望您亲身体验我们推荐引擎的效果。通过基于最新科学研究的个性化推荐,让用户成就更好的自己。

使产品能够为用户提供丰富的知识、技巧和锻炼方法,帮助他们改善行为,实现目标。

onboarding questionnaire dashboard

关键功能

简单易用

我们相信开放沟通,并鼓励个人对自己的行为负责。我们拒绝指责文化,而是拥抱合作,认识到团结就是力量。让我们互相帮助,共同为实现共同目标而努力。

无缝集成

该产品特别注重与现有产品的无缝协作。Recco可以通过几个步骤进行配置和完全运行。

科技趋势

Recco的目标是跟上现代解决方案和开发趋势。我们遵循最佳实践和官方指南,以确保质量达到最高标准。

分析和报告

监控推荐引擎的使用和影响。您可以跟踪关键指标,如用户参与度、满意度和健康结果,以评估我们解决方案的效果。

个性化内容

我们的引擎学会根据用户选择的路径推荐每个主题的内容,以激励用户改善健康行为。推荐的内容将随着用户选择的路径而改变,并将始终推荐能够帮助用户前进的内容。

一旦集成,Recco将成为您产品的一部分,并可以为用户提供完整的互动体验。

设置

您可以通过多种方法安装Recco SDK。

Swift 包管理器

使用 Xcode

  • 文件 > Swift 包 > 添加包依赖
  • 添加 https://github.com/sf-recco/ios-sdk.git
  • 选择“到下一个主版本”,“1.0.0”

要使用 Apple 的 Swift 包管理器进行集成,但没有 Xcode 集成,请将以下依赖项添加到您的 Package.swift

dependencies: [
    .package(url: "https://github.com/sf-recco/ios-sdk.git", .upToNextMajor(from: "1.0.0"))
]

CocoaPods

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

pod 'ReccoUI'

使用方法

本节旨在说明如何完成 iOS 项目中的 Recco 集成。请确保您也查看 FlutterAndroid 对应物!

要将 SDK 集成到您的应用程序中,请按照以下步骤操作

初始化

初始化的目的是建立您的 clientSecret,并为 SDK 载入适当的资源以便其功能正常运行。它还允许您设定适合您应用程序的任何样式。为此,请将以下代码添加到您的 AppDelegate.willFinishLaunchingWithOptionsApp.init 实例中

import ReccoUI

ReccoUI.initialize(
    clientSecret: "<myClientSecret>",
    style: .summer // or your previously created ReccoStyle
)

请注意,如果您在使用 SDK 之前没有初始化它,那么所有操作都将出现错误。

登录和注销

SDK旨在为每位用户定制内容。因此,每次您的应用登录或注销用户时,您都需要通知Recco已发生此事件。

在Recco中进行用户登录只需要您传递该用户的唯一标识符。我们建议您不要使用任何关键信息来进行此操作,但无论如何,我们的后端会哈希并存储该唯一ID以备不时之需。在SDK中调用登录时,操作如下

import ReccoUI

// ideally you would call this method after a successful login into your own system
// ReccoUI.login(userId:) is an async function, be sure to run it in an async context.

do {
    try await ReccoUI.login(userId: "[email protected]") // you don't need to use an email here, just any unique id related to that user
} catch {
    // handle network error
}

当您的用户成功注销您的应用时,只需调用

import ReccoUI

// ReccoUI.logout is an async function, be sure to run it in an async context.

do {
    try await ReccoUI.logout()
} catch {
    // handle network error
}

进入Recco的入口点

初始化和登录后,您只需要在您的应用中提供Recco的入口点即可显示Recco。您可以使用任何类型的按钮或视图来实现此目的,但在您想打开Recco时,您需要展示我们的UIViewController或我们的SwiftUI视图。您可以这样做

// using UIKit
// i.e. after the user taps a button:

let reccoViewController = ReccoUI.reccoRootViewController()
yourAppCurrentViewController.present(reccoViewController, animated: true)

// using SwiftUI
// inside your View, a button will toggle the displayRecco variable

YourAwesomeView()
  .sheet(isPresented: $displayRecco) {
    ReccoUI.ReccoRootView()
  }

发布

我们的CHANGELOG.md包含有关所有发布的详细信息。