npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@cordova-plugin-agconnect/cloudfunctions

v1.2.0

Published

Cordova Plugin AGC Cloud Functions

Downloads

48

Readme

Cordova Plugin AGC Cloud Functions

Contents


1. Introduction

This plugin enables communication between Huawei Cloud Functions SDK and Cordova platform. It exposes all functionality provided by Huawei Cloud Functions SDK.


2. Installation Guide

Before you get started, you must register as a HUAWEI Developer and complete identity verification on the HUAWEI Developer website. For details, please refer to Register a HUAWEI ID.

2.1. Creating a Project in AppGallery Connect

Creating an app in AppGallery Connect is required in order to communicate with the Huawei services. To create an app, perform the following steps:

  1. Sign in to AppGallery Connect and select My projects.
  2. Select your project from the project list or create a new one by clicking the Add Project button.
  3. Go to Project settings > General information, and click Add app. If an app exists in the project and you need to add a new one, expand the app selection area on the top of the page and click Add app.
  4. On the Add app page, enter the app information, and click OK.

2.2. Obtaining agconnect-services.json and agconnect-services.plist

  1. Sign in to AppGallery Connect and select your project from My Projects. Then go to Project settings > General information. In the App information field,

    • If platform is Android, click agconnect-services.json button to download the configuration file.
    • If platform is iOS, click agconnect-services.plist button to download the configuration file.

2.3. Applying for the Cloud Functions Service

Cloud Functions is still in Beta state. To use Cloud Functions, send an application email to [email protected] to apply for the service.

Set your email title in the following format: [Cloud Functions]-[Company name]-[Developer account ID]-[Project ID]. For details about how to query the developer account ID and project ID, please refer to Querying the Developer Account ID and Project ID.

Huawei operation personnel will reply within 1 to 3 working days.

This email address is used only to process AppGallery Connect service provisioning applications. Do not send other consultations to this email address.

2.4. Enabling Cloud Functions Service

  1. In AppGallery Connect, find your project, and click the app for which you want to use cloud functions.

  2. Select Build and Cloud functions on the left menu and click Enable Cloud Functions service.

2.5. Creating a Cloud Function

To create a cloud function, please refer Create a Function.

Creating a Trigger: To call a function in an app, you must create an HTTP trigger. For details, please refer to Create an HTTP Trigger. When calling a function in an app, you must transfer the identifier of an HTTP trigger. For details, please refer to Querying the Trigger Identifier

2.6. Cordova

  1. Install Cordova CLI.

    npm install -g cordova
  2. Create a new Cordova project or use existing Cordova project.

    • To create new Cordova project, you can use cordova create path [id [name [config]]] [options] command. For more details please follow CLI Reference - Apache Cordova.
  3. Update the widget id property which is specified in the config.xml file. It must be same with client > package_name value of the agconnect-services.json and agconnect-services.plist files.

  4. Add the Android or iOS platform to the project if haven't done before.

    cordova platform add android
    cordova platform add ios
  5. Install AGC Cloud Functions Cordova Plugin to the project.

  • Run the following command in the root directory of your project to install it through npm.
cordova plugin add @cordova-plugin-agconnect/cloudfunctions

2.6.1. iOS App Development

  1. Add agconnect-services.plist file to the app's root directory of your Xcode project.

  2. Run the application.

cordova run ios --device

2.6.2. Android App Development

  1. Copy agconnect-services.json file to <project_root>/platforms/android/app directory your Android project.

  2. Run the application.

    cordova run android --device

2.7. Ionic

  1. Install Ionic CLI.

    npm install -g @ionic/cli
  2. Create a new Ionic project or use existing Ionic project.

2.7.1. With Cordova Runtime

  1. Enable the Cordova integration if haven't done before.

    ionic integrations enable cordova
  2. Update the widget id property which is specified in the config.xml file. It must be same with client > package_name value of the agconnect-services.json and agconnect-services.plist files.

  3. Set preference in your Ionic project config.xml.

    <!--platform iOS-->
     <preference name="deployment-target" value="11.0" />
     <preference name="SwiftVersion" value="5" />
  4. Add the Android or iOS platform to the project if haven't done before.

    ionic cordova platform add android
    ionic cordova platform add ios
  5. Install AGC Cloud Functions Cordova Plugin to the project.

    ionic cordova plugin add @cordova-plugin-agconnect/cloudfunctions
  6. Install Ionic-Native AGC Cloud Functions to the project.

    npm install @ionic-native/core @cordova-plugin-agconnect/ionic-native-agc-cloudfunctions
2.7.1.1 iOS App Development
  1. Add agconnect-services.plist file to the app's root directory of your Xcode project.

  2. Run the application.

ionic cordova run ios --device
2.7.1.2. Android App Development
  1. Copy agconnect-services.json file to <project_root>/platforms/android/app directory your Android project.

  2. Run the application.

    ionic cordova run android --device

3. API Reference

AGCCloudFunctions

Represents the cloud function processing class.

Public Method Summary

| Method | Return Type | Description | | ------------------------------------------------------------- | ----------------- | ----------------- | | call(triggerIdentifier: string, options?: AGCFunctionOptions) | Promise<string> | Calls a function. |

Public Methods

call(triggerIdentifier: string, options?: AGCFunctionOptions)

Calls a function with input parameters.

Parameters

| Name | Type | Description | | ----------------- | ----------------------------------------- | ----------------------------------------------------------------- | | triggerIdentifier | string | NOPATHHTTP trigger identifier of the cloud function to be called. | | options? | AGCFunctionOptions | Cloud function configurations and parameters. |

Return Type

| Type | Description | | ----------------- | ------------------------------------------------ | | Promise<string> | The return value after the function is executed. |

Call Example
const params1 = {
  string: "test",
  number: 12123,
  boolean: true,
  array: [1, 2, 3, 4, 5],
  map: {
    string: "text",
    number: 123.1231,
    boolean: true,
    array: [1, 2, 3, 4, 5],
  },
};
const options = {
  timeout: 10,
  timeUnit: AGCCloudFunctions.AGCTimeUnit.SECONDS,
  params: params1,
};
AGCCloudFunctions.call("trigger-$latest", options)
  .then((callFunctionWithParamResult) => {
    alert(
      "callFunctionWithParamResult: " +
        JSON.stringify(callFunctionWithParamResult, null, 1)
    );
  })
  .catch(function (err) {
    alert("callFunctionWithParamResult -> Error : " + err);
  });

Data Types

AGCFunctionOptions
  • Cloud function configurations and parameters.

| Field | Type | Description | | -------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | timeout | number | Timeout interval of a function. For Android platform the unit is defined by the timeUnit parameter and the default time unit is seconds. For iOS platform time unit is seconds. | | timeUnit | AGCTimeUnit | Defines the time unit. Only Android platform. | | params | any | Custom any object that contains input parameter values of the function, which can be of any type. |

Constants

AGCTimeUnit
  • Constants of time units.

| Value | Field | Type | Description | | ----- | ------------ | ------ | ------------- | | 0 | NANOSECONDS | number | Nanoseconds. | | 1 | MICROSECONDS | number | Microsecons. | | 2 | MILLISECONDS | number | Milliseconds. | | 3 | SECONDS | number | Seconds. | | 4 | MINUTES | number | Minutes. | | 5 | HOURS | number | Hours. | | 6 | DAYS | number | Days. |

4. Configuration and Description

Preparing for Release

Before building the APK, configure obfuscation scripts to prevent the AppGallery Connect SDK from being obfuscated. If obfuscation arises, the AppGallery Connect SDK may not function properly.

NOTE: This step is required only if you want to minify and obfuscate your app. By default obfuscation is disabled in Cordova and Ionic apps.

The obfuscation is done by ProGuard. By default, in Cordova and Ionic apps ProGuard is disabled. Even though ProGuard is not available, ProGuard support can be added through 3rd party ProGuard plugins. If ProGuard is enabled in your project, the Huawei Cordova App Messaging Plugin's ProGuard rules need to be added to your project. These rules are as follows:

-ignorewarnings
-keep class com.huawei.agconnect.**{*;}
-repackageclasses

5. Sample Project

You can find the sample projects on the Cross-platform > Cordova > Cloud Functions page.


6. Licensing and Terms

AGC Cloud Functions Cordova Plugin is licensed under the Apache 2.0 license.