Network Verification Functions
Overview
- The network verification module is an official EasyClick module. Retrieve license keys from the user center at http://uc.ieasyclick.com
- For APK versions below 9.13.0, download the network verification SDK separately and integrate it into your script manually
- For 9.13.0+, call functions directly without SDK integration
- License keys include heartbeat verification automatically — no separate call needed
- License keys also validate script integrity to increase anti-tamper difficulty, unlike many third-party verification platforms
- Both integrated and SDK versions use the same ecNetCard module prefix
- Platform usage guide: View here
License Key Operations
ecNetCard.setDeviceId Custom Device ID
- [Network verification] Set a custom device ID
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 11.21.0+
- @param deviceId Custom device ID you generate; max 32 characters
- @return
{boolean}true on success
function main() {
// Start writing your code here!!
logd("Checking automation environment...")
logd("Starting script...")
// Example only — do not copy verbatim; use android_id or generate your own
ecNetCard.setDeviceId("123")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) {
return
}
// Cloud variable demo
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
// Returned JSON data
loge("user age=> " + JSON.stringify(user_ageJson))
// Get the value
loge("user age value=> " + user_ageJson['data'])
// Update user_age
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) {
loge("netCardUpdateCloudVar updated successfully")
}
// Unbind (call as needed)
// Can also unbind from the admin console
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) {
sleep(1000)
}
}
main();
ecNetCard.netCardInit Initialize License Key
- [Network verification] Initialize license key module
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param appId Application appId from the user center
- @param appSecret Application secret from the user center
- @return
{json}null on success; JSON data on failure
function main() {
// Start writing your code here!!
logd("Checking automation environment...")
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) {
return
}
// Cloud variable demo
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
loge("user age=> " + JSON.stringify(user_ageJson))
loge("user age value=> " + user_ageJson['data'])
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) {
loge("netCardUpdateCloudVar updated successfully")
}
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) {
sleep(1000)
}
}
main();
ecNetCard.netCardBind Bind License Key
- [Network verification] Bind a license key
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param cardNo License key from the user center
- @return
{null|JSON}JSON object, e.g.{"code":0,"msg":""}
function main() {
logd("Checking automation environment...")
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) { return }
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
loge("user age=> " + JSON.stringify(user_ageJson))
loge("user age value=> " + user_ageJson['data'])
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) { loge("netCardUpdateCloudVar updated successfully") }
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) { sleep(1000) }
}
main();
ecNetCard.netCardUnbind Unbind License Key
- [Network verification] Unbind a license key
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param cardNo License key from the user center
- @param password Unbind password; required if one was set
- @return
{null|JSON}JSON object, e.g.{"code":0,"msg":""}
function main() {
logd("Checking automation environment...")
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) { return }
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
loge("user age=> " + JSON.stringify(user_ageJson))
loge("user age value=> " + user_ageJson['data'])
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) { loge("netCardUpdateCloudVar updated successfully") }
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) { sleep(1000) }
}
main();
ecNetCard.getCardInfo Get License Key Info
- [Network verification] Get license key information
- Can be called from UI to display info on screen
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param appId Application appId from the user center
- @param appSecret Application secret from the user center
- @param cardNo License key
- @return
{null|JSON}JSON object, e.g.{"code":0,"msg":""}
function main() {
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let card = ecNetCard.getCardInfo(appId, appSecret, cardNo)
logd("card " + JSON.stringify(card))
}
main();
Cloud Variables
ecNetCard.netCardGetCloudVar Get Remote Variable
- [Network verification — remote variables] Get a remote variable
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param key Remote variable name
- @return
{null|JSON}JSON object, e.g.{"code":0,"msg":""}
function main() {
logd("Checking automation environment...")
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) { return }
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
loge("user age=> " + JSON.stringify(user_ageJson))
loge("user age value=> " + user_ageJson['data'])
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) { loge("netCardUpdateCloudVar updated successfully") }
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) { sleep(1000) }
}
main();
ecNetCard.netCardUpdateCloudVar Update Remote Variable
- [Network verification — remote variables] Update a remote variable
- Key management: [http://uc.ieasyclick.com]
- Requires EC Android 9.13.0+
- @param key Remote variable name
- @param value Remote variable content
- @return
{null|JSON}JSON object, e.g.{"code":0,"msg":""}
function main() {
logd("Checking automation environment...")
logd("Starting script...")
let appId = "sjfjvkpw"
let appSecret = "ykjscxcs"
let cardNo = "cbwolrftnw"
let inited = ecNetCard.netCardInit(appId, appSecret)
logd("inited card => " + JSON.stringify(inited));
let bind = ecNetCard.netCardBind(cardNo)
logd("bind " + JSON.stringify(bind))
loge("bind {}", JSON.stringify(bind))
let bindResult = false;
if (bind != null && bind != undefined && bind["code"] == 0) {
loge("License key bound successfully")
loge("Remaining time: " + bind['data']['leftDays'] + " days")
loge("Activation time: " + bind['data']['startTime'])
loge("Expiration time: " + bind['data']['expireTime'])
bindResult = true;
} else {
if (bind == null || bind == undefined) {
loge("License key binding failed, no return value ")
} else {
loge("License key binding failed: " + bind["msg"])
}
}
sleep(5000)
if (!bindResult) { return }
let user_ageJson = ecNetCard.netCardGetCloudVar("user_age")
loge("user age=> " + JSON.stringify(user_ageJson))
loge("user age value=> " + user_ageJson['data'])
let up = ecNetCard.netCardUpdateCloudVar("user_age", "12222");
loge("netCardUpdateCloudVar => " + JSON.stringify(up))
if (up['code'] == 0) { loge("netCardUpdateCloudVar updated successfully") }
let unddd = ecNetCard.netCardUnbind(cardNo, "12323")
loge("netCardUnbind {}", JSON.stringify(unddd))
sleep(2000)
while (true) { sleep(1000) }
}
main();