Sử dụng Google Analytic trong Asp.net
Đầu tiên hãy tạo ra mã tracking và thêm nos vào trang của bạn. Nó sẽ không được activate trước 24h. Cho neenmoij nỗi lực để lấy ra dữ liệu từ google analytics là từ sau 24h. Dưới đây là link hướng dẫn thiết lập. http://www.mindstick.com/Articles/f061cb85-9b6d-4296-9f66-9cbb15e703fb/Google ...
Đầu tiên hãy tạo ra mã tracking và thêm nos vào trang của bạn. Nó sẽ không được activate trước 24h. Cho neenmoij nỗi lực để lấy ra dữ liệu từ google analytics là từ sau 24h. Dưới đây là link hướng dẫn thiết lập.
http://www.mindstick.com/Articles/f061cb85-9b6d-4296-9f66-9cbb15e703fb/Google Analytics Setup Website
Theo những bước sau đây:
Bước 1. Đầu tiên hãy login vào màn hình Google Developers Console. Bước 2. Sau đó tạo ra project với tên mong muôn!
Bước 3. Sau khi tạo ra project thì click trên link project và chọn lựa API và auth và chọn API sau đó tìm kiếm Analytics API và chọn nó. Bước 4. tiếp theo chọn credentials trong góc phía trái dưới API & auth. Bước 5. Click tạo mới Client ID, Cái này sẽ tạo ra một trang mới nơi bạn bảo Google làm thế nào bạn xác thực API Sau đó chọn service account như sau.
Bước 6. Đối với post này chúng ta cần chọn Service Account (như trên). Chọn tạo Client ID trên win và cái này sẽ được thiết lập. Bạn sẽ thấy một popup khác mà có link download. Dowload nó và lưu lại đâu đó và lưu lại password trong popup. Mỗi lần download cái này password sẽ luôn có sẵn. Bước 7. Bây giờ hãy xem nó như thế này:
Nếu bạn tiếp cận dữ liệu với cái này sau đó chọn Account tab và tới User Management và thêm permission cho tài khoản email này. Nếu ko cho phép thì theo những bước dưới đây.
Bước 1. Chọn property trong property tab. Bước 2. Chọn view mà bạn muốn xem. Bước 3. Sau đó chọn User Management
Bước 4. Sau khi chọn User Management thì Add permission email tài khoản dịch vụ id sau đó tùy theo vai trò chọn permission thích hợp.
Sử dụng những thư viện sau:
using DotNetOpenAuth.OAuth2; using Google.Apis.Analytics.v3; using Google.Apis.Analytics.v3.Data; using Google.Apis.Authentication.OAuth2; using Google.Apis.Authentication.OAuth2.DotNetOpenAuth; using Google.Apis.Services; using Google.Apis.Util;
Đối với ví dụ trên tôi tạo ra một chương trình mvc .
Đầu tiên cần thêm scope, client , keyfile, key password.
//This is the API url which we're storing to a string string scope = AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue(); //For whatever reason, this is labelled wrong. It is the email address //that you have added as a user to your Analytics account string ServiceAccountUser = "nnnnnnnnnnnn-nnnnnnn@developer.gserviceaccount.com"; // This physical path that download earlier file from the service account // It is the secure file that contain the information of service account string keyFile = @"D: nnnnnnnnnnnnnnnnnn.p12"; //The password Google gives you, as usually notasecret string keyPassword = "notasecret";
Trong đoạn code trên chúng ta hiểu là scope trả lại url và giúp để xác thực, ServiceAccountUser là service account email id và sẽ connect và key file mà download từ the service account trong google developers console, và password đã được keep lại.
Đây là tất cả key mà giúp để xác thực từ google analytics account và bây giờ xác thưc google analytics code theo như sau:
AssertionFlowClient client = new AssertionFlowClient( GoogleAuthenticationServer.Description, new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable)) { Scope = scope, ServiceAccountId = ServiceAccountUser }; var authenticator = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
// Create the service object and hold in a variable or an object var service = new AnalyticsService(new BaseClientService.Initializer() { Authenticator = authenticator }); // It is neccessary to query // profile of google analytics. it take numbers as View ID. string profileId = "ga:nnnnnnnnn"; // what is start date. it is necessary string startDate = "2014-09-11"; // what is end date. it is necessary string endDate = "2014-09-30"; // Give the paramenter what fetch from the query string metrics = "ga:visits,ga:pageviews,ga:users,ga:sessionDuration,ga:bounceRate"; // get the request DataResource.GaResource.GetRequest request = service.Data.Ga.Get(profileId, startDate, endDate, metrics); // add the paramenter as category request.Dimensions = "ga:country"; // Execute the request and GaData get the data. GaData data = request.Execute();
public List<string> GetAnalyticsStats() { string scope = AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue(); string ServiceAccountUser = "nnnnnnnnnnn-pnnnnnnnnnnnnnnnnnnnnnnnnn@developer.gserviceaccount.com"; string keyFile = @"D: nnnnnnnnnnnnnn.p12"; string keyPassword = "notasecret"; AssertionFlowClient client = new AssertionFlowClient( GoogleAuthenticationServer.Description, new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable)) { Scope = scope, ServiceAccountId = ServiceAccountUser }; var authenticator = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState); var service = new AnalyticsService(new BaseClientService.Initializer() { Authenticator = authenticator }); string profileId = "ga:nnnnnnn"; string startDate = "2014-09-11"; string endDate = "2014-09-30"; string metrics = "ga:visits"; DataResource.GaResource.GetRequest request = service.Data.Ga.Get(profileId, startDate, endDate, metrics); request.Dimensions = "ga:country"; GaData data = request.Execute(); List<string> status = new List<string>(); foreach (var row in data.Rows) { int i = 0; foreach (var h in data.ColumnHeaders) { status.Add(h.Name + " " + row[i].ToString()); i++; } } return status; }
Cái này sẽ trả về chuỗi mà chỉ ra tên cột và giá trị của nó. Tất cả những giá trị liên quan đến country như bao người visit, pageviews, người dùng hoặc sessions v.v
Lấy dữ liệu từ controller và chỉ nó ra như sau :
@foreach (var s in ViewBag.Status) { <p>@s</p> }
Nội dung nó chỉ ra như sau :
Nguồn : https://www.mindstick.com/Articles/1505/asp-dot-net-mvc/google-analytics-in-asp-dot-net-mvc-4