본문 바로가기

iPhone & Cocoa

iOS App - 앱 사용기기에 대한 통계 확인

728x90
반응형

배포되고 있는 앱이 실행되는 기기의 숫자 또는 기기에 대한 통계를 확인해보고 싶다면 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 서버로 전송되고, 아래와 같은 통계데이터를 확인할 수 있다.







반응형