Tổng quan
Một lớp là phương thức triển khai trên thiết bị di động của Trình quản lý thẻ của Google (GTM).
Ví dụ về cách sử dụng:
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à tập hợp các macro, quy tắc và thẻ. Mã này được tạo trong ứng dụng GTM (http://www.google.com/tagmanager) và được chỉ định 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 thu thập giá trị, tuỳ thuộc vào quy tắc liên quan đến 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 khoá "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 có khoá "tốc độ" có giá trị là 45 và quy tắc bật là Ngôn ngữ không phải là "en", rồi 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à một 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 những 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 được đóng gói với ứng dụng. Bạn nên đặt phần tử này dưới dạng một tài nguyên trong gói có tên containerId, trong đó containerId giống với 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 một phiên bản mới. Trong trường hợp đó, vào lần tới, ứng dụng di động làm mới vùng chứa từ mạng (hiện tại là mỗi 12 giờ), ứ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 trên thiết bị. Khi bạn gọi openContainerById:callback: (TAGManager), trước tiên sẽ tải vùng chứa mặc định, sau đó tải không đồng bộ mọi vùng chứa đã lưu. Nếu không tìm thấy mã hoặc đã tồn tại hơn 12 giờ, thì Google 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 có một vùng chứa không phải là vùng chứa mặc định hoặc cho đến khi có một vùng chứa mới gần đây. Bạn có thể thực hiện việc này bằng cách sử dụng các lệnh gọi lại trong openContainerById:callback: (TAGManager) hoặc sử dụng TAGContainerOpener.
Khi bạn đã hoàn tất vùng chứa, hãy gọi close (TAGContainer).
Hàm thành phầ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ước; sẽ trả về nil nếu vùng chứa chưa mở. | |
| (BOOL) | – previewWithUrl: |
| Xem trước ứng dụng bằng URL bạn nhập. | |
| (vô hiệu) | – giao hàng |
| Điều phối mọi lưu lượng truy cập mạng đang chờ xử lý do các thẻ tạo ra (các pixel tuỳ ý, báo hiệu phân tích, v.v.). | |
| (vô hiệu) | – dispatchWithCompletionHandler: |
| Điều phối lưu lượng truy cập mạng đang chờ xử lý tiếp theo trong hàng đợi, gọi hàm completionHandler 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 phầ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ếu cần. | |
Tài sản | |
| mã nhận dạng< TAGLogger > | người ghi nhật ký |
| Trình ghi nhật ký để sử dụng cho SDK Trình quản lý thẻ của Google. | |
| TAGRefreshMode | refreshMode |
| Chế độ làm mới được dùng cho SDK Trình quản lý thẻ của Google. | |
| TAGDataLayer * | dataLayer |
| Gọi phương thức push: (TAGDataLayer) để đẩy các sự kiện và dữ liệu khác. | |
| NSTimeInterval | dispatchInterval |
| Nếu giá trị này là số dương, thông tin theo dõi sẽ tự động được gửi sau mỗi deliveryInterval giây. | |
Tài liệu về chức năng của thành viên
| – (TAGContainer *) openContainerById: | (NSString *) | containerId | |
| gọi lại: | (mã < 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ộ, vì vậy, vùng chứa trả về có thể được làm mới trước khi được trả về, sau khi nó được trả về hoặc có thể không bao giờ được làm mới nếu, chẳng hạn như 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 nhiều hoạt động xảy ra với vùng chứa. Ít nhất, openContainerById:callback: sẽ cố gắng tải phiên bản đã lưu của vùng chứa. Nếu chưa có phiên bản nào được lưu hoặc nếu phiên bản đã lưu đã lỗi thời, thì hệ thống sẽ cố gắng tải từ mạng.
Nếu openContainerById:callback: được gọi lần thứ hai cho containerId nhất định, thì nil sẽ được trả về trừ phi vùng chứa đã mở trước đó đã đóng.
- Các tham số:
-
containerId Mã vùng chứa cần mở. số gọi lại Mộ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 có thể được gọi từ nhiều luồng. Ngoài ra, các hàm này có thể được gọi trước khi hàm openContainerById:callback: trả về.
- Trường hợp trả lại hàng:
- Vùng chứa đã mở.
| – (TAGContainer *) getContainerById: | (NSString *) | containerId |
Trả về vùng chứa liên kết với containerId cho trước; sẽ 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 bạn nhập.
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ố:
-
url URL xem trước.
- Trường hợp trả lại hàng:
- CÓ nếu URL này là URL bản xem trước hợp lệ của tagmanager.
| + (TAGManager *) thực thể |
Lấy thực thể singleton của lớp TAGManager, tạo thực thể đó nếu cần.
- Trường hợp trả lại hàng:
- Thực thể singleton của TAGManager.
| – (vô hiệu) gửi |
Điều phối mọi lưu lượng truy cập mạng đang chờ xử lý do các thẻ tạo ra (các pixel tuỳ ý, báo hiệu phân tích, v.v.).
| – (vô hiệu) dispatchWithCompletionHandler: | (TAGDispatchResult) | completionHandler |
Điều phối lưu lượng truy cập mạng đang chờ xử lý tiếp theo trong hàng đợi, gọi hàmcompleteHandler 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, thì hàm kTAGDispatchNoData sẽ được trả về.
Việc gọi phương thức này bằng một nil refundHandler cũng giống như việc gọi lệnh gửi.
Bạn có thể sử dụng phương pháp này để tìm nạp dữ liệu nền trong iOS 7.0 trở lên.
Bạn nên gọi 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>) trình ghi nhật ký [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 được dùng cho SDK Trình quản lý thẻ của Google.
Việc đặt giá trị này thành kTAGRefreshModeDefaultContainer sẽ 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 sau mỗi deliveryInterval giây.
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", tức là hệ thống sẽ tự động gửi thông tin theo dõi 120 giây một lần.