MCPcopy Index your code
hub / github.com/Explore-In-HMS/Explore-Hms

github.com/Explore-In-HMS/Explore-Hms @v1.0.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.6 ↗ · + Follow
16,066 symbols 57,922 edges 1,652 files 1,883 documented · 12% updated 2y agov1.0.6 · 2023-11-21★ 37
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Explore HMS

Overview

 #Kits/Services in Explore HMS % HMS Kit/Service Coverage % Functional Coverage per Kit/Service % Kit/Service Up-to-Date

Screenshots

Introduction

Explore HMS application will host all HMS Core services and kits as example modules. It targets to include all features that HMS can provide. Because HMS Core is rapidly growing source, new modules and features fill be added. With each update, the application will be kept up to date, new features will be added, the application and modules will be constantly updated and optimized.

When users install the application from AppGallery, only 4 modules will be installed. However, because this project was created with HMS Dynamic Ability Service and Android App Bundle technology together, users will be able to download the modules they need without having unnecessary modules. This ensures that the app download size and the size it takes up on the device remain optimal.

App Bundle On-Demand feature provides us the capability of downloading the requested modules. In this way, the application does not have non-required features.

Focus

  • Provide ease for software developers and content providers who want to examine and learn about the services and kits offered by HMS Core or anyone who is interested in HMS.
  • Being a useful code sample source and reference for software developers or who wants to learn what services HMS Core includes and how to implement them into their projects.

What You Will Need

Hardware Requirements

  • A computer that can run Android Studio.
  • An Android phone for debugging.

Software Requirements

  • Android SDK package
  • Android Studio 3.X
  • HMS Core (APK) 4.X or later

Technical Information

  • Project Software Language: JAVA
  • Java Version: 1.8 or later.
  • Android Studio Version: 4.0
  • Android SDK version is 26 or later.
  • Gradle Version: 4.1.1

Before You Start

