Google Analytics SDK dành cho iOS phiên bản 1 (Cũ)

SDK Google Analytics dành cho ứng dụng di động dành cho iOS giúp dễ dàng triển khai Google Analytics trong ứng dụng dựa trên iOS. Tài liệu này mô tả cách tích hợp SDK với ứng dụng của bạn.

Tổng quan về SDK

SDK này sử dụng mô hình theo dõi được thiết kế để theo dõi người dùng đến các trang web truyền thống và tương tác với các tiện ích trong các trang web truyền thống. Vì lý do này, các thuật ngữ được sử dụng bên dưới phản ánh mô hình theo dõi trang web thông thường và đang được liên kết để theo dõi ứng dụng dành cho thiết bị di động. Bạn nên tìm hiểu về tính năng theo dõi của Analytics để hiểu cách hoạt động của SDK này.

Sử dụng SDK theo dõi trên thiết bị di động để theo dõi các ứng dụng điện thoại của bạn với các loại tương tác Analytics sau:

Theo dõi số lượt xem trang
Lượt xem trang là phương thức chuẩn để đo lường lưu lượng truy cập vào một trang web truyền thống. Vì ứng dụng di động không chứa trang HTML, nên bạn phải quyết định thời điểm (và tần suất) kích hoạt yêu cầu xem trang. Ngoài ra, vì yêu cầu lượt xem trang được thiết kế để báo cáo về cấu trúc thư mục, bạn nên cung cấp tên mô tả cho các yêu cầu đó để tận dụng việc đặt tên đường dẫn trang trong báo cáo Nội dung trong Analytics. Tên mà bạn chọn sẽ được điền sẵn trong báo cáo Analytics dưới dạng đường dẫn trang mặc dù chúng thực sự không phải là trang HTML, nhưng bạn có thể sử dụng điều này cho lợi thế bằng cách cấu trúc đường dẫn để cung cấp các nhóm bổ sung cho các lệnh gọi của mình.
Theo dõi sự kiện
Trong Analytics, các sự kiện được thiết kế để theo dõi hoạt động tương tác của người dùng với các phần tử trên trang web, khác với các yêu cầu xem trang. Bạn có thể sử dụng tính năng Theo dõi sự kiện của Google Analytics để thực hiện các lệnh gọi bổ sung. Những lệnh gọi này sẽ được báo cáo trong mục Theo dõi sự kiện của giao diện báo cáo Analytics. Các sự kiện được nhóm theo danh mục và cũng có thể sử dụng nhãn theo từng sự kiện, giúp bạn báo cáo một cách linh hoạt. Ví dụ: một ứng dụng đa phương tiện có thể sử dụng các thao tác phát/dừng/tạm dừng cho danh mục video và gán nhãn cho từng tên video. Sau đó, báo cáo Google Analytics sẽ tổng hợp các sự kiện cho tất cả các sự kiện được gắn thẻ danh mục video. Để biết thêm thông tin về tính năng Theo dõi sự kiện, hãy xem Hướng dẫn theo dõi sự kiện
Theo dõi thương mại điện tử
Sử dụng tính năng Theo dõi thương mại điện tử để theo dõi các giao dịch trong giỏ hàng và lượt mua hàng trong ứng dụng. Để theo dõi một giao dịch, hãy gọi phương thức addTransaction để tạo một giao dịch tổng thể cũng như phương thức addItem cho từng sản phẩm trong giỏ hàng. Sau khi thu thập dữ liệu, bạn có thể xem dữ liệu trong phần Báo cáo thương mại điện tử trên giao diện Google Analytics. Để biết thêm thông tin về tính năng Theo dõi thương mại điện tử, hãy xem Hướng dẫn theo dõi thương mại điện tử.
Biến tùy chỉnh
Biến tuỳ chỉnh là thẻ cặp tên – giá trị mà bạn có thể chèn vào mã theo dõi để tinh chỉnh hoạt động theo dõi của Google Analytics. Để biết thêm thông tin về cách bạn có thể sử dụng biến tuỳ chỉnh, hãy đọc Hướng dẫn về biến tuỳ chỉnh.
Không hỗ trợ bằng ngón tay cái
SDK cho iPhone hiện đi kèm phiên bản NoThumb của Thư viện cũng như phiên bản Thumb chuẩn. Để sử dụng phiên bản NoThumb của Thư viện, hãy sử dụng tệp libGoogleAnalytics_NoThumb.a thay vì tệp libGoogleAnalytics.a.

Bắt đầu

Yêu cầu

Để tích hợp khả năng theo dõi của Google Analytics với ứng dụng iOS của bạn, bạn sẽ cần:

