Tự động hóa
Node thay đổi thiết bị
Bật tắt kết nối, đọc và đổi thông tin máy, chạy lệnh ADB, khôi phục cài đặt gốc — năm node tác động lên chính chiếc điện thoại.
6 phút đọc
Mọi node khác trong thư viện tác động lên một app. Năm node này tác động lên chiếc máy. Khác biệt nằm đúng ở đó, và cũng vì thế bài này gần như toàn cảnh báo: node app chỉ ảnh hưởng một app, node thiết bị chạm tới mọi thứ trên máy, và một trong số chúng xoá sạch máy không lấy lại được.
Chúng nằm trong nhóm Thiết bị của thư viện node.
Bật/tắt kết nối (Toggle connection)
Điều khiển wifi, dữ liệu di động, chế độ máy bay và bluetooth. Bạn chọn kết nối và trạng thái, trong đó có một trạng thái đáng nhớ: "“Đảo” sẽ lật ngược trạng thái đang có trên máy", khỏi phải đi kiểm trước.
Dùng khi app bạn đang điều khiển hành xử khác lúc mất mạng, hoặc khi cần cho kết nối nối lại từ đầu.
Node này tắt/bật kết nối của cả máy, mà máy thì cần có kết nối. Lượt chạy báo kết quả về bằng chính đường mạng đó, và trình xem bạn đang nhìn cũng vậy. Đã tắt thứ gì thì phải bật lại ngay trong cùng kịch bản — đừng bao giờ để kịch bản kết thúc lúc máy đang mất mạng.
Bật lại xong thì đừng đoán bằng một khoảng chờ cố định. Nối mạng nhanh chậm tuỳ lúc: hãy dùng node Chờ có mạng (Wait for network) cũng trong nhóm Thiết bị, để kịch bản đi tiếp đúng lúc máy thật sự có mạng — xem Danh mục node.
Đọc thông tin máy (Read device info)
Lấy một thuộc tính hệ thống vào biến. Ô nhập cần đúng tên thuộc tính: "Tên property hệ thống, ví dụ ro.product.model".
Dùng để ghi lại máy đó thật sự là máy gì — vào một dòng nhật ký, hoặc vào báo cáo bạn gửi đi bằng Gọi HTTP (HTTP request) — hoặc để xác nhận một thay đổi đã ăn. Đây là phần kỹ thuật nhất của thư viện: không có gì đoán hộ bạn cái tên, và tên tự nghĩ ra thì không trả về thứ gì dùng được. ADB Console là chỗ dễ hơn để tra tay một cái tên trước khi ghim nó vào kịch bản.
Đổi thông tin máy (Change device info)
Đổi bốn thứ định danh của máy: IMEI, Android ID, Số sê-ri và Model máy.
Đây là thay đổi ở mức chiếc máy, không phải ở mức app. Mọi app trên máy đều thấy danh tính mới — kể cả những app bạn đang đăng nhập sẵn, và chúng có thể đăng xuất bạn, bắt xác minh lại, hoặc coi đây là một máy lạ chưa từng gặp.
Hãy đổi ngay từ đầu, trước khi cài và đăng nhập bất cứ thứ gì. Đổi danh tính khi tài khoản đã dựng xong chính là cách một tài khoản ngon bị khoá.
Muốn hiểu danh tính của một máy thuê là gì thì xem Danh tính thiết bị.
Lệnh ADB (ADB command)
Chạy một lệnh shell thẳng trên máy. Ô lệnh nhận đúng những gì nhãn của nó ghi: "Phần sau adb shell, chèn được {{tenBien}}"; kết quả in ra giữ lại được — "Tuỳ chọn — stdout của lệnh ghi vào biến này. Bỏ trống thì kết quả bị bỏ đi." — và có giới hạn thời gian: "Lệnh chạy quá thời gian này sẽ bị máy dừng hẳn và đi theo nhánh Lỗi. Đặt 0 = không giới hạn".
Nếu bạn không sẵn viết lệnh shell thì đây là node nên tránh. Không có gì ở đây kiểm tra xem câu lệnh mang nghĩa gì. Máy cứ thế chạy, và một câu lệnh sai thì hoặc hỏng câm lặng, hoặc làm đúng một việc bạn không định làm.
Gần như mọi thứ người ta định nhờ nó đều đã có node chuyên dụng làm được — ngay trong bài này, hoặc trong Node cho ứng dụng và tệp. Còn muốn chạy tay thì ADB Console cho bạn một danh mục lệnh dựng sẵn với từng ô tham số có tên, thay vì một ô trống.
Hai điều thực tế. Node này đòi gói thuê có kèm ADB — thẻ gói ghi thẳng: "Run vetted ADB commands on the device, and the ADB node in auto-flows." (chạy các lệnh ADB đã được duyệt trên máy, và cả node ADB trong auto-flow). Kiểm các nhãn trên thẻ gói trước khi thuê: Chọn gói thiết bị. Và Đặt 0 = không giới hạn không hề miễn phí: một lệnh không bao giờ trả về sẽ giữ lượt chạy mở cho tới khi cả lượt bị cắt ở mốc 30 phút và tính là Thất bại, lý do TIMEOUT. Hãy đặt một giới hạn thật.
Khôi phục cài đặt gốc (Factory reset)