You need to agconnect-services.json for run this project correctly.

  • If you don't have a Huawei Developer account check this document for create; https://developer.huawei.com/consumer/en/doc/start/10104
  • Open your Android project and find Debug FingerPrint (SHA256) with follow this steps; View -> Tool Windows -> Gradle -> Tasks -> Android -> signingReport
  • Login to Huawei Developer Console (https://developer.huawei.com/consumer/en/console)
  • If you don't have any app check this document for create; https://developer.huawei.com/consumer/en/doc/distribution/app/agc-create_app
  • Add SHA256 FingerPrint into your app with follow this steps on Huawei Console; My Apps -> Select App -> Project Settings
  • Make enable necessary SDKs with follow this steps; My Apps -> Select App -> Project Settings -> Manage APIs
  • For this project you have to set enable Map Kit, Site Kit, Auth Service, ML Kit
  • Than go again Project Settings page and click "agconnect-services.json" button for download json file.
  • Move to json file in base "app" folder that under your android project. (https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/69407812#h1-1577692046342)
  • Go to app level gradle file and change application id of your android project. It must be same with app id on AppGallery console you defined.

Implemented Kits And Services

A/B Testing

A/B Testing provides a collection of refined operation tools to optimize app experience and improve key conversion and growth indicators. You can use the service to create one or more A/B tests engaging different user groups to compare your variants of app UI design, copywriting, product functions, or marketing activities for performance metrics and find the best one that meets user requirements. This helps you make correct decisions. A/B Testing is commonly used by large Internet companies, with hundreds of A/B tests conducted every week.

Accelerate Kit

HUAWEI Accelerate Kit provides the multi-thread acceleration capability that efficiently improves concurrent execution of multiple threads. It is located above the kernel in the OS and opened to developers as a set of C language APIs.

Most of current Android devices run a multi-core system. To give full play to the system, programs that can execute multiple tasks concurrently are preferred. Generally, multi-thread programs at the Native layer control task execution by managing threads. Accelerate Kit provides a new multi-thread programming method by using the multi-thread library (multithread-lib). It frees you from the thread management details so that you can focus on developing apps that can fully utilize the multi-core hardware capability of the OS, promising more efficient running.

Account Kit

Version: 6.9.0.301

Account Kit provides you with simple, secure, and quick sign-in and authorization functions. Instead of entering accounts and passwords and waiting for authentication, users can just tap the Sign In with HUAWEI ID button to quickly and securely sign in to your app with their HUAWEI IDs.

Features:

  • Signing In with a HUAWEI ID.
  • Silently Signing In with a HUAWEI ID.
  • Signing Out from a HUAWEI ID.
  • Revoking HUAWEI ID Authorization.
  • Automatically Reading an SMS Verification Code.

Ads Kit

Version: 13.4.47.302

HUAWEI Ads Publisher Service is a monetization service that leverages Huawei's extensive data capabilities to display targeted, high quality ad content in your apps to the vast user base of Huawei devices.

Features:

Analytics Kit

Version: 6.9.0.302

HUAWEI Analytics Kit offers a rich array of preset analytics models that help you gain a deeper insight into your users, products, and content. With this insight, you can then take a data-driven approach to market your apps and optimize your products.

Features:

APM

App Performance Management (APM) of HUAWEI AppGallery Connect provides minute-level app performance monitoring capabilities. You can view and analyze app performance data collected by APM in AppGallery Connect to comprehensively understand online performance of apps in real time, helping you quickly and accurately rectify app performance problems and continuously improve user experience.

App Bundle Release

Users are generally more willing to download smaller apps. Therefore, reducing the size of your app package to the greatest possible extent, is essential for boosting its download and installation success rate. App Bundle does this for you, and has become the preferred service for an increasing number of developers. HUAWEI AppGallery Connect allows you to release your app in App Bundle format, with the relevant Huawei SDKs integrated, ensuring that users only need to download the required content, bundled in a smaller, more streamlined app package.

App Linking

Version: 1.8.0.300

App Linking allows you to create cross-platform links that can work as defined regardless of whether your app has been installed by a user. When a user taps the link on an Android or iOS device, the user will be redirected to the specified in-app content. If a user taps the link in a browser, the user will be redirected to the same content of the web version.

Features:

  • Social sharing
  • Creating short & long app link
  • Feature Analyse

App Messaging

Version: 1.8.0.300

App Messaging even allows you to customize how your messages look and the way they will be sent, and define events for triggering message sending to your users at the right moment.

Features:

  • Displaying an In-App Message

App Release

After an app is developed, you need to submit it to Huawei for review in HUAWEI AppGallery Connect.

Steps :

  • Configuring App Information
  • Setting Countries/Regions to Release Your App
  • Setting Whether the Version Is for Open Testing
  • Uploading the App Package
  • Configuring Payment Information
  • Configuring Content Rating
  • Configuring the Privacy Description
  • Configuring the Privacy Policy
  • Configuring Copyright Information
  • Completing Other Version Information
  • Scheduling the App Release
  • Submitting Your App for Review
  • Adjusting the Release Date for Your App
  • Appendix: App Languages

App Signing

Android apps use a signature key for signing. Each signature key has an associated key certificate. Devices and services can use the certificate to check whether the app is from a trusted source. For trusted app updates, ensure that the app signature of the update package is the same as that of the installed app so that your app update will be accepted. However, if the signature key is lost or stolen, you cannot update your app. In this case, you will have to use a new package name to release the updated app. This will lead to risks such as user loss.

Audio Engine

Audio Engine provides the karaoke headset monitoring feature with open APIs to help you integrate the headset monitoring to your app, facilitating the utilization of Huawei's hardware-enabled headset monitoring capability, and achieving a low-latency and low-noise headset real-time listening experience.

Audio Kit

Version: 1.6.0.300

HUAWEI Audio Kit is a set of audio capabilities developed by Huawei. It provides you with audio playback capabilities based on the HMS ecosystem, including audio encoding and decoding capabilities at the hardware level and system bottom layer.

You can quickly build your own audio playback capabilities and audio apps based on HUAWEI Audio Kit.

Features:

  • Implement playlists (adding, removing items to lists, creating new playlists)
  • Seek bar drag and release controls and thus changing the progress of audio
  • Display relevant playlist name that is currently played (left-upper corner)
  • Render cover image (if exists) of the album in relevant places (main screen and notification bar
  • Implement notification bar with full basic audio control
  • Play audio from local storage files
  • Implement advanced playback buttons (shuffle, loop etc)
  • Implement basic playback buttons (play/pause, skip etc)
  • Synchronize seek bar with audio playback

Audio Editor Kit

Version: 1.7.0.300

Audio Editor Kit provides a wide range of audio editing capabilities, including AI dubbing, audio source separation, spatial audio, voice changer, and sound effects. With these capabilities, the kit serves as a one-stop solution for you to develop audio-related functions in your app with ease.

Features:

  • Create and Edit Audio
  • Audio Format Conversion
  • Video Audio Extraction
  • Add Effects
  • AI Debugging with Editing

Auth Service

Version: 1.6.0.300

Most apps need to identify and authenticate users to tailor the app experience for individual users. However, building such a system from scratch is a difficult process. Auth Service can quickly build a secure and reliable user authentication system for your app. You only need to access Auth Service capabilities in your app without caring about the facilities and implementation on the cloud.

Features:

  • Login with Twitter, Faceboo

Extension points exported contracts — how you extend this code

GeneralCardProcessor (Interface)
Common interface for post-processing plugins [27 implementers]
feature_mlkit/src/main/java/com/hms/explorehms/huawei/feature_mlkit/ui/mlServices/textRelated/generalCardRecognition/cardOperations/GeneralCardProcessor.java
TimeOutOnTouchListener (Interface)
(no doc) [34 implementers]
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/mediaeditor/VideoClipsActivity.java
AutoSuggestClickListenerSearchKit (Interface)
(no doc) [95 implementers]
feature_searchkit/src/main/java/com/hms/explorehms/huawei/feature_searchkit/listeners/AutoSuggestClickListenerSearchKit.java
OnFragmentOperation (Interface)
(no doc) [17 implementers]
app_update/src/main/java/com/kcode/lib/dialog/DownLoadDialog.java
HandRelatedDisplay (Interface)
(no doc) [13 implementers]
feature_arengine/src/main/java/com/hms/explorehms/huawei/feature_arengine/ui/hand/rendering/HandRelatedDisplay.java
IVolley (Interface)
(no doc) [117 implementers]
app/src/main/java/com/hms/explorehms/mapkit/data/IVolley.java
CameraTakeListener (Interface)
(no doc) [21 implementers]
app/cameratakelib/src/main/java/com/hms/explorehms/cameratakelib/listener/CameraTakeListener.java
BaseServiceInterface (Interface)
(no doc) [42 implementers]
feature_hiai/src/main/java/com/hms/explorehms/huawei/feature_hiai/ui/hiaiserviceviews/base/BaseServiceInterface.java

Core symbols most depended-on inside this repo

getString
called by 1583
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/utils/SPManager.java
setVisibility
called by 1440
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/view/loading/HwLoadingDialog.java
get
called by 1260
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/utils/SPManager.java
setText
called by 1197
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/template/adapter/RViewHolder.java
e
called by 1130
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/utils/SmartLog.java
i
called by 1090
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/utils/SmartLog.java
getResources
called by 888
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/utils/ResUtils.java
add
called by 828
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/utils/BigDecimalUtil.java

Shape

Method 13,901
Class 1,835
Interface 205
Function 72
Enum 53

Languages

Java99%
C++1%

Modules by API surface

feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/view/decoration/MStaggeredGridLayoutManager.java180 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/mediaeditor/trackview/viewmodel/EditPreviewViewModel.java167 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/mediaeditor/texts/fragment/EditTextStyleFragment.java87 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/mediaeditor/VideoClipsActivity.java85 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/mediaeditor/texts/viewmodel/TextEditViewModel.java80 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/common/bean/MediaData.java80 symbols
feature_videokit/src/main/java/com/hms/explorehms/huawei/feature_videokit/control/PlayControl.java75 symbols
feature_navikit/src/main/java/com/hms/explorehms/huawei/feature_navikit/utils/DefaultMapNavi.java67 symbols
feature_videokit/src/main/java/com/hms/explorehms/huawei/feature_videokit/activity/PlayActivity.java62 symbols
feature_videoeditorkitai/src/main/java/com/hms/explorehms/huawei/ui/template/bean/MaterialData.java61 symbols
feature_videokit/src/main/java/com/hms/explorehms/huawei/feature_videokit/utils/PlayControlUtil.java60 symbols
feature_videokit/src/main/java/com/hms/explorehms/huawei/feature_videokit/view/PlayView.java55 symbols

For agents

$ claude mcp add Explore-Hms \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact