Script tùy chỉnh
Các script tích hợp đã bao quát những luồng thông dụng. Khi bạn cần thứ chúng không có — một bước theo thứ tự khác, một màn hình chúng không bao giờ chạm tới, hoặc một ứng dụng không phải TikTok hay Instagram — bạn có thể tự viết bằng bất kỳ ngôn ngữ nào và để TikMatrix giao chiếc điện thoại cho bạn.
Yêu cầu
Script tùy chỉnh cần gói Pro, Team hoặc Business. Gói Starter không có quyền truy cập.
Số thiết bị trong gói của bạn cũng chính là giới hạn chạy đồng thời: g ói Pro (20 thiết bị) có thể điều khiển 20 điện thoại cùng lúc, dù qua tác vụ tích hợp, script tùy chỉnh, hay kết hợp cả hai.
Hai cách chạy một script
Độc lập
Bạn tự chạy chương trình. TikMatrix chỉ cho mượn thiết bị.
from tikmatrix import TikMatrix
client = TikMatrix()
for device in client.devices():
if device["busy"]:
continue
with client.device(device["serial"], label="my crawler") as d:
d.press("home")
print(d.info())
Phù hợp cho việc chạy một lần, thu thập dữ liệu, và mọi thứ bạn muốn khởi động từ bộ lập lịch của riêng mình.
Được quản lý
Bạn đăng ký chương trình trong TikMatrix và nó trở thành một tác vụ như mọi tác vụ khác. Nó có hàng đợi tác vụ, giới hạn đồng thời theo gói, tự động thử lại, nhật ký tác vụ và mẫu lịch chạy. TikMatrix thuê thiết bị trước khi khởi động chương trình của bạn và truyền id thuê qua biến môi trường.
from tikmatrix import TikMatrix
with TikMatrix.from_env() as d: # thiết bị đã được thuê sẵn
d.click(text="Log in")
print("done") # dòng này sẽ nằm trong nhật ký tác vụ
Phù hợp cho mọi thứ bạn muốn chạy lặp lại, theo lịch, hoặc trên nhiều thiết bị.
Chọn cái nào
| Độc lập | Được quản lý | |
|---|---|---|
| Ai khởi động | Bạn | Hàng đợi tác vụ của TikMatrix |
| Thuê thiết bị | Bạn tự lấy | Đã có sẵn khi khởi động |
| Thử lại, lịch chạy, nhật ký | Bạn tự xây | Có sẵn |
| Chạy trên nhiều thiết bị | Bạn tự viết vòng lặp | Mỗi thiết bị một tác vụ, chạy song song |
| Tốt nhất cho | Khám phá, trình thu thập, việc chạy một lần | Mọi thứ bạn muốn lặp lại |
Bạn có thể bắt đầu ở chế độ độc lập trong lúc hoàn thiện luồng, rồi đăng ký chính tệp đó thành script được quản lý — dòng duy nhất thay đổi là TikMatrix.from_env().
Bắt đầu
1. Cài thư viện client
pip install requests
Rồi sao chép tikmatrix.py từ thư mục SDK đặt cạnh script của bạn. Thư viện chỉ là một tệp duy nhất, không có phụ thuộc nào khác.
Bạn không bắt buộc phải dùng nó — API chỉ là JSON thuần qua HTTP, và các endpoint thô được ghi rõ bên dưới.
2. Viết script của bạn
from tikmatrix import TikMatrix
client = TikMatrix()
with client.device("192.168.1.5:5555") as d:
d.press("home")
d.adb("shell", "am", "start", "-a", "android.settings.SETTINGS")
d.wait_for(text="Settings", timeout=15)
d.screenshot("settings.png")
Chạy nó khi TikMatrix đang mở và điện thoại đã kết nối. Nếu nó in ra một từ điển thông tin thiết bị thì mọi thứ đã thông suốt.
3. Đăng ký nó (chỉ chế độ được quản lý)
Vào Thiết bị → Script tùy chỉnh → Thêm script:
| Trường | Ý nghĩa |
|---|---|
| Tên | Hiển thị trong danh sách script và nhật ký tác vụ |
| Lệnh | Dòng lệnh chương trình cần chạy, ví dụ python C:/scripts/my_flow.py |
| Thư mục làm việc | Tùy chọn. Nơi chương trình khởi động |
| Nền tảng | Xem chế độ nền tảng bên dưới |
| Thời gian chờ | Số giây trước khi script bị buộc dừng và tác vụ bị đánh dấu thất bại. Mặc định 1800 |
| Biến môi trường bổ sung | Đối tượng JSON tùy chọn, được hợp nhất vào môi trường của chương trình |
| Bật | Tắt một script mà không xóa. Script bị tắt không thể được điều phối |
Sau đó nhấn ▶ trên dòng của script và chọn thiết bị, hệt như với script tích hợp.
Trợ lý AI có thể soạn một script tùy chỉnh từ mô tả bằng ngôn ngữ thường và đăng ký nó chỉ trong một bước. Nó cho bạn xem toàn bộ tệp trước khi ghi bất cứ thứ gì lên đĩa.
Thuê thiết bị
Một điện thoại chỉ có thể được điều khiển bởi một thứ tại một thời điểm. Thuê nó là báo cho TikMatrix biết thiết bị đang bận, nhờ đó:
- hàng đợi tác vụ sẽ không đẩy tác vụ lên cùng màn hình đó, và
- các lệnh gọi JSON-RPC của bạn báo cáo tình trạng agent y như script tích hợp, nên bộ giám sát thấy một agent đang bận thay vì một agent im lặng.
Việc thuê cũng chiếm một suất thiết bị trong gói của bạn.
Lượt thuê sẽ hết hạn — mặc định 120 giây, tối đa 600. Thư viện Python gia hạn lượt thuê của bạn trong một luồng nền và giải phóng khi khối with kết thúc, nên một script bị sập sẽ trả thiết bị trong vài giây thay vì giữ đến khi bạn khởi động lại ứng dụng. Nếu bạn gọi API trực tiếp, bạn phải tự gửi nhịp tim.
Bạn có thể xem mọi lượt thuê đang sống — và giải phóng cưỡng bức — tại Cài đặt → Developer API → Phiên thiết bị đang hoạt động.
Chế độ nền tảng
Script đã đăng ký khai báo mục tiêu của nó:
Generic — thiết bị được giao nguyên trạng. Không mở ứng dụng nào, không chuyển tài khoản, không kiểm tra bộ gõ, và không đóng gì sau khi xong. Dùng chế độ này để tự động hóa bất cứ thứ gì không phải TikTok hay Instagram.
TikTok / Instagram / Threads — ứng dụng được mở và tài khoản được chuyển trước khi chương trình của bạn bắt đầu, rồi ứng dụng được đóng khi kết thúc, hệt như với script tích hợp. TIKMATRIX_PACKAGE cho biết gói ứng dụng nào đã được xác định. Dùng chế độ này để thêm một bước mà script tích hợp không có.
Trên Threads, việc chuyển đổi tài khoản diễn ra qua Cài đặt → Chuyển đổi tài khoản trong ứng dụng, và tên trên trang hồ sơ sẽ được đọc sau đó. Một nhiệm vụ chỉ định tài khoản không được đăng nhập trên thiết bị sẽ không thành công thay vì chạy với tư cách của tài khoản đang hoạt động.
Biến môi trường
Script được quản lý nhận:
| Biến | Ý nghĩa |
|---|---|
TIKMATRIX_API_BASE | URL máy chủ, ví dụ http://127.0.0.1:50809 |
TIKMATRIX_SESSION_ID | Lượt thuê đã được giữ sẵn cho bạn |
TIKMATRIX_SERIAL | Thiết bị mà tác vụ này được gửi tới |
TIKMATRIX_PACKAGE | Gói ứng dụng đã xác định |
TIKMATRIX_PLATFORM | tiktok, instagram, threads hoặc generic |
TikMatrix.from_env() đọc toàn bộ những thứ này giúp bạn.
Script độc lập không nhận biến nào trong số đó — hãy thuê thiết bị một cách tường minh.
Mọi thứ bạn đặt trong Biến môi trường bổ sung sẽ được hợp nhất đè lên trên, đây là cách thông dụng để truyền thiết lập riêng cho từng lần chạy vào cùng một script đã đăng ký mà không phải sửa tệp.