Node này xoá sạch máy, và không có node nào chạy sau nó. Mô tả của chính node nói đủ cả hai vế: "Xoá sạch máy. Không có node nào chạy sau node này".
- Mất tất cả — app, tài khoản, tệp, thiết lập, và cả bản sao lưu do node Sao lưu dữ liệu app (Back up app data) tạo ra, vì chúng cũng nằm trên máy.
- Không hoàn tác được, và không ai hỏi lại bạn lần nữa: kịch bản chạy tới node này là máy bị xoá.
- Không nối được gì sau nó. Trên canvas, node này không có đầu ra nào cả — không Tiếp, không Lỗi — nên đơn giản là không có chỗ nào để nối bước kế tiếp vào. Node Dừng kịch bản (Stop flow) cũng được dựng như vậy, và khác biệt giữa hai cái mới là điều đáng nhớ: Dừng kịch bản kết thúc lượt chạy, còn node này xoá sạch chiếc máy. Một bước dọn dẹp, một dòng nhật ký, một báo cáo: không biết gắn vào đâu. Hãy đặt chúng ở phía trước.
- Chạy hàng loạt thì nó xoá mọi máy bạn đã chọn. Đọc Chạy kịch bản trên nhiều máy trước khi một kịch bản có node này đến gần một danh sách chọn.
Bảng thuộc tính của node chỉ có đúng hai dòng: Tên hiển thị, và một công tắc ghi "Tôi hiểu máy sẽ bị xoá sạch". Công tắc đang tắt lúc bạn vừa thả node vào, và để nguyên như vậy thì bị báo y như mọi trường bắt buộc còn trống — dòng "Bắt buộc nhập" — mà lỗi thì chặn không cho lưu kịch bản. Đó là cổng chắn duy nhất: "Phải tick thì node mới chạy — đây là cổng chống bấm nhầm". Bạn gạt nó lúc dựng kịch bản, và đó chính là giới hạn của nó: chắn được cú bấm nhầm trong trình soạn thảo, nhưng không chắn được một kịch bản đi tới node này vì lý do bạn không lường trước. Nhánh dẫn vào nó vì thế đáng đọc lại lần thứ hai.
Trước khi đưa bất kỳ node nào ở đây vào chạy hàng loạt
Hãy chạy thử trên một máy và xem kết quả — Chạy kịch bản và theo dõi. Kịch bản tắt kết nối, đổi danh tính hay xoá sạch máy không phải thứ nên để phát hiện sai sót trên hai chục máy cùng lúc.
Tóm tắt
- Năm node này thay đổi chính chiếc máy; mọi thứ trên máy đều thấy kết quả.
- Bật/tắt kết nối tác động cả máy — tắt rồi phải bật lại trong cùng kịch bản, rồi Chờ có mạng.
- Đổi thông tin máy có thể làm đăng xuất các app đang đăng nhập: đổi trước khi dựng bất cứ thứ gì.
- Lệnh ADB cần gói thuê có ADB, và
0 = không giới hạncó thể kéo dài tới mốc cắt 30 phút. - Khôi phục cài đặt gốc xoá sạch, không hoàn tác được, và không node nào sau nó được chạy.