Tài liệu tham khảo về lớp TAGManager

Tài liệu tham khảo về lớp TAGManager

Tổng quan

Một lớp là việc triển khai Trình quản lý thẻ của Google (GTM) trên thiết bị di động.

Cách sử dụng mẫu:

      TAGContainer *container =
          [[TAGManager instance] openContainerById:myContainerId];
      NSString *value = [container stringForKey:@"myKey"];
      TAGDataLayer *dataLayer =
          [[TAGManager instance] dataLayer];
      [dataLayer push:@{@"event": @"openScreen",
                        @"screenName": @"Main Page"}];

Vùng chứa là một tập hợp các macro, quy tắc và thẻ. Chuỗi này được tạo trong ứng dụng GTM (http://www.google.com/tagmanager) và được gán một mã vùng chứa. Mã vùng chứa này là mã được dùng trong API này.

Lớp TAGContainer cung cấp các phương thức để truy xuất giá trị macro theo tên macro. Các quy trình booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) sẽ trả về giá trị hiện tại cho tên macro tập hợp giá trị, tuỳ thuộc vào các quy tắc được liên kết với macro đó trong vùng chứa.

Ví dụ: nếu vùng chứa của bạn có macro thu thập giá trị với khóa "tốc độ" có giá trị là 32 và quy tắc bật là Ngôn ngữ là "en"; và một macro thu thập giá trị khác với khóa "tốc độ" có giá trị là 45 và quy tắc bật là Ngôn ngữ không phải là "en", thì hãy thực hiện lệnh gọi sau:

     [container longForKey:@"speed"]
 

sẽ trả về 32 nếu ngôn ngữ hiện tại của thiết bị là tiếng Anh hoặc 45 nếu không.

Lớp dữ liệu là bản đồ chứa thông tin chung về ứng dụng. Lớp TAGDataLayer cung cấp các phương thức để đẩy và truy xuất dữ liệu từ lớp dữ liệu. Việc đẩy khoá event vào lớp dữ liệu sẽ khiến các thẻ khớp với sự kiện này kích hoạt.

Phiên bản ban đầu của vùng chứa đi kèm với ứng dụng. Bạn nên đặt mã này dưới dạng tài nguyên trong gói có tên containerId, trong đó containerId là cùng mã vùng chứa mà bạn sẽ sử dụng trong API này. Khi bạn gọi openContainerById:callback: (TAGManager), vùng chứa sẽ được trả về cùng với các quy tắc/thẻ/macro đi kèm đó. Bạn sẽ tạo vùng chứa trong giao diện người dùng và sử dụng nút Tải xuống để tải xuống.

Bạn có thể sửa đổi vùng chứa trong giao diện người dùng và xuất bản phiên bản mới. Trong trường hợp đó, vào lần tiếp theo ứng dụng dành cho thiết bị di động làm mới vùng chứa từ mạng (hiện tại là 12 giờ một lần), ứng dụng sẽ nhận được phiên bản mới đó. Khi bạn gọi một trong các quy trình get..., giá trị sẽ được tính bằng cách sử dụng các quy tắc gần đây nhất.

Vùng chứa đã tải xuống được lưu cục bộ. Khi bạn gọi openContainerById:callback: (TAGManager), trước tiên, vùng chứa mặc định sẽ tải và sau đó sẽ tải không đồng bộ bất kỳ vùng chứa đã lưu nào. Nếu không tìm thấy phiên bản nào hoặc nếu phiên bản cũ hơn 12 giờ, tiện ích này sẽ cố gắng truy xuất phiên bản mới hơn từ mạng. Bạn có thể xem trạng thái của các lượt tải không đồng bộ đó bằng cách chuyển TAGContainerCallback đến openContainerById:callback: (TAGManager).

Đôi khi, bạn có thể muốn chặn cho đến khi một vùng chứa không phải mặc định có sẵn hoặc cho đến khi có một vùng chứa mới gần đây. Bạn có thể làm việc đó bằng cách sử dụng lệnh gọi lại trong openContainerById:callback: (TAGManager) hoặc sử dụng TAGContainerOpener.

Khi bạn đã hoàn tất với một vùng chứa, hãy gọi close (TAGContainer).

Hàm thành viên công khai

(TAGContainer *)openContainerById:callback:
 Trả về một vùng chứa.
(TAGContainer *)getContainerById:
 Trả về vùng chứa liên kết với containerId đã cho; trả về nil nếu vùng chứa chưa mở.
(BOOL) previewWithUrl:
 Xem trước ứng dụng bằng URL đầu vào.
(void) gửi
 Gửi mọi lưu lượng truy cập mạng đang chờ xử lý do các thẻ tạo ra (pixel tuỳ ý, tín hiệu phân tích, v.v.).
(void) dispatchWithCompletionHandler:
 Gửi lưu lượng truy cập mạng đang chờ xử lý tiếp theo trong hàng đợi, gọi hoàn thành trình xử lý khi yêu cầu đã được gửi (trả về kTAGDispatchGood) hoặc xảy ra lỗi (trả về kTAGDispatchError).

Hàm thành viên công khai tĩnh

(TAGManager *)+ thực thể
 Lấy thực thể singleton của lớp TAGManager, tạo thực thể này nếu cần.

Thuộc tính

mã nhận dạng< TAGLogger >logger
 Trình ghi nhật ký để sử dụng cho SDK Trình quản lý thẻ của Google.
