安装Adobe Experience Platform Mobile SDK
了解如何在移动应用程序中实施Adobe Experience Platform Mobile SDK。
先决条件
学习目标
在本课程中,您将执行以下操作:
- 使用Swift包管理器将所需的SDK添加到您的项目中。
- 注册扩展。
NOTE
在移动应用程序实施中,“扩展”和“SDK”这两个术语几乎可以互换。
Swift包管理器
使用Xcode的原生Swift包管理器添加单个包,而不使用CocoaPods和Pod文件(如生成SDK安装说明中所述)。 Xcode项目已经为您添加了所有包依赖项。 Xcode 包依赖项 屏幕应如下所示:
{modal="regular"}
在Xcode中,您可以使用 文件 > 添加包…… 来添加包。 下表提供了用于添加包的URL的链接。 这些链接还将引导您了解有关每个特定包的更多信息。
包
描述
AEPCore
、AEPServices
和AEPIdentity
扩展代表Adobe Experience Platform SDK的基础 — 使用SDK的每个应用程序都必须包含它们。 这些模块包含所有SDK扩展所需的一组通用功能和服务。
AEPCore
包含事件中心的实现。 事件中心是在应用程序和SDK之间交付事件的机制。 事件中心还用于在扩展之间共享数据。AEPServices
提供平台支持所需的多种可重用的实现,包括网络、磁盘访问和数据库管理。AEPIdentity
实现与Adobe Experience Platform Identity服务的集成。AEPSignal
表示Adobe Experience Platform SDK Signal扩展,该扩展允许营销人员向其应用程序发送“信号”,以将数据发送到外部目标或打开URL。AEPLifecycle
表示Adobe Experience Platform SDK生命周期扩展,该扩展可帮助收集应用程序生命周期量度,如应用程序安装或升级信息、应用程序启动和会话信息、设备信息以及应用程序开发人员提供的任何其他上下文数据。
Adobe Experience PlatformEdge Network移动扩展(
Edge Network移动扩展是Adobe Experience Platform SDK的扩展,它需要
AEPEdge
)允许您从移动应用程序向Adobe Edge Network发送数据。 通过此扩展,您可以更稳健地实施Adobe Experience Cloud功能,通过一个网络调用提供多个Adobe解决方案,并同时将此信息转发到Adobe Experience Platform。Edge Network移动扩展是Adobe Experience Platform SDK的扩展,它需要
AEPCore
和AEPServices
扩展才能进行事件处理,需要AEPEdgeIdentity
扩展才能检索身份,如ECID。AEP Edge Identity Mobile扩展(
AEPEdgeIdentity
)可在使用Adobe Experience Platform SDK和Edge Network扩展时处理来自移动应用程序的用户身份数据。使用Adobe Experience Platform SDK和Edge Network扩展时,AEP同意收集移动扩展(
AEPConsent
)允许从移动应用程序收集同意首选项。Adobe Experience Platform User Profile Mobile扩展(
AEPUserProfile
)是管理Adobe Experience Platform SDK的用户配置文件的扩展。AEP Places扩展(
AEPPlaces
)允许您跟踪AdobePlaces界面和Adobe数据收集标记规则中定义的地理位置事件。AEP消息扩展(
AEPMessaging
)允许您向Adobe Experience Platform发送推送通知令牌和推送通知点进反馈。AEP优化扩展(
AEPOptimize
)提供了API,以使用Adobe Target或Adobe Journey OptimizerOffer decisioning在Adobe Experience Platform Mobile SDK中启用实时个性化工作流。 它需要AEPCore
和AEPEdge
扩展才能将个性化查询事件发送到Experience Edge网络。Assurance (也称为项目Griffon)是一种创新的新扩展(
AEPAssurance
),可帮助您检查、验证、模拟和验证在移动应用程序中收集数据或提供体验的方式。 此扩展可为您的应用程序启用保证。导入扩展
在Xcode中,导航到 Luma > Luma > AppDelegate,并确保以下导入是此源文件的一部分。
// import AEP MobileSDK libraries
import AEPCore
import AEPServices
import AEPIdentity
import AEPSignal
import AEPLifecycle
import AEPEdge
import AEPEdgeIdentity
import AEPEdgeConsent
import AEPUserProfile
import AEPPlaces
import AEPMessaging
import AEPOptimize
import AEPAssurance
对 Luma > Luma > Utils > MobileSDK 执行相同操作。
更新AppDelegate
在Xcode项目导航器中导航到 Luma > Luma > AppDelegate。
-
将
environmentFileId
的@AppStorage
值YOUR_ENVIRONMENT_ID_GOES_HERE
替换为您从生成SDK安装说明中的标记检索到的开发环境文件ID值。code language-swift @AppStorage("environmentFileId") private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"
-
将以下代码添加到
application(_, didFinishLaunchingWithOptions)
函数。code language-swift // Define extensions let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ] // Register extensions MobileCore.registerExtensions(extensions, { // Use the environment file id assigned to this application via Adobe Experience Platform Data Collection Logger.aepMobileSDK.info("Luma - using mobile config: \(self.environmentFileId)") MobileCore.configureWith(appId: self.environmentFileId) // set this to false or comment it when deploying to TestFlight (default is false), // set this to true when testing on your device. MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) if appState != .background { // only start lifecycle if the application is not in the background MobileCore.lifecycleStart(additionalContextData: nil) } // assume unknown, adapt to your needs. MobileCore.setPrivacyStatus(.unknown) })
上述代码执行以下操作:
- 注册所需的扩展。
- 配置MobileCore和其他扩展以使用标记属性配置。
- 启用调试日志记录。 有关更多详细信息和选项,请参阅Adobe Experience Platform Mobile SDK文档。
- 启动生命周期监控。 有关更多详细信息,请参阅本教程中的生命周期步骤。
- 将默认同意设置为“未知”。 有关更多详细信息,请参阅教程中的同意步骤。
IMPORTANT
确保基于您为了(开发、暂存或生产)构建的标记环境中的
environmentFileId
,使用appId
更新MobileCore.configureWith(appId: self.environmentFileId)
。SUCCESS
您现在已安装必要的包并更新了项目,以正确注册您将在本教程的其余部分使用的所需Adobe Experience Platform Mobile SDK扩展。
感谢您投入时间学习Adobe Experience Platform Mobile SDK。 如果您有任何疑问、希望分享一般反馈或有关于未来内容的建议,请在此Experience League社区讨论帖子上分享这些内容
下一步: 设置保证
recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b