iOS App - 앱 사용기기에 대한 통계 확인
배포되고 있는 앱이 실행되는 기기의 숫자 또는 기기에 대한 통계를 확인해보고 싶다면 DevTongFramework 의 DeviceInfoReporter 를 사용하면 된다.
앱에 작성할 코드를 우선 살펴본다.
AppDelegate.h 파일에 델리게이트 사용을 선언해 둔다.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DeviceInfoReporter
#import <DevTongFramework/DevTongDeviceInfoReporter.h>// CoreTelephony.framework (Optional)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DeviceInfoReporter
, DevTongDeviceInfoReporterDelegate
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
{
...
}
앱이 실행될 때 또는 앱이 백그라운드모드로부터 활성화될 때 아래 코드를 작성해 둔다.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DeviceInfoReporter
[[DevTongDeviceInfoReporter sharedReporter] setDelegate:self];
// 파라미터 :
// YES : 사용자동의 화면 띄우기
// NO : 사용자동의 화면 띄우지 않기
// NO 를 전달하는 경우 앱 자체적으로 기기정보 전송에 대한 동의 화면을 나타내야 합니다.
if (FALSE == [[DevTongDeviceInfoReporter sharedReporter] deviceReport:YES])
{
// 사용자동의 화면이 떴다.
return;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DevTongDeviceInfoReporter 클래스에서는 기기정보를 전송함에 있어서 사용자의 동의를 구하는 과정이 있는데, 이 사용자동의 화면을 띄우기 위해서 앱의 최상위 뷰컨트롤러에 대한 정보가 필요하다.
DevTongDeviceInfoReporterDelegate 는 다음과 같은 내용으로 작성하면 되는데, topVisibleViewController 가 리턴하는 최상위 뷰컨트롤러는 해당 앱에 맞게 수정해 주어야 한다.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DeviceInfoReporter
#pragma mark DevTongDeviceInfoReporterDelegate
// topVisibleController 를 요청
- (UIViewController*)topVisibleViewController
{
id controller = self.tabBarController.selectedViewController;
if (nil == controller)
controller = self;
if ([controller isKindOfClass:[UINavigationController class]])
{
controller = [controller visibleViewController];
}
NSLog(@"topVisibleViewController = [%@]", [controller class]);
return controller;
}
// 전송 성공
- (void)didFinishedReport
{
NSLog(@"didFinishedReport");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
앱에 위와 같은 코드가 작성된 상태에서 앱이 실행되면 기기정보가 DevTong 서버로 전송되고, 아래와 같은 통계데이터를 확인할 수 있다.