1 Star 2 Fork 1

CHINASOFT2_OHOS / countly-sdk-ohos

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

countly-sdk-ohos

项目介绍

  • 项目名称:countly-sdk-ohos
  • 所属系列:openharmony 第三方组件适配移植
  • 功能:产品分析解决方案,跟踪产品性能、用户行为
  • 项目移植状态:主功能完成
  • 调用差异:无
  • 开发版本:sdk6,DevEco Studio2.2 beta1
  • 基线版本:Release 20.11.8

效果演示

ohos-sample-app

安装教程

在moudle级别下的build.gradle文件中添加依赖

// 添加maven仓库
repositories {
   maven {
       url 'https://s01.oss.sonatype.org/content/repositories/releases/'
   }
}

// 添加依赖库
dependencies {
   implementation 'com.gitee.chinasoft_ohos:countly-sdk-ohos:1.0.0'   
}

在sdk6,DevEco Studio2.2 beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用说明

在你使用任何功能之前,你必须初始化SDK,在AbilityPackage的子类中或者MainAbility的onStart方法中完成其初始化工作

最小设置
启动SDK的最短方法是使用以下调用:
Countly.sharedInstance().init(new CountlyConfig(this, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));

在这里,您可以提供ohos上下文、appKey和Countly服务器URL。

要在初始化期间配置SDK,需要使用名为“CountlyConfig”的配置对象。配置是通过创建这样一个对象,然后调用它提供的函数调用来实现所需的功能。之后,配置对象被提供给“init”方法。

提供应用程序密钥

也称为“appKey”作为速记。应用程序密钥用于标识跟踪此信息的应用程序。通过在Countly仪表板中创建一个新的应用程序并在其应用程序管理屏幕中访问它,您可以获得这个值。

注意:请确保您使用的是应用程序密钥(位于“管理”->“应用程序”下),而不是API密钥。输入API密钥将不起作用。

提供服务器URL

如果您使用Countly Enterprise Edition试用服务器,请使用https://try.count.ly, https://us-try.count.ly or https://asia-try.count.ly It 基本上就是您访问试用版仪表板的域。

如果您同时使用社区版和企业版,请使用您自己的域名或IP地址,例如https://example.com or https://IP (如果已设置SSL)。

SDK日志记录

在集成我们的SDK时,您应该做的第一件事是启用日志记录。如果启用了日志记录,那么我们的SDK将打印出关于其内部状态和遇到问题的调试消息。这些消息可以在logcat中进行筛选,并且可以使用ohos内部日志调用。

在config类上调用setLoggingEnabled以启用日志记录:

CountlyConfig config = (new CountlyConfig(appC, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));
config.setLoggingEnabled(true);

设备ID

所有跟踪信息都与“设备ID”绑定。设备ID是用户的唯一标识符。

首先需要确定的一点是使用哪种设备ID生成策略。以下定义了几个选项:

最简单的方法是让Countly SDK自己无缝地处理设备ID。然后,您可以使用以下调用。它将使用默认策略,它当前是OpenUDID(不要忘记完成OpenUDID的设置,如下所述)。

CountlyConfig config = (new CountlyConfig(appC, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));
Countly.sharedInstance().init(config);

如果有设备ID,您可以自己指定设备ID(每个设备的ID必须是唯一的)。它可能是电子邮件或其他系统使用的内部ID。

CountlyConfig config = (new CountlyConfig(appC, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));
config.setDeviceId("YOUR_DEVICE_ID");
Countly.sharedInstance().init(config);

您可以使用Google广告ID生成设备ID。

CountlyConfig config = (new CountlyConfig(appC, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));
config.setIdMode(DeviceId.Type.ADVERTISING_ID);
Countly.sharedInstance().init(config);

关于Google广告ID,请确保您的项目中包含了Google Play services 4.0+功能。另外,注意,当Google Play服务在设备上不可用时,广告ID会悄悄地返回到OpenUDID,以防它无法获取广告ID。
也可以显式使用OpenUDID:

CountlyConfig config = (new CountlyConfig(appC, COUNTLY_APP_KEY, COUNTLY_SERVER_URL));
config.setIdMode(DeviceId.Type.OPEN_UDID);
Countly.sharedInstance().init(config);

添加回调

在Countly.sharedInstance().init(…)调用之后,需要将以下调用添加到所有活动中:

在onStart中调用Countly.sharedInstance().onStart(this),这是指向当前活动的链接。

在onStop中调用Countly.sharedInstance().onStop()。

如果要跟踪方向更改,请在onConfigurationChanged中调用Countly.sharedInstance().onConfigurationChanged(newConfig)。

如果未添加“onStart”和“onStop”调用,则某些功能将不起作用,例如自动会话将不会被跟踪。Countly“onStart”必须在abilities“onStart”函数中调用,不能在任何其他地方调用,否则应用程序将收到异常。

必需的应用程序权限

此外,如果清单文件中没有任何权限,请确保已设置INTERNET和访问\网络\状态权限。这些调用应该是这样的:
"reqPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      },
      {
        "name": "ohos.permission.GET_NETWORK_INFO"
      }
]

事故报告

countly sdk for ohos能够收集崩溃报告,您可以稍后在服务器上检查并解决这些报告。

启用自动崩溃报告

要启用自动崩溃报告,请对config对象调用以下函数。在init之后,这将启用崩溃报告,它将自动捕获未捕获的Java异常。一旦再次启动应用程序并启动SDK,它们将被发送到仪表板。

config.enableCrashReporting();

向崩溃报告中添加自定义键值段

您可以向崩溃报告中添加键/值段。例如,您可以设置在应用程序中使用的特定库或框架版本。然后,您可以找出特定库或其他段与崩溃报告之间是否存在任何关联。

为此,请使用以下功能:

config.setCustomCrashSegment(Map<String, String> segments)

访问与崩溃相关的功能

在SDK中,可以从返回的界面浏览所有与崩溃相关的功能:

Countly.sharedInstance().crashes()

添加 breadcrumb

在整个应用程序中,您可以留下崩溃breadcrumb,这些breadcrumb将描述崩溃前在您的应用程序中采取的步骤。事故发生后,它们将与事故报告一起发送。

以下命令将添加crash breadcrumb:

Countly.sharedInstance().crashes().addCrashBreadcrumb(String record)

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

Repository Comments ( 0 )

Sign in to post a comment

About

行为日志收集和性能分析 expand collapse
Java and 2 more languages
MIT
Cancel

Releases

No release

countly-sdk-ohos

Contributors

All

Activities

Load More
can not load any more
Java
1
https://toscode.gitee.com/chinasoft2_ohos/countly-sdk-ohos.git
git@toscode.gitee.com:chinasoft2_ohos/countly-sdk-ohos.git
chinasoft2_ohos
countly-sdk-ohos
countly-sdk-ohos
master

Search