Home
Softono
hms-push-serverdemo-csharp

hms-push-serverdemo-csharp

Open source Apache-2.0 C#
33
Stars
19
Forks
8
Issues
12
Watchers
2 years
Last Commit

About hms-push-serverdemo-csharp

C sample code that encapsulates the server-side APIs of HUAWEI Push Kit, allowing developers to integrate push messaging into their server applications or use the provided examples directly. The project includes two libraries: AGConnectAdmin, a class library that wraps Push Kit server APIs with core classes such as AppOptions for app configuration, AGConnectApp for app initialization, AGConnectMessaging for API calls, and Message for constructing message bodies, and AGConnectAdmin.Examples, a class library containing usage examples. Sample programs cover sending Android data messages, Android notification messages, topic-based messages, condition-based messages, messages to Huawei quick apps, WebPush agent messages, APNs agent messages, and test messages. Installation involves copying the AGConnectAdmin library into a Visual Studio solution and referencing it. The demo projects require Visual Studio 2017 or later and support .NET Framework 4.5 or later as well as .NET Standard 2.0 or later. Configuration uses

Platforms

Web Self-hosted Windows

Languages

C#

HMS Core Push Kit Sample Code (C#)

English | 中文

Contents

Introduction

The sample code for C# encapsulates the server-side APIs of Push Kit, for your reference or direct use.

The following table describes folders of C# sample code. | Folder| Description| | ------------ | ----------- | |AGConnectAdmin|Class library where Push Kit server APIs are encapsulated.| |AGConnectAdmin.Examples|Class library usage examples.|

The following table describes main classes used in the sample code. | Class Name| Description| | ----------- | ----------- | |AppOptions|App-related configuration.| |AGConnectApp|App.| |AGConnectMessaging|Push Kit API calling methods.| |Message|Message body.|

Installation

  1. Decompress the sample code.
  2. Copy AGConnectAdmin to a proper position in your Visual Studio solution and reference the corresponding assembly in your project.
  3. Use the classes in AGConnectAdmin by referring to the sample code.

Configuration

The following table describes the parameters related to the AppOptions class.

Parameter Description
ClientId App ID, which is obtained from the app information.
ClientSecret App secret, which is obtained from the app information.
LoginUri URL for Huawei OAuth 2.0 to obtain a token. For details, please refer to OAuth 2.0-based Authentication.
ApiBaseUri Access address of Push Kit. For details, please refer to Downlink Message Sending.

Environment Requirements

The demo projects need to be opened using Visual Studio 2017 or a later version. The following framework versions are supported:

  • .NET Framework 4.5 or later
  • .NET Standard 2.0 or later

Sample Code

AGConnectAdmin.Examples provides all sample code and corresponding functions.

  1. Send an Android data message. Code location: SendDataMessage.cs

  2. Send an Android notification message. Code location: SendAndroidMessage.cs

  3. Send a message by topic.Code location: SendTopicMessage.cs

  4. Send a message by conditions. Code location: SendConditionMessage.cs

  5. Send a message to a Huawei quick app. Code location: SendInstanceAppMessage.cs

  6. Send a message through the WebPush agent. Code location: SendWebpushMessage.cs

  7. Send a message through the APNs agent. Code location: SendApnsMessage.cs

  8. Send a test message. Code location: SendTestMessage.cs

Technical Support

You can visit the Reddit community to obtain the latest information about HMS Core and communicate with other developers.

If you have any questions about the sample code, try the following:

  • Visit Stack Overflow, submit your questions, and tag them with huawei-mobile-services. Huawei experts will answer your questions.
  • Visit the HMS Core section in the HUAWEI Developer Forum and communicate with other developers.

If you encounter any issues when using the sample code, submit your issues or submit a pull request.

License

The sample code is licensed under Apache License 2.0.