Trình quản lý thẻ

lớp công khai TagManager

Đây là hoạt động 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:

 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. Mã này được tạo trong ứng dụng Trình quản lý thẻ của Google (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 vào một khoá. Các quy trình getBoolean(String), getDouble(String), getLong(String), getString(String) trả về giá trị hiện tại cho khoá của macro thu thậ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 macro thu thậ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", thì 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 ngôn ngữ hiện tại của thiết bị là tiếng Anh hoặc 45.

Lớp dữ liệu là 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. 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 phải đặt thành phần này có tên là tagmanager/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 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 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 trên 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 theo 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 openContainer(String, Container.Callback), trước tiên, vùng chứa sẽ tải vùng chứa mặc định, sau đó sẽ tải không đồng bộ mọi vùng chứa đã lưu. 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ờ, ứng dụng 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ần tải không đồng bộ đó bằng cách chuyển Container.Callback đến openContainer(String, Container.Callback).

Đôi khi, bạn có thể muốn chặn cho đến khi có một vùng chứa không phải mặc định hoặc cho đến khi có một vùng chứa mới gần đây. ContainerOpener là một lớp tiện ích có thể giúp bạn.

Khi đã tạo xong vùng chứa, hãy gọi close().

Tóm tắt lớp lồng ghép

giao diện TagManager.Logger Một 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 phương thức công khai

Vùng chứa
getContainer(Chuỗi containerId)
Bối cảnh
DataLayer
Hàm getDataLayer()
TagManager tĩnh
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; trả về null nếu vùng chứa chưa mở.

công khai Ngữ 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 (Ngữ cảnh context)

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

công khai Trình ghi nhật ký getLogger ()

Trả về trình ghi nhật ký mà Trình quản lý thẻ đang sử dụng.

công khai TagManager.RefreshMode getRefreshMode ()

Trả về chế độ làm mới dùng cho tất cả vùng chứa.

công khai Vùng chứa openContainer (Chuỗi containerId, Container.Callback containerId)

Trả về một 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, openContainer sẽ cố gắng tải phiên bản đã lưu của vùng chứa. 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.

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 trên một luồng riêng. Vì vậy, vùng chứa được 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 (ví dụ: 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).

Nếu gọi openContainer lần thứ hai cho một containerId nhất định, thì hệ thống sẽ gửi ra một ngoại lệ.

Các tham số
containerId mã của vùng chứa cần mở
số gọi lại một đối tượng mà các phương thức khác nhau sẽ được gọi trong các phần của 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 phương thức này có thể được gọi trước khi openContainer trả về.

công khai void setLogger (Trình ghi nhật ký logger)

Thay thế trình ghi nhật ký hiện có mà Trình quản lý thẻ sử dụng.

công khai void setRefreshMode (TagManager.RefreshMode )

Đặt chế độ làm mới dùng cho tất cả các vùng chứa.