IBMAppLaunch 1.1.8

IBMAppLaunch 1.1.8

测试已测试
语言语言 SwiftSwift
许可 Apache-2.0
发布最后发布2018年4月
SwiftSwift 版本3.2
SPM支持 SPM

Vittal Pai维护。



 
依赖
BMSCore~> 2.0
SwiftyJSON~> 4.0.0
 

  • IBM Cloud Services Mobile SDK

IBM Cloud Mobile Services - AppLaunch iOS Swift 客户端 SDK

Build Status CocoaPods

这个 Swift SDK 为 IBM Cloud 服务上的应用启动提供了库,用于开发者构建 iOS 设备上的移动应用程序。

在 IBM Cloud 服务中进行应用启动,让开发者能够通过控制 App 功能的可达性和发布,同时衡量定义的指标来构建引人入胜的应用程序。

在开始之前,请确保查看IBM Cloud App Launch 服务文档


构建状态

主干 开发
Build Status Build Status

内容


设置应用启动服务

创建服务

Create feature

创建功能

Create feature

创建受众

Create audience

创建参与

Create engagement

先决条件

  • iOS 10+
  • Xcode 9
  • Swift 3.2 - 4
  • Cocoapods或Carthage

安装

IBM Cloud Mobile服务的Swift SDK通过CocoapodsCarthage提供。

Cocoapods

要安装AppLaunch使用Cocoapods,将它添加到Podfile中

use_frameworks!

target 'MyApp' do
    platform :ios, '9.0'
    pod 'IBMAppLaunch'
    pod 'BMSCore', '~> 2.0'
    pod 'SwiftyJSON'
end
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.2'
        end
    end
end

在终端中,进入你的项目文件夹,使用以下命令安装依赖

pod install

Swift 3.2

运行pod install命令之前,请确保使用Cocoapods版本1.1.0.beta.1

使用Swift 3.2构建的应用程序可能在Xcode 9中打开项目时收到“转换为当前Swift语法?”的消息,请确保不要将AppLaunch或BMSCore转换为当前语法。

这将会安装您的依赖并创建一个新的Xcode工作空间。 注意:始终打开新创建的Xcode工作空间,而不是现有xcode项目文件

MyApp.xcworkspace

Carthage(即将推出)

将AppLaunch添加到Cartfile,以便使用Carthage进行安装。

github "ibm-bluemix-mobile-services/bms-clientsdk-swift-applaunch"

运行carthage update命令。构建完成后,将AppLaunch.frameworkBMSCore.framework拖到您的Xcode项目中。

完成集成,请按照这里的说明操作。


启用iOS应用程序使用IBM App Launch

在你的代码中导入应用启动SDK。

import IBMAppLaunch

初始化AppLaunch SDK

1. 构建配置对象
let config =   AppLaunchConfig.Builder().cacheExpiration(30).eventFlushInterval(60).fetchPolicy(.REFRESH_ON_EXPIRY).build()

The AppLaunchConfig构建器用于自定义以下内容

  • eventFlushInterval : 设置/决定事件发送到服务器的时间间隔。默认值是30分钟。

  • cacheExpiration : 设置/决定动作有效的持续时间。默认值是30分钟。

    注意 : 此参数仅在将fetchPolicy设置为RefreshPolicy.REFRESH_ON_EXPIRYRefreshPolicy.BACKGROUND_REFRESH时有效。

  • fetchPolicy : 此参数决定从服务器获取动作的频率。值可以是以下之一

    -RefreshPolicy.REFRESH_ON_EVERY_START

    -RefreshPolicy.REFRESH_ON_EXPIRY

    -RefreshPolicy.BACKGROUND_REFRESH

    默认值是RefreshPolicy.REFRESH_ON_EVERY_START

  • deviceId:此参数必须是唯一的。如果没有指定,则由SDK使用默认deviceID生成机制。

    注意:不要依赖于deviceID生成机制的默认实现,因为它不能保证是唯一的。

2. 构建用户对象
let user = AppLaunchUser.Builder(userId: "vittal").custom(key: "email", value: "[email protected]").build()

The AppLaunchUser构建器用于提供以下信息

  • userId:要注册的用户

  • custom:可用于传递任何可选的用户自定义属性。

3. 初始化应用程序启动SDK
AppLaunch.sharedInstance.initialize(region: .US_SOUTH, appId: "appGUID", clientSecret: "clientSecret", config: AppLaunchConfig, user: AppLaunchUser, completionHandler: AppLaunchCompletionHandler)

其中region参数指定了应用程序托管的位置。您可以使用以下任何一个值

  • ICRegion.US_SOUTH
  • ICRegion.UNITED_KINGDOM
  • ICRegion.SYDNEY
  • ICRegion.US_SOUTH_STAGING
  • ICRegion.UNITED_KINGDOM_STAGING

appGUID是应用程序启动应用程序GUID值,而clientSecret是从服务控制台获取的应用程序启动客户端密钥值。

AppLaunchCompletionHandler是完成处理器,用于在发生成功和失败事件时进行通知。

功能开关

  • 使用AppLaunch.sharedInstance.isFeatureEnabled(featureCode: "feature code")来检查应用程序是否启用了该功能。

  • 使用AppLaunch.sharedInstance.getPropertyofFeature(featureCode: "feature code", propertyCode: "property code")来获取功能中特定属性的值。

注意:如果在使用之前调用isFeatureEnabledgetPropertyofFeature之前调用initialize API,则上述两个API会引发applaunchNotIntialized错误。

指标

要向服务器发送指标,请使用AppLaunch.sharedInstance.sendMetrics() API。此API调用将指标信息发送到服务器。

AppLaunch.sharedInstance.sendMetrics(code: ["metricCodes"])

注意:如果在调用sendMetrics之前调用initialize API,则上述API会引发applaunchNotIntialized错误。

应用内消息

要显示应用内消息,请调用以下API。

 AppLaunch.sharedInstance.displayInAppMessages()

销毁

此方法将用户从AppLaunch服务中注销,并清除缓存。

AppLaunch.sharedInstance.destroy(completionHandler: AppLaunchCompletionHandler)

样例和视频

了解更多

与 IBM Cloud 连接

Twitter | YouTube | 博客 | Facebook | Meetup