TAGRefreshModerefreshMode
 Chế độ làm mới dùng cho SDK Trình quản lý thẻ của Google.
TAGDataLayerdataLayer
 Gọi phương thức push: (TAGDataLayer) để đẩy các sự kiện và dữ liệu khác.
Khoảng thời gian NSTimedispatchInterval
 Nếu giá trị này là số dương, thông tin theo dõi sẽ tự động được gửi đi mỗi giây dispatch.

Tài liệu về hàm thành phần

- (TAGContainer *) openContainerById: (NSString *) containerId
lệnh gọi lại: (id< TAGContainerCallback >) lệnh gọi lại

Trả về một vùng chứa.

Thông thường, vùng chứa được trả về sẽ trống, nhưng quá trình tải sẽ diễn ra không đồng bộ. Do đó, vùng chứa trả về có thể được làm mới trước khi được trả về, sau khi được trả về hoặc không bao giờ được làm mới nếu không có kết nối mạng trong suốt thời gian hoạt động của vùng chứa.

Lệnh gọi lại sẽ được gọi khi có nhiều việc xảy ra đối với vùng chứa. Ở mức tối thiểu, openContainerById:callback: sẽ cố gắng tải phiên bản vùng chứa đã lưu. Nếu không có phiên bản đã lưu hoặc nếu phiên bản đã lưu đã lỗi thời, hệ thống sẽ cố gắng tải từ mạng.

Nếu openContainerById:callback: được gọi lần thứ hai cho một containerId nhất định, thì hệ thống sẽ trả về nil trừ phi vùng chứa đã mở trước đó đã bị đóng.

Các tham số:
containerIdMã của vùng chứa cần mở.
số gọi lạiMột đối tượng có nhiều phương thức sẽ được gọi trong quá trình tải. Lưu ý rằng các phương thức này có thể được gọi từ nhiều luồng. Ngoài ra, các mã này có thể được gọi trước khi trả về openContainerById:callback:.
Trả về:
Vùng chứa đã mở.
– (TAGContainer *) getContainerById: (NSString *) containerId

Trả về vùng chứa liên kết với containerId đã cho; trả về nil nếu vùng chứa chưa mở.

– (BOOL) previewWithUrl: (NSURL *) url

Xem trước ứng dụng bằng URL đầu vào.

URL hợp lệ phải bắt đầu bằng:

 tagmanager.c.<app_name>://preview/p?id=

trong đó <app_name> là tên ứng dụng.

Các tham số:
urlURL của bản xem trước.
Trả về:
CÓ nếu url là url xem trước tagmanager hợp lệ.

Lấy thực thể singleton của lớp TAGManager, tạo thực thể này nếu cần.

Trả về:
Thực thể singleton của TAGManager.
– (vô hiệu) gửi

Gửi mọi lưu lượng truy cập mạng đang chờ xử lý do các thẻ tạo ra (pixel tuỳ ý, tín hiệu phân tích, v.v.).

– (vô hiệu) dispatchWithCompletionHandler: (TAGDispatchResult) completionHandler

Gửi lưu lượng truy cập mạng đang chờ xử lý tiếp theo trong hàng đợi, gọi hoàn thành trình xử lý khi yêu cầu đã được gửi (trả về kTAGDispatchGood) hoặc xảy ra lỗi (trả về kTAGDispatchError).

Nếu không có kết nối mạng hoặc không có dữ liệu để gửi, kTAGDispatchNoData sẽ được trả về.

Việc gọi phương thức này với một nil hoàn thànhHandler cũng giống như gọi điều phối.

Bạn có thể sử dụng phương thức này để tìm nạp dữ liệu nền trong iOS 7.0 trở lên.

Bạn nên gọi hàm này khi ứng dụng đang thoát để bắt đầu gửi mọi thông tin theo dõi chưa được gửi.


Tài liệu về thuộc tính

– (id<TAGLogger>) logger [read, write, assign]

Trình ghi nhật ký để sử dụng cho SDK Trình quản lý thẻ của Google.

Theo mặc định, Trình quản lý thẻ của Google ghi lại các thông báo lỗi/cảnh báo và bỏ qua các thông báo thông tin/gỡ lỗi/chi tiết. Bạn có thể sử dụng trình ghi nhật ký tuỳ chỉnh của riêng mình bằng cách đặt thuộc tính này.

– (TAGRefreshMode) refreshMode [read, write, assign]

Chế độ làm mới dùng cho SDK Trình quản lý thẻ của Google.

Việc đặt giá trị này thành kTAGRefreshModeDefaultContainer cho phép phương thức làm mới chỉ sử dụng vùng chứa mặc định cho mục đích phát triển. Mặc định là kTAGRefreshModeStandard.

– (TAGDataLayer*) dataLayer [read, assign]

Gọi phương thức push: (TAGDataLayer) để đẩy các sự kiện và dữ liệu khác.

– (NSTimeInterval) dispatchInterval [read, write, assign]

Nếu giá trị này là số dương, thông tin theo dõi sẽ tự động được gửi đi mỗi giây dispatch.

Nếu không, thông tin theo dõi phải được gửi theo cách thủ công bằng cách gọi dịch vụ điều phối.

Theo mặc định, giá trị này được đặt thành "120", nghĩa là thông tin theo dõi sẽ được gửi tự động 120 giây một lần.