1 Star 3 Fork 1

CHINASOFT2_OHOS / countly-sdk-ohos

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

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
Copyright (c) 2012, 2013 Countly Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

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

Releases

No release

Contributors

All

Activities

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

Search

F2647f8d 8189591 Bbdfb06e 8189591