通过App ID在Android Sandbox中安装应用
我们提供了一个新的API,允许你通过App ID在Android Sandbox中直接安装应用而不需要手动下载安装。 这种方法比传统的APK安装更快捷和高效,特别适用于需要频繁安装和卸载应用的测试场景。
curl -X PUT "https://api.Lybic.cn/api/orgs/{orgId}/sandboxes/{sandboxId}/apps/{app_id}" -H "Authorization: Bearer YOUR_API_KEY"这个接口需要PythonSDK(lybic) 版本 >= 1.4.0,才能使用install_sandbox_application方法:
method: install_sandbox_application(sandbox_id: str, app_id: str)
- args:
- sandbox_id: str ID of the sandbox
- app_id: str ID of the application to install
- return:
SandboxApplicationInstallAcceptedDtocontainingoperationIdand initialstatus
import asyncio
from lybic import LybicClient, LybicAuth
async def install_sandbox_app_example():
async with LybicClient(
LybicAuth(
org_id="ORG-xxxx",
api_key="lysk-xxxxxxxxxxx"
)
) as client:
result = await client.tools.mobile_use.install_sandbox_application(
sandbox_id="SBX-xxxx",
app_id="APP-xxxx"
)
print(f"Operation ID: {result.operationId}")
print(f"Initial status: {result.status}")
if __name__ == '__main__':
asyncio.run(install_sandbox_app_example())你可以查询应用安装的状态,直到它完成:
curl -X GET "https://api.Lybic.cn/api/orgs/{orgId}/sandboxes/{sandboxId}/operations/{operation_id}" -H "Authorization: Bearer YOUR_API_KEY"这个接口需要PythonSDK(lybic) 版本 >= 1.4.0,才能使用get_sandbox_application_operation方法:
import asyncio
from lybic import LybicClient, LybicAuth
async def poll_install_operation_example():
async with LybicClient(
LybicAuth(
org_id="ORG-xxxx",
api_key="lysk-xxxxxxxxxxx",
endpoint="https://api.lybic.cn/"
)
) as client:
# Start installation
accepted = await client.tools.mobile_use.install_sandbox_application(
sandbox_id="SBX-xxxx",
app_id="APP-xxxx"
)
print(f"Installation started, operation ID: {accepted.operationId}")
# Poll until the operation completes
while True:
operation = await client.tools.mobile_use.get_sandbox_application_operation(
sandbox_id="SBX-xxxx",
operation_id=accepted.operationId
)
print(f"Status: {operation.status}")
if operation.status in ("SUCCEEDED", "FAILED", "CANCELLED"):
print(f"Final status: {operation.status}, detail: {operation.detail}")
break
await asyncio.sleep(5)
if __name__ == '__main__':
asyncio.run(poll_install_operation_example())注意:获取 App ID 的方法
在使用 通过 App ID 安装应用 功能之前,需要先获取应用对应的 App ID。 App ID 由 Lybic 平台统一管理,每个应用对应唯一的 App ID。
请将需要安装的应用列表发送至我们的邮箱:lybic@tingyutech.com。 我们会为你生成对应的 App ID 映射关系 并返回,用于 API 调用。