Thiết lập

  • Mở Xcode rồi tạo một dự án mới cho hệ điều hành iPhone.
  • Kéo GANTracker.hlibGoogleAnalytics.a từ thư mục Thư viện của SDK vào dự án mới.
  • Đưa khung CFNetwork vào dự án của bạn và liên kết với libsqlite3.0.dylib.

SDK Google Analytics cho ứng dụng trên thiết bị di động có thể hoạt động với mọi iPhone hoặc iPod Touch chạy iOS 2.0 trở lên -- thư viện tương thích với tất cả các phiên bản iOS hỗ trợ ứng dụng gốc.

Một ứng dụng mẫu đi kèm với SDK minh hoạ dự án của bạn sẽ trông như thế nào nếu được thiết lập thành công. Hãy sử dụng trang này làm mẫu cho các ứng dụng tích hợp Analytics của riêng bạn.

Sử dụng SDK

Trước khi bắt đầu sử dụng SDK, trước tiên bạn phải tạo tài khoản miễn phí tại www.google.com/analytics và tạo thuộc tính web mới trong tài khoản đó bằng cách sử dụng URL trang web giả mạo nhưng mang tính mô tả (ví dụ: http://mymobileapp.mywebsite.com). Sau khi bạn tạo thuộc tính, hãy ghi lại hoặc lưu giữ bản sao ID thuộc tính web được tạo cho tài sản mới tạo.

Bạn phải cho người dùng biết (dù là trong chính ứng dụng hay trong điều khoản dịch vụ của bạn) rằng bạn giữ quyền theo dõi và báo cáo hoạt động của người dùng theo cách ẩn danh trong ứng dụng của bạn. Việc bạn sử dụng SDK Google Analytics chịu sự điều chỉnh thêm của Điều khoản dịch vụ của Google Analytics. Bạn phải đồng ý tuân thủ những điều khoản này khi đăng ký tài khoản.

Mẫu và các phương pháp hay nhất

Bạn có thể tìm thấy mã mẫu và các phương pháp hay nhất tại code.google.com trong dự án analytics-api-samples.

Thư viện EasyTracker

Có Thư viện EasyTracker. Công cụ này cung cấp tính năng theo dõi ở cấp ứng dụng và UIViewController mà hầu như không cần phát triển gì. Bạn có thể tìm thấy mã này trong phần Tải xuống của dự án analytics-api-samples.

Đang khởi động công cụ theo dõi

Khởi động trình theo dõi bằng cách gọi phương thức startTrackerWithAccountID trên singleton của trình theo dõi thu được qua [GANTracker sharedTracker]. Thường thì sẽ thuận tiện hơn nếu bạn gọi trực tiếp phương thức này trong phương thức applicationDidFinishLaunching của đối tượng được uỷ quyền của ứng dụng. Truyền mã thuộc tính web, thời gian gửi yêu cầu và phương thức uỷ quyền không bắt buộc. Ví dụ:

#import "BasicExampleAppDelegate.h"

#import "GANTracker.h"

// Dispatch period in seconds
static const NSInteger kGANDispatchPeriodSec = 10;

@implementation BasicExampleAppDelegate

@synthesize window = window_;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
  // **************************************************************************
  // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS.
  // **************************************************************************
  [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
                                        dispatchPeriod:kGANDispatchPeriodSec
                                              delegate:nil];

  NSError *error;
  if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                       name:@"iPhone1"
                                                      value:@"iv1"
                                                  withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackEvent:@"my_category"
                                       action:@"my_action"
                                        label:@"my_label"
                                        value:-1
                                   withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
                                   withError:&error]) {
    // Handle error here
  }

  [window_ makeKeyAndVisible];
}

- (void)dealloc {
  [[GANTracker sharedTracker] stopTracker];
  [window_ release];
  [super dealloc];
}

@end

Theo dõi số lượt xem trang và sự kiện

Việc theo dõi số lượt xem trang và sự kiện rất đơn giản: chỉ cần gọi trackPageView của đối tượng trình theo dõi mỗi khi bạn muốn kích hoạt một lượt xem trang. Gọi trackEvent để ghi lại sự kiện. Để biết thêm thông tin về lượt xem trang và sự kiện, hãy xem bài viết Tổng quan về SDK ở trên.

Sử dụng biến tùy chỉnh

Việc thêm biến tuỳ chỉnh cũng rất đơn giản: bạn chỉ cần sử dụng phương thức setCustomVariableAtIndex do SDK dành cho thiết bị di động cung cấp. Bạn nên lập kế hoạch trước để lập chỉ mục từng biến tuỳ chỉnh sẽ ánh xạ tới, để không ghi đè bất kỳ biến nào hiện có trước đó. Để biết thêm thông tin về biến tuỳ chỉnh, hãy xem bài viết Hướng dẫn về biến tuỳ chỉnh. Lưu ý rằng phương thức setCustomVariableAtIndex không trực tiếp gửi dữ liệu. Thay vào đó, dữ liệu được gửi cùng với lượt xem trang hoặc sự kiện được theo dõi tiếp theo. Bạn phải gọi setCustomVariableAtIndex trước khi theo dõi số lượt xem trang hoặc sự kiện. Xin lưu ý rằng phạm vi mặc định của Biến tuỳ chỉnh là phạm vi trang.

