iOS SDK 集成指南

注册应用获取 App ID

App ID:唯一标识一个应用的 ID,在蒲公英上的每一个 App 都有一个唯一的 App ID,开发者可以在应用管理页面首页查看。

App ID

下载 SDK

下载蒲公英 SDK (包含应用使用统计,更新检查,异常上报,用户反馈功能)。

导入 SDK 并接入调式

1. 添加 PgySDK.framework

将 PgySDK.framework 拖动到你的 Xcode 工程里,并勾选“Copy items if needed”。

添加framework

  1. 配置依赖项

导入 SDK 后,切换到 Build Phases选项卡中,在 Link Binary With Libraries 中添加如下七个系统 framework:

CoreTelephony.framework
OpenGLES.framework
SceneKit.framework (Optional)
CoreMotion.framework
AudioToolbox.framework
AvFoundation.framework
SystemConfiguration.framework

添加依赖项

注意:SceneKit.framework 必须设置为 Optional,否则会导致 iOS8 以下的版本出现闪退。

3.初始化并调用 SDK

在项目的AppDelegate.m文件中引入头文件:

#import <PgySDK/PgyManager.h>

在application:didFinishLaunchingWithOptions 中调用 SDK:

[[PgyManager sharedPgyManager] startManagerWithAppId:@"PGY_APP_ID"];

其中PGY_APP_ID即在蒲公英上获取的App Id。

自动上报 Crash 异常

调用 SDK 后,用户在使用 App 的过程中的崩溃信息将会发送到蒲公英。蒲公英将会统计错误发生的次数,影响的用户,同时开发者还可以在后台查看崩溃的详细信息,包括错误堆栈,机型等,帮助开发者快速定位错误。

蒲公英后台显示的错误是未经过符号化过的,如果需要查看符号化过的堆栈信息,需将代码对应的 dSYM 文件在蒲公英上提交。

注意:在进行本地调试的时候,如果使用 Xcode 启动程序,gdb/lldb 会拦截到信号并停止应用运行,所以调试期间的崩溃信息不会被上传到蒲公英。

手动上报异常

SDK除了可以自动上报导致Crash的异常之外,开发者还可以手动上报Exception。

- (void)reportException
{
    @try {
        NSArray *array = [NSArray arrayWithObjects:@"", nil];
        NSString *value = [array objectAtIndex:10];
    }
    @catch (NSException *exception) {
        [[PgyManager sharedPgyManager] reportException:exception];
    }
}

用户反馈

调用 SDK 后,默认开启用户反馈功能,用户可以通过摇一摇或者三指向上滑动来激活用户反馈功能。

摇一摇

一、关闭用户反馈功能(默认开启):

[[PgyManager sharedPgyManager] setEnableFeedback:NO];

二、自定义用户反馈激活方式(默认为摇一摇):

//设置用户反馈界面激活方式为三指拖动
[[PgyManager sharedPgyManager] setFeedbackActiveType:kPGYFeedbackActiveTypeThreeFingersPan];
//设置用户反馈界面激活方式为摇一摇
[[PgyManager sharedPgyManager] setFeedbackActiveType:kPGYFeedbackActiveTypeShake];
/**
*  激活反馈功能的方式
*/
typedef NS_ENUM(NSInteger, KPGYFeedbackActiveType){
    /**
    *  摇晃手机激活用户反馈界面
    */
    kPGYFeedbackActiveTypeShake = 0,
    /**
    *  在界面上三指下滑或者上滑激活用户反馈界面
    */
    kPGYFeedbackActiveTypeThreeFingersPan = 1,
};

上述自定义必须在调用 [[PgyManager sharedPgyManager] startManagerWithAppId:@"PGY_APP_ID"] 前设置。

四、自定义用户界面风格

开发者可以通过设置用户反馈界面的颜色主题来改变界面风格,设置之后的颜色会影响到Title的背景颜色和录音按钮的边框颜色,默认为0x37C5A1(绿色)。

[[PgyManager sharedPgyManager] setThemeColor:[UIColor blackColor]];

五、自定义摇一摇灵敏度

开发者可以自定义摇一摇的灵敏度,默认为2.3,数值越小灵敏度越高。

[[PgyManager sharedPgyManager] setShakingThreshold:3.0];

六、除了摇一摇和三只拖动之外,开发者还可以通过代码来调用用户反馈功能。

[[PgyManager sharedPgyManager] showFeedbackView];

检查更新

蒲公英为开发者提供了检查版本更新的功能,当开启此功能后,开发者如果在蒲公英上提交了新版本,则老的版本中,可以弹出更新提示,来提示用户更新到最新版本。版本更新功能的开启方法如下:

在需要检查更新的文件中引入头文件:

#import <PgySDK/PgyManager.h>

然后调用

[[PgyManager sharedPgyManager] checkUpdate];

如果有更新版本则会提示用户前往更新,如图所示:

版本更新

如果需要自定义检查更新,则需要调用

[[PgyManager sharedPgyManager] checkUpdateWithDelegete:self selector:@selector(updateMethod:)];

其中updateMethod为检查更新的回调方法。如果有新版本,则包含新版本信息的字典会被回传,否则字典为nil。处理完更新信息后,需调用

[[PgyManager sharedPgyManager] updateLocalBuildNumber];

来更新本地存储的蒲公英Build号。本地存储的Build号被更新后,SDK会将本地版本视为最新。对当前版本调用检查更新方法将不再回传更新信息。