A push iOS Advanced research engineer Small Bag
Objective
With the rapid development of the mobile internet market, the former "Happy Rodeo" style of rough operation era has become the past. The change of the big environment also leads to the data statistic analysis of the mobile end plays more and more important role in the product research and development, the decision-making, the operation and so on, "the fine operation" has become the hot word for a time-from the factory to the entrepreneurial team, whether it is self-built data statistical system or third party, the market The need for a stable and reliable data-statistics programme has never been attenuated.
Challenge
Product operators now urgently need more detailed, multidimensional mobile data, while expecting data to be presented in a visually clear manner. If the self-built application data statistics system, but the multi-party cooperation and assistance: developers need to work in the data acquisition, especially for the non-buried point of statistical requirements, data personnel need to undertake a large amount of data analysis of the arduous task, some small teams lack of data-related jobs, This work can only be done to the server-side students, but the latter is relatively lack of big data analysis experience and ability to ensure the quality of analysis.
So personally, when the team's resources are limited, consider looking for a professional third-party solution that will not only enable research and development students to struggle with changing data statistics needs, but also enable product operations colleagues to cobwebs in more professional data results.
Statistical analysis of data
In the past, mobile data came mainly from the application of two major systems: iOS and Android, and recently, the top ten vendors are aggressively promoting Android-based [fast application] (https://www.quickapp.cn/), and fast applications are rapidly developing, is expected to become the third pole of the application market. Therefore, the current statistical work should cover three applications of statistical objects, namely: iOS apps, Android apps and fast apps.
Currently on the market mainstream mobile Statistics Class SDK, only a launch of the [number and application statistics] (http://docs.getui.com/geshu/start/ios/) Support these three application statistics. Although different platforms access the number of SDKs, but the data analysis of the object is consistent, this article with the number of iOS SDK access and use as an example, sharing the mobile data analysis of the best practices, as well as some of their own thinking.
The data statistic analysis of mobile end is divided into two parts, namely data induction and visual display.
Data statistics
The iOS SDK Integration Tutorial can be viewed: [iOS SDK Integration Document] (http://docs.getui.com/geshu/start/ios/), this article does not repeat the specific integration process.
The data on the mobile side can be divided into two parts:
Part of the application's underlying data, such as: New users of the app, active users, start times, active duration, and so on. The basic data is often the most intuitive manifestation of an application's overall active quality, so precision is critical. This part of the data can be recorded and reported by the SDK automation after the integration and launch of the number SDK.
#import ' GTCountSDK.h '
#define KGCAPPID @ "xxxxxxx"
@implementation Appdelegate
-(BOOL) Application: (UIApplication *) application didfinishlaunchingwithoptions: (Nsdictionary *) launchOptions {
Launch the SDK to automatically capture application base data
[Gtcountsdk startsdkwithappid:kgcappid withchannelid:@ "AppStore"];
return YES;
}x
The other part is the refinement of page data, event data, and count statistics events.
In the number of SDKs, the exact statistics of the page can be achieved based on the non-burying point scheme. For the integration of the number of SDK applications, the number will count the number of related page start times, active time and so on, effectively solve the traditional manual buried point of pain points, to achieve the automation of the process.
The event statistics and counting statistics can calculate the occurrence time and the number of certain user's custom burying points, such as ad clicks, SMS number, etc., with high autonomy:
(1) Count: Counts the number of times a specified behavior has been triggered.
(2) Time-length statistics: Statistics Specify the time consumed by the behavior, in seconds; requires Eventbegin and eventend interfaces to be used in pairs to take effect.
By invoking the API interface of the SDK, developers can easily do statistical work, such as the start and end locations of music playback where a section ID is ' music001 ':
-(void) musicstart{
For proper statistics, ensure that the parameters of the start and end interfaces are Self.eventproperty memory addresses.
Self.eventproperty = @{@ "key": @ "value1"};
[Gtcountsdk trackcustomkeyvalueeventbegin:@ "music001" withArgs:self.eventProperty];
}
-(void) musicstop{
[Gtcountsdk trackcustomkeyvalueeventend:@ "music001" withArgs:self.eventProperty];
}
or count the number of clicks of the Buy button for a product with an ID of ' goods001 ':
-(Ibaction) Buybuttonclick: (ID) Sender {
[Gtcountsdk trackcountevent:@ "goods001" withargs:@{@ "cKey1": @ "cValue1"}];
}
With the corresponding data, in order to deal with various problems arising from different network environment, perfect data caching and reporting mechanism is very important, so we need to set up a data escalation strategy that conforms to the current network environment and optimizes the user experience. The SDK uses a rich escalation strategy that can be adapted to a variety of network environments:
The data escalation strategy for the number SDK consists of the following 5 (default is ' Geshu_strategy_period ', which is 60 minutes in duration):
| number | policy Name | policy Description |
|:------------- |:-------------|:-------------|
|1| ' Geshu_strategy_real_time ' | real-time sending, each message generated by the app will be sent to the server.
|2| ' geshu_strategy_wifi_only ' | Only send in WiFi, non-wifi is cached locally. |
|3| ' Geshu_strategy_batch ' | Bulk send, by default sent once when the number of messages reaches 32. |
|4| ' Geshu_strategy_launch_only ' | is only sent at startup, and all data generated this time is sent at the next boot. |
|5| ' Geshu_strategy_period ' | The interval is sent every once in a while and sent to the server at a time. |
Considering the low cost of reporting data in WiFi network environment, the default in the WiFi environment, the use of real-time escalation policy, that is, the intelligent escalation mode; To close the policy, you can call the following interface to close:
/**
Intelligent escalation
Device Access WiFi will be reported in real time after opening
Otherwise, follow the global policy escalation
Open by default
*/
@property (nonatomic, assign) BOOL smartreporting;
We recommend that you use the default intelligent escalation + periodic escalation mode in the process of use, that is, using the real-time escalation policy in the WiFi environment, using the periodic escalation policy in the non-WiFi environment. This combination mode allows the data to be reported in real-time as soon as possible without consuming user traffic, enabling the backend to see the latest analysis results in the first place. Of course, according to the characteristics of their products, users can selectively optimize the combination of data escalation strategies to meet the actual data reporting needs.
Data analysis Show
After getting the data, the next is the biggest headache of the Big Data Analysis section, but the use of the number of SDK and the accumulation of years of big data research and development experience, product operations students now only need to open the number of background, you can apply all the data analysis results (want to first experience the students can login backstage [view demo demo ] (https://dev.getui.com/geshu_n/#/vitalityStatistics/current)):
! [] (Img/demo.jpg)
The number of statistics section includes active statistics, component statistics, page statistics, channel statistics, event statistics. This multi-dimensional refinement of the data analysis show, effectively help product operations to save time, a comprehensive understanding of the actual operation of the product.
Summarize
The mobile Research and Development Practice section of this paper uses the data analysis of iOS app to illustrate, and other platforms can also refer to analogy. In general, products and operations can use the number SDK to automate application base data and page statistics, and then use more autonomous custom timing and count event burial points based on the actual needs of the project. In the choice of data escalation strategy, based on the specific scenario, we recommend using the default intelligent escalation + periodic escalation of the combined mode.
Mobile data statistics and analytics best practices