Trình quản lý thẻ

lớp công khai TagManager

Đâ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"));
Vùng chứa là tập hợp các macro, thẻ và quy tắc. Thẻ này được tạo trong ứng dụng GTM 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 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")
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 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
openContainer(Chuỗi containerId, Container.Callback lệnh gọi lại)
void
void

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 DataLayer getDataLayer ()

Trả về đối tượng lớp dữ liệu mà trình quản lý thẻ sử dụng.

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.