Đây là 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:
Container container = TagManager.getInstance(context).openContainer(myContainerId);
String value = container.getString("myKey");
DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));
Lớp Container cung cấp các phương thức để truy xuất giá trị dựa trên một khoá.
Các quy trình getBoolean(String), getDouble(String)
getLong(String), getString(String) trả về giá trị hiện tại
giá trị cho khoá của macro tập hợp giá trị,
tuỳ thuộc vào các quy tắc liên kết với 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á speed có
giá trị là 32 và quy tắc bật là Language là "en"; và một tập hợp giá trị khác
có khoá speed có giá trị là 45 và quy tắc bật là
Language không phải là "en", sau đó thực hiện lệnh gọi sau:
container.getLong("speed")
Lớp dữ liệu là một bản đồ chứa thông tin chung về ứng dụng.
Lớp DataLayer cung cấp các phương thức để đẩy và truy xuất dữ liệu từ lớp dữ liệu.
Đẩ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 được đóng gói với ứng dụng. Phải
được đặt dưới dạng thành phần có tên là tagmanager/containerId, trong đó containerId giống nhau
mã vùng chứa mà bạn sẽ sử dụng trong API này. Khi bạn gọi openContainer(String, Container.Callback), vùng chứa
sẽ được trả về cùng với các quy tắc/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 đó, lần tiếp theo ứ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ờ), thì ứng dụng sẽ nhận được phiên bản mới đó. Khi 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 máy; khi bạn gọi openContainer(String, Container.Callback), ứng dụng này sẽ
tải vùng chứa mặc định, sau đó sẽ tải không đồng bộ bất kỳ vùng chứa đã lưu nào. Nếu không có
tìm thấy hoặc nếu cũ hơn 12 giờ, Chrome 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 truyền một tham số
Container.Callback thành openContainer(String, Container.Callback).
Đôi khi, bạn có thể muốn chặn cho đến khi có vùng chứa không mặc định hoặc cho đến khi
bạn có thể sử dụng vùng chứa mới gần đây. ContainerOpener là một lớp tiện ích có thể giúp bạn giải quyết vấn đề.
Khi bạn đã tạo xong vùng chứa, hãy gọi close().
Tóm tắt về lớp lồng ghép
| giao diện | TagManager.Logger | Giao diện đơn giản để ghi nhật ký lỗi/cảnh báo/thông tin/gỡ lỗi/chi tiết. | |
| enum | TagManager.RefreshMode | Chế độ làm mới vùng chứa. | |
Tóm tắt về phương thức công khai
| Vùng chứa |
getContainer(Chuỗi containerId)
|
| Bối cảnh | |
| DataLayer | |
| tĩnh TagManager |
getInstance(Ngữ cảnh ngữ cảnh)
|
| Trình ghi nhật ký | |
| TagManager.RefreshMode | |
| Vùng chứa | |
| void |
setLogger(Trình ghi nhật ký nhật ký)
|
| void |
setRefreshMode(TagManager.RefreshMode chế độ)
|
Phương thức công khai
công khai Vùng chứa getContainer (Chuỗi containerId)
Trả về vùng chứa đã mở liên kết với containerId;
sẽ trả về null nếu vùng chứa chưa mở.
công khai Bối cảnh getContext ()
Trả về ngữ cảnh đã lưu liên kết với đối tượng này.
công khai tĩnh TagManager getInstance (Bối cảnh bối cảnh)
Lấy thực thể singleton của lớp TagManager, tạo thực thể đó nếu cần.
công khai Trình ghi nhật ký getLogger ()
Trả về trình ghi nhật ký đang được Trình quản lý thẻ sử dụng.
công khai TagManager.RefreshMode getRefreshMode ()
Trả về chế độ làm mới dùng cho tất cả các vùng chứa.
công khai Vùng chứa openContainer (Chuỗi containerId, Container.Callback lệnh gọi lại)
Trả về một vùng chứa. Lệnh gọi lại sẽ được gọi khi nhiều hoạt động xảy ra đối với vùng chứa. Ít nhất, openContainer 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, hãy thử sẽ được tải từ mạng.
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 vào một vùng chứa riêng biệt luồng, 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 có thể không bao giờ được làm mới (ví dụ: nếu không có kết nối mạng trong suốt vòng đời của vùng chứa).
Nếu gọi openContainer lần thứ hai cho một containerId cụ thể,
hệ thống sẽ gửi ngoại lệ.
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 các phần của quá trình tải
của chúng 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, họ có thể
được gọi trước khi openContainer trả về.
|
công khai trống setLogger (Trình ghi nhật ký nhật ký)
Thay thế trình ghi nhật ký hiện tại mà Trình quản lý thẻ sử dụng.
công khai trống setRefreshMode (TagManager.RefreshMode chế độ)
Đặt chế độ làm mới dùng cho tất cả các vùng chứa.