Sử dụng theo dõi thương mại điện tử

Có 4 phương pháp bạn sử dụng để bật tính năng Theo dõi thương mại điện tử trong ứng dụng của mình:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

Việc gọi addTransactionaddItem sẽ thêm giao dịch hoặc mặt hàng vào vùng đệm Thương mại điện tử nội bộ để có thể thêm nhiều mặt hàng và giao dịch hơn. Chỉ khi gọi trackTransactions, các giao dịch và mục mới được gửi đến trình điều phối và được đưa vào hàng đợi để gửi đến Google Analytics.

Để xoá vùng đệm, bạn có thể gọi phương thức clearTransactions. Lưu ý: hệ thống không thu hồi bất kỳ giao dịch nào đã được gửi đến trình điều phối trước đó cũng như bất kỳ giao dịch nào đã được Google Analytics thu thập.

Mã mẫu sau đây có thể giúp bạn bắt đầu.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   */
- (void) processPurchase:Purchase purchase {
  [[GANTracker sharedTracker] addTransaction:[purchase transactionId]
                                  totalPrice:[purchase totalPrice]
                                   storeName:[purchase store]
                                    totalTax:[purchase tax]
                                shippingCost:[purchase shipping]
                                   withError:&error];
  if (error) {
    // Handle error
  }
  for (PurchaseItem item in [purchase items]) {
    [[GANTracker sharedTracker] addItem:[purchase transactionId]
                                itemSKU:[item itemSKU]
                              itemPrice:[item price]
                              itemCount:[item count]
                           itemCategory:[item category]
                              withError:&error];
    if (error) {
      // Handle error
    }
  }

  if ([purchase isConfirmed]) {
    [[GANTracker sharedTracker] trackTransactions:&error];
  } else {
    // The purchase was denied or failed in some way.  We need to clear out
    // any data we've already put in the Ecommerce buffer.
    [[GANTracker sharedTracker] clearTransactions:&error];
  }
}

Để biết thêm thông tin về Thương mại điện tử, hãy xem Hướng dẫn theo dõi thương mại điện tử.

Ẩn danh IP

Để ẩn danh thông tin IP của người dùng, hãy đặt thuộc tính anonymizeIp thành YES. Thao tác này sẽ yêu cầu Google Analytics ẩn danh thông tin do SDK gửi bằng cách xoá octet cuối cùng của địa chỉ IP trước khi lưu trữ.

Dưới đây là ví dụ về cách thiết lập:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

Bạn có thể đặt anonymizeIp bất cứ lúc nào.

Đặt tốc độ lấy mẫu

Bạn có thể đặt tốc độ lấy mẫu bằng thuộc tính sampleRate. Nếu ứng dụng của bạn tạo ra nhiều lưu lượng truy cập Analytics, thì việc đặt tốc độ lấy mẫu có thể ngăn việc tạo báo cáo bằng dữ liệu được lấy mẫu. Việc lấy mẫu diễn ra một cách nhất quán trên số lượng người dùng riêng biệt, vì vậy, xu hướng và báo cáo luôn đảm bảo tính toàn vẹn khi tốc độ lấy mẫu được bật. Tham số sampleRate là một NSUInteger và có thể có giá trị từ 0 đến 100. Dưới đây là ví dụ giảm sampleRate xuống 95%:

 [[GANTracker sharedTracker] setSampleRate:95];

Tỷ lệ 0 sẽ tắt việc tạo lượt truy cập, trong khi tỷ lệ 100 sẽ gửi tất cả dữ liệu đến Google Analytics. Bạn nên đặt sampleRate trước khi gọi bất kỳ phương thức theo dõi nào.

Bạn có thể tìm hiểu thêm về việc lấy mẫu trong Hướng dẫn về khái niệm lấy mẫu.

Loạt lượt truy cập

Để tiết kiệm chi phí kết nối và pin, bạn nên tạo lô cho các yêu cầu theo dõi. Bạn có thể gọi dispatch trên đối tượng theo dõi bất cứ khi nào bạn muốn thực hiện một yêu cầu hàng loạt. Bạn có thể thực hiện việc này theo cách thủ công hoặc theo những khoảng thời gian cụ thể.

