会话设置

本文介绍如何使用无影 AgentBay SDK 创建具有高级配置选项的云手机会话。云手机配置允许用户控制应用程序访问以及移动环境的屏幕分辨率设置。

概述

创建云手机会话时,可以使用 CreateSessionParams 中的 extra_configs 参数配置高级设置。包括:

  • 通过白名单或黑名单规则控制应用程序访问。

  • 锁定或解锁屏幕分辨率。

  • 增强安全性和测试灵活性。

配置选项

分辨率设置

  • lock_resolution (bool): 控制屏幕分辨率是否被锁定。

    • True: 锁定分辨率以防止更改。

    • False: 允许分辨率更改以实现灵活的显示适配。

应用管理规则

  • app_manager_rule (AppManagerRule):控制应用程序访问。

    • rule_type:"White"(白名单)或"Black"(黑名单)。

    • app_package_name_list:允许或阻止的包名列表。

白名单配置

在生产环境中使用白名单,确保只有经过批准的应用程序可以安装和访问。通过明确允许受信任的应用程序,提供最高级别的安全性。

示例:创建带有应用程序白名单的会话

from agentbay import AgentBay
from agentbay.session_params import CreateSessionParams
from agentbay.api.models import ExtraConfigs, MobileExtraConfig, AppManagerRule

# 初始化SDK
agent_bay = AgentBay(api_key="your_api_key")

# 配置带白名单的移动应用管理
app_whitelist_rule = AppManagerRule(
    rule_type="White",
    app_package_name_list=[
        "com.example.allowed.app",
        "com.company.trusted.app",
        "com.system.essential.service"
    ]
)

# 配置移动设置
mobile_config = MobileExtraConfig(
    lock_resolution=True,
    app_manager_rule=app_whitelist_rule
)

# 创建额外配置
extra_configs = ExtraConfigs(mobile=mobile_config)

# 创建带移动配置的会话
params = CreateSessionParams(
    image_id="mobile_latest",
    labels={"project": "mobile-testing", "environment": "development"},
    extra_configs=extra_configs
)

session_result = agent_bay.create(params)
if session_result.success:
    session = session_result.session
    print(f"移动会话已创建,ID: {session.session_id}")
    print("移动配置已应用:")
    print("- 分辨率已锁定")
    print("- 应用白名单已启用,包含允许的包")
else:
    print(f"创建移动会话失败: {session_result.error_message}")

黑名单配置

在开发和测试中使用黑名单来阻止已知的问题应用程序,同时允许其他应用程序的灵活性。当需要阻止访问特定应用程序而不限制整个环境时,使用黑名单配置。

示例:创建带有应用程序黑名单的会话

from agentbay import AgentBay
from agentbay.session_params import CreateSessionParams
from agentbay.api.models import ExtraConfigs, MobileExtraConfig, AppManagerRule

# 初始化SDK
agent_bay = AgentBay(api_key="your_api_key")

# 配置带黑名单的移动应用管理
app_blacklist_rule = AppManagerRule(
    rule_type="Black",
    app_package_name_list=[
        "com.malware.suspicious.app",
        "com.unwanted.adware",
        "com.blocked.social.media"
    ]
)

# 配置带分辨率灵活性的移动设置
mobile_config = MobileExtraConfig(
    lock_resolution=False,
    app_manager_rule=app_blacklist_rule
)

# 创建额外配置
extra_configs = ExtraConfigs(mobile=mobile_config)

# 创建带移动黑名单配置的会话
params = CreateSessionParams(
    image_id="mobile_latest",
    labels={"project": "security-testing"},
    extra_configs=extra_configs
)

session_result = agent_bay.create(params)
if session_result.success:
    session = session_result.session
    print(f"安全移动会话已创建,ID: {session.session_id}")
    print("安全配置已应用:")
    print("- 分辨率已解锁以提高灵活性")
    print("- 应用黑名单已启用以阻止恶意包")
else:
    print(f"创建移动会话失败:{session_result.error_message}")