配置

配置

创建新项目

注册客户端后,就可以开始创建自己的安卓应用程序了。

在命令行中移至要创建移动项目的目录,并执行以下命令。

zohoandroid create

系统将提示您输入以下内容。

  1. 移动应用的名称(例如,Lead Approver)。
  2. 移动应用所需的 Java 包名(例如,com.zoho.test)。
  3. Zoho OAuth 客户端 ID(在注册应用期间获取)。
  4. Zoho OAuth 客户端密钥(在注册应用期间获取)。
  5. Zoho OAuth 重定向 URL(在注册应用期间获取)。

成功执行以上命令后,将在同一目录中创建项目文件夹。该项目文件夹的名称将与移动应用的名称相同。

备注:

  • 默认情况下,所创建应用将在 Android API 级别 26 (Oreo) 上进行编译并面向该级别。但是,您可在应用的 build.gradle 中将其更改为所需 API 级别。
  • 请注意,切换 API 级别可能需要您处理新的 API 级别缺失的依赖项。

运行项目

新创建的项目实际上是一个演示 Android 应用,可使用 Android Studio 立即运行。

  1. 打开 Android Studio
  2. 点击文件 > 新建 > 导入项目,然后选择新创建的项目文件夹并点击打开
    新创建的演示应用将作为 Android 项目打开。
  3. 必要时,安装 Gradle 建议的所有缺失依赖项。
  4. 成功构建 Gradle 时,在仿真器中运行此项目。
    此应用在仿真器中打开时将显示 Zoho 登录界面。
  5. 使用您的 Zoho CRM 凭证登录并使用演示应用查看您的数据。

扩展应用

成功构建并运行项目后,可根据您的需求进一步为应用设计和创建新界面和新功能。开发应用时,没有任何前端限制。但是,为简化用户认证,在设计应用时务必记住以下几点。

处理登录/注销:

  1. 为了正确处理用户登录,在SDK中已经配置了启动界面,以确保只有登录的用户才能够查看应用程序的数据。
    • 但是,如果要显示您自己的自定义登录界面,请在appconfiguration.properties中为customLoginActivityClass提供定制的登录类包。我们将您的customLoginClass作为启动器活动启动,不需要在您的清单中提到这个类作为启动器。为确保顺利运行,请确保您从自定义启动活动来启动 ZCRMLoginActivity 实例,从而启动登录进程。
    • 编写自定义启动活动时,请确保在未调用 ZCRMLoginActivity 的情况下,您未对 Zoho CRM 进行任何调用。
  2. 为了处理用户注销,用于处理注销按钮的 onClick 调用活动必须扩展 ZCRMBaseActivity,并且其 onClick 方法应调用 super.logout()

在 app_configuration.properties 文件中:

  1. mainActivityClass(必需)- 指示主类包(此类在登录活动后启动)
  2. oauthScopes(必需)- 所创建属性文件中已提到样本作用域,可根据您的需要更改作用域。了解更多
  3. accessType(可选)- CRM 中的环境类型
    • Production - 此环境拥有访问关键业务数据的活跃付费用户。
    • Development - 可在这些环境中进行扩展、集成和开发而不影响生产环境。
    • Sandbox - 这些环境专门用于在部署至生产环境或向客户发布之前测试应用程序功能。
  4. minLogLevel(可选)- 此处代表首选日志级别(ALL、FINEST、TRACE、DEBUG、CONFIG、INFO、WARNING、ERROR 或 OFF)。
  5. domainSuffix(可选)多数据中心支持。
    • us - www.zohoapis.com
    • eu - www.zohoapis.eu
    • cn - www.zohoapis.com.cn
  6. portalID(可选)- 代表 CRM 门户 ID(例如,65468393)。如果您没有 portalID,那么不必在属性文件中指定。
  7. showSignUp(可选)- 如果在应用中提供注册工具,请将此值指定为 true,否则指定为 false

app_configuration.properties

此文件包含运行应用所需的特定配置值。请不要更改现有属性名称或值,因为它们是顺利运行 SDK 和应用所必需的。

该文件将位于以下路径:
project home > app > src > main > assets > app_configuration.properties

必要时,还可添加您自己的属性和值。启动应用后,在您的 Java 代码中的任意位置调用 ZCRMSDKConfigUtil.getConfigValue(propertyName); 将给出您添加至此文件的属性的值。

Zoho CRM API 包装器

为了简化通过 Zoho CRM Rest API 的数据访问,Zoho CRM 的内置API SDK 将被用于通过 API 访问 CRM 数据。此层负责您的 API 认证(生成并刷新 OAuth 访问令牌)、API 响应和请求结构并返回用于打包 API 响应的 Java 对象。

因此,API 调用将会是针对客户端应用的方法调用。

请参阅 Zoho CRM Java SDK 文档的“类层次结构”部分。

SDK 数据访问包装器

除以上 Zoho CRM API 打包外,为避免使用不必要的 API 调用,SDK 还会将基本模块元数据缓存在设备的本地存储器中。

目前,不会缓存 CRM 数据(记录),只会缓存模块的元数据,例如,布局、分栏、字段、自定义视图详细信息。

ZCRMCachedModule

一些其他元数据缓存是使用 ZCRMCachedModule 完成的。这会扩展 Zoho CRM API 客户端库的 ZCRMModule 类。此类提供以下方法。

  • getLayouts - 将模块的所有布局返回为 BulkAPIResponse
  • getCustomViews - 将模块的所有自定义视图详细信息返回为 BulkAPIResponse

刷新缓存

ZCRMCachedModule 存储并使用设备的本地存储器中缓存的模块和表单布局的元数据信息。SDK 按每 12 个小时一次的频率刷新已存储的模块元数据。

如果您要强制 SDK 删除缓存(例如,如果您要在应用中提供类似滑动刷新的功能)并通过 Zoho CRM API 调用刷新元数据,那么可通过设置以上方法的重载版本中提供的 refreshCache 标记来强制进行。下面给出了样本调用。

zcrmCachedModuleObj.getAllLayouts(true);

zcrmCachedModuleObj.getCustomViews(true);

还没有找到您需要的内容?

请发送邮件给我们:support-crm@zohocorp.com.cn