Vấn đề đã biết

  • Lượt giới thiệu/Nguồn lưu lượng truy cập: hiện không thể theo dõi chiến dịch/nguồn giới thiệu của một lượt tải ứng dụng xuống trên thiết bị iOS.
  • Bạn tuyệt đối không nên gọi dispatch trong những trường hợp sau:
    • Trong phương thức applicationWillTerminate
    • Trong applicationDidEnterBackground
    • Trước khi gọi cho stopTracker
    Làm như vậy có thể dẫn đến việc lượt truy cập được gửi hai lần. Thay vào đó, hãy sử dụng phương thức dispatchSynchronous:.
  • Việc gọi phương thức GANTracker trên các luồng khác nhau có thể dẫn đến lỗi SQLite không rõ ràng. Hãy nhớ thực hiện tất cả các cuộc gọi từ cùng một chuỗi.
  • Theo dõi chiến dịch

    Theo dõi chiến dịch chung

    Với phiên bản 1.3 của SDK Google Analytics dành cho iOS, giờ đây, bạn có thể theo dõi giới thiệu chiến dịch. Ví dụ: nếu ứng dụng của bạn triển khai một Lược đồ URL tùy chỉnh, bạn có thể tạo một URL chứa tham số truy vấn chiến dịch. Khi ứng dụng của bạn chạy để phản hồi một URL như vậy, bạn có thể truy xuất các tham số truy vấn và chuyển các tham số đó đến setReferrer để thông tin được lưu trữ trong Google Analytics.

    Để đặt thông tin giới thiệu chiến dịch, hãy sử dụng phương thức setReferrer như sau:

      [[GANTracker sharedTracker] setReferrer:referrer withError:&error];
    

    Có hai hạn chế khi sử dụng tính năng này. Trước tiên, bạn phải gọi startTrackerWithAccountID trước khi gọi setReferrer. Bạn cần làm việc này vì cơ sở dữ liệu SQLite mà Google Analytics sử dụng chưa được thiết lập trước khi gọi startTrackerWithAccountIDsetReferrer cần cơ sở dữ liệu đó. Nếu chưa gọi startTrackerWithAccountID, bạn sẽ nhận được kết quả trả về.

    Hạn chế thứ hai là chuỗi giới thiệu được truyền vào setReferrer cần tuân theo một định dạng cụ thể. URL phải có dạng một tập hợp các tham số URL và phải bao gồm ít nhất một tham số gclid hoặc một tham số utm_campaign, utm_medium và utm_source. Trong trường hợp sau, giá trị này cũng có thể có các thông số utm_term và utm_content.

    Thông số gclid là một phần của tính năng tự động gắn thẻ. Thông số này tự động liên kết Google Analytics với Google Ads. Giới thiệu chiến dịch mẫu sử dụng tính năng tự động gắn thẻ có thể giống như sau:

    referrer = @“gclid=gclidValue”;
    

    Chuỗi giới thiệu chiến dịch được tạo thủ công có thể trông giống như sau:

    referrer = @“utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
    

    Nếu bạn truyền một chuỗi liên kết giới thiệu có định dạng không hợp lệ đến setReferrer, thông tin liên kết giới thiệu sẽ không thay đổi và bạn sẽ nhận được giá trị trả về là false. Giá trị trả về là true cho biết rằng đường liên kết giới thiệu đó đã được cập nhật và sẽ được thêm vào mỗi lượt truy cập sau này. Bạn cũng sẽ nhận được một lỗi trả về mà bạn có thể kiểm tra để biết thông tin chi tiết về lỗi trong trường hợp lệnh gọi không thành công.

    Ngoài ra, xin lưu ý rằng một phiên mới sẽ bắt đầu khi bạn gọi setReferrer và phiên này trả về giá trị true.

    Thông số Bắt buộc Nội dung mô tả Ví dụ
    utm_campaign Tên chiến dịch; được dùng để phân tích từ khoá nhằm xác định một quảng cáo sản phẩm cụ thể hoặc chiến dịch mang tính chiến lược cụ thể utm_campaign=spring_sale
    utm_source Nguồn chiến dịch; được sử dụng để xác định công cụ tìm kiếm, bản tin hoặc nguồn khác utm_source=google
    utm_medium Phương tiện chiến dịch; được dùng để xác định phương tiện, chẳng hạn như email hoặc chi phí mỗi lượt nhấp (cpc) utm_medium=cpc
    utm_term Không Cụm từ chiến dịch; được sử dụng cùng với kết quả tìm kiếm có trả phí để cung cấp từ khoá cho quảng cáo utm_term=running+shoes
    utm_content Không Nội dung chiến dịch; được sử dụng cho thử nghiệm A/B và quảng cáo nhắm mục tiêu theo nội dung để phân biệt các quảng cáo hoặc liên kết trỏ đến cùng một URL utm_content=logolink
    utm_content=textlink