Keur Aan de slag met Azure Notification Hubs die gebruikmaken van BaiduDeprecated: Get started with Notification Hubs using Baidu

Belangrijk

Deze zelf studie is afgeschaft.This tutorial is deprecated.

Baidu Cloud Push is een Chinese cloudservice waarmee u pushmeldingen naar mobiele apparaten kunt verzenden.Baidu cloud push is a Chinese cloud service that you can use to send push notifications to mobile devices.

Aangezien Google Play en FCM (Firebase Cloud Messaging) niet beschikbaar zijn in China, moet u andere appstores en pushservices gebruiken.As Google Play and FCM (Firebase Cloud Messaging) are not available in China, it is necessary to use different app stores and push services. Baidu is er een van en deze wordt momenteel gebruikt door de Notification Hub.Baidu is one of them, and the one currently used by Notification Hub.

VereistenPrerequisites

Voor deze zelfstudie hebt u het volgende nodig:This tutorial requires:

Notitie

U hebt een actief Azure-account nodig om deze zelfstudie te voltooien.To complete this tutorial, you must have an active Azure account. Als u geen account hebt, kunt u binnen een paar minuten een gratis proefaccount maken.If you don't have an account, you can create a free trial account in just a couple of minutes. Zie Gratis proefversie van Azure voor meer informatie.For details, see Azure Free Trial.

Een Baidu-account makenCreate a Baidu account

Voor het gebruik van Baidu moet u een Baidu-account hebben.To use Baidu, you must have a Baidu account. Als u er al een hebt, meldt u zich aan bij de Baidu Portal en gaat u verder met de volgende stap.If you already have one, log in to the Baidu portal and skip to the next step. Als u nog geen account hebt, raadpleegt u de instructies hieronder voor het maken van een Baidu-account.Otherwise, see the following instructions on how to create a Baidu account.

  1. Ga naar de Baidu Portal en klik op de koppeling 登录 (Aanmelden).Go to the Baidu portal and click the 登录 (Login) link. Klik op 立即注册 (Nu registreren) om het registratieproces voor accounts te starten.Click 立即注册 (Register Now) to start the account registration process.

    Registratie bij Baidu

  2. Voer de vereiste gegevens in - telefoon, e-mailadres, wachtwoord en verificatiecode - en klik vervolgens op 注册 (Registreren).Enter the required details—phone/email address, password, and verification code—and click 注册 (Signup).

    Invoer voor registratie bij Baidu

  3. U ontvangt een e-mailbericht op het e-mailadres dat u hebt ingevoerd met daarin een koppeling om uw Baidu-account te activeren.You are sent an email to the email address that you entered with a link to activate your Baidu account.

    Bevestiging van Baidu-registratie

  4. Meld u aan bij uw e-mailaccount, open het e-mailbericht en klik op de activeringskoppeling om uw Baidu-account te activeren.Log in to your email account, open the Baidu activation mail, and click the activation link to activate your Baidu account.

    E-mail voor Baidu-activering

Als uw Baidu-account is geactiveerd, meldt u zich aan bij de Baidu Portal.Once you have an activated Baidu account, log in to the Baidu portal.

Een Baidu-cloudpushproject makenCreate a Baidu cloud push project

Als u een Baidu-cloudpushproject maakt, ontvangt u uw app-id, API-sleutel en een geheime sleutel.When you create a Baidu cloud push project, you receive your app ID, API key, and secret key.

  1. Zodra u zich hebt aangemeld bij de Baidu Portal, klikt u op 更多>> (meer).Once you have logged in to the Baidu portal, click 更多>> (more).

    Registratie - Meer

  2. Schuif omlaag in de sectie 站长与开发者服务 (Webmaster- en ontwikkelaarsservices) en klik op 百度云推送 (Baidu-cloudpush).Scroll down in the 站长与开发者服务 (Webmaster and Developer Services) section and click 百度云推送 (Baidu Cloud Push).

    Baidu-cloudplatform openen

  3. Klik op de volgende pagina in de rechterbovenhoek op 登录 (Aanmelden).On the next page, click 登录 (Login) on the top-right corner.

    Aanmelden bij Baidu

  4. Klik vervolgens op deze pagina op 创建应用 (Toepassing maken).Then, click 创建应用 (Create Application) on this page.

    Baidu: toepassing maken

  5. Klik op de volgende pagina op 创建新应用 (Nieuwe toepassing maken).On the next page, click 创建新应用 (Create New Application).

    Baidu: nieuwe toepassing maken

  6. Voer een toepassingsnaam in en klik op 创建 (Maken).Enter an application name and click 创建 (Create).

  7. Als u een Baidu Cloud Push-project hebt gemaakt, ziet u een pagina met de App-id, de API-sleutel en een geheime sleutel.Upon successful creation of a Baidu cloud push project, you see a page with AppID, API Key, and Secret Key. Noteer de API-sleutel en de geheime sleutel. U hebt deze later nodig.Make a note of the API key and secret key, which we use later.

    Baidu: pushgeheimen

  8. Configureer het project voor pushmeldingen door in het linkerdeelvenster te klikken op 创建通知 (Melding maken).Configure the project for push notifications by clicking 创建通知 (Create Notification) on the left pane.

Een nieuwe Notification Hub configurerenConfigure a new notification hub

  1. Meld u aan bij Azure Portal.Sign in to the Azure portal.

  2. Selecteer alle services op het menu aan de linkerkant en selecteer vervolgens Notification Hubs in de Mobile sectie.Select All services on the left menu, and then select Notification Hubs in the Mobile section. Selecteer het sterpictogram naast de naam van de service toe te voegen van de service de Favorieten sectie in het menu links.Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Nadat u hebt toegevoegd Notification Hubs naar Favorieten, selecteert u deze in het menu links.After you add Notification Hubs to FAVORITES, select it on the left menu.

    Azure Portal - Notification Hubs selecteren

  3. Op de Notification Hubs-pagina selecteert u Toevoegen op de werkbalk.On the Notification Hubs page, select Add on the toolbar.

    Toevoegen van Notification Hubs - knop op de werkbalk

  4. Voer op de pagina Notification Hub de volgende stappen uit:On the Notification Hub page, do the following steps:

    1. Voer een naam in Notification Hub.Enter a name in Notification Hub.

    2. Voer een naam in maken van een nieuwe naamruimte.Enter a name in Create a new namespace. Een naamruimte bevat een of meer hubs.A namespace contains one or more hubs.

    3. Selecteer een waarde van de locatie vervolgkeuzelijst met box.Select a value from the Location drop-down list box. Deze waarde geeft de locatie waarin u wilt maken van de hub.This value specifies the location in which you want to create the hub.

    4. Selecteer een bestaande resourcegroep in resourcegroep, of een naam voor een nieuwe resourcegroep maken.Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. Selecteer Maken.Select Create.

      Azure Portal - eigenschappen van de Notification Hub instellen

  5. Selecteer meldingen (het belpictogram), en selecteer vervolgens naar de resource gaan.Select Notifications (the bell icon), and then select Go to resource. U kunt ook de lijst vernieuwen op de Notification Hubs pagina en selecteer uw hub.You can also refresh the list on the Notification Hubs page and select your hub.

    Azure Portal - Meldingen -> Naar de resource gaan

  6. Selecteer Toegangsbeleid in de lijst.Select Access Policies from the list. Houd er rekening mee dat de twee verbindingsreeksen voor u beschikbaar zijn.Note that the two connection strings are available to you. U moet ze later voor het afhandelen van pushmeldingen.You'll need them later to handle push notifications.

    Belangrijk

    Voer niet gebruiken de DefaultFullSharedAccessSignature beleid in uw toepassing.Do not use the DefaultFullSharedAccessSignature policy in your application. Dit is bedoeld om te worden gebruikt in uw back-end alleen.This is meant to be used in your back end only.

    Azure Portal - verbindingsreeksen voor de Notification Hub

  6.  6. Selecteer Notification Services in de Notification Hub en selecteer vervolgens Baidu (Android China) .In your notification hub, select Notification Services and then Baidu (Android China).

    Azure Notification Hubs - Baidu

  7.  7. Schuif omlaag naar het gedeelte met meldingsinstellingen voor Baidu.Scroll down to the Baidu notification settings section. Voer de API-sleutel en geheime sleutel die u hebt gekregen via de Baidu-console, in het Baidu Cloud Push-project in.Enter the API key and secret key that you obtained from the Baidu console, in the Baidu cloud push project. Klik vervolgens op Save.Then click Save.

    Azure Notification Hubs - Baidu-geheimen

De Notification Hub is nu geconfigureerd om met Baidu te kunnen werken.Your notification hub is now configured to work with Baidu. U hebt ook de verbindingsreeksen die u nodig hebt om uw app te registreren om pushmeldingen te verzenden en te ontvangen.You also have the connection strings to register your app to both send and receive push notifications.

Noteer de DefaultListenSharedAccessSignature en DefaultFullSharedAccessSignature in het venster met verbindingsgegevens.Make a note of the DefaultListenSharedAccessSignature and DefaultFullSharedAccessSignature from the Access connection information window.

Uw app verbinden met de Notification HubConnect your app to the notification hub

  1. Maak een nieuw Android-project in Android Studio (File > New > New Project).In Android Studio, create a new Android project (File > New > New Project).

    Azure Notification Hubs - Baidu: nieuw project

  2. Voer een toepassingsnaam in en zorg ervoor dat de minimaal vereiste SDK-versie is ingesteld op API 16: Android 4.1.Enter an Application Name and ensure that the Minimum Required SDK version is set to API 16: Android 4.1. Zorg er ook voor dat de pakketnaam (应用包名) hetzelfde is als in de Baidu-cloudpush-portalAlso please make sure your package name (应用包名) is the same as in the Baidu Cloud Push Portal

    Azure Notification Hubs - Baidu Min SDK1 Azure Notification Hubs - Baidu Min SDK2Azure Notification Hubs - Baidu Min SDK1 Azure Notification Hubs - Baidu Min SDK2

  3. Klik op Next en doorloop de wizard totdat het venster Create Activity (Activiteit maken) wordt weergegeven.Click Next and continue following the wizard until the Create Activity window appears. Zorg ervoor dat Empty Activity (Lege activiteit) is geselecteerd en selecteer daarna Finish (Voltooien) om een nieuwe Android-toepassing te maken.Make sure that Empty Activity is selected, and finally select Finish to create a new Android Application.

    Azure Notification Hubs - Baidu: activiteit toevoegen

  4. Zorg ervoor dat het doel van de projectbuild juist is ingesteld.Make sure that the Project Build Target is set correctly.

  5. Voeg daarna Azure Notification Hubs-bibliotheken toe.Then add Azure Notification Hubs libraries. Voeg in het bestand Build.Gradle voor de app de volgende regels toe in het gedeelte met afhankelijkheden.In the Build.Gradle file for the app, add the following lines in the dependencies section.

    implementation 'com.microsoft.azure:notification-hubs-android-sdk:0.6@aar'
    implementation 'com.microsoft.azure:azure-notifications-handler:1.0.1@aar'
    

    Voeg de volgende opslagplaats toe na het gedeelte met afhankelijkheden.Add the following repository after the dependencies section.

    repositories {
        maven {
            url "https://dl.bintray.com/microsoftazuremobile/SDK"
        }
    }
    

    Als u het lijstconflict wilt voorkomen, kunt u de volgende code toevoegen in het bestand Manifest.xml van het project:To avoid the List conflict, add the following code in the project's Manifest.xml file:

    <manifest package="YOUR.PACKAGE.NAME"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android">
    

    en in de tag <application/>:and in the <application/> tag:

    <application
        tools:replace="android:allowBackup,icon,theme,label">
    
  6. Download Baidu Push Android SDK en pak deze uit.Download and unzip the Baidu Push Android SDK. Kopieer het bestand pushservice-x.y.z jar in de map libs.Copy the pushservice-x.y.z jar file in the libs folder. Kopieer de .so-bestanden in de mappen in src/main/jniLibs (maak een nieuwe map) van uw Android-toepassing.Then copy the .so files in the src/main/jniLibs (create a new folder) folders of your Android application.

    Azure Notification Hubs - Baidu SDK Libs

  7. Klik in de map libs van het project met de rechtermuisknop op het bestand pushervice-x.y.z.jar. Selecteer Toevoegen als bibliotheek om deze bibliotheek in het project op te nemen.In the project's libs folder, right click on the pushervice-x.y.z.jar file; select Add as Library to including this library in the project.

    Azure Notification Hubs - Baidu: toevoegen als bibliotheek

  8. Open het bestand AndroidManifest.xml van het Android-project en voeg de machtigingen toe die vereist zijn door de Baidu SDK.Open the Android project's AndroidManifest.xml file and add the permissions required by the Baidu SDK. Vervang YOURPACKAGENAME door de pakketnaam.Replace YOURPACKAGENAME with your package name.

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
    !! <uses-permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.YOURPACKAGENAME" />
    !!<permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.YOURPACKAGENAME"android:protectionLevel="normal" />
    
    
  9. Voeg de volgende configuratie toe aan het toepassingselement na het activiteitelement .MainActivity, waarbij u yourprojectname vervangt (bijvoorbeeld com.example.BaiduTest):Add the following configuration within the application element after the .MainActivity activity element, replacing yourprojectname (for example, com.example.BaiduTest):

    <activity
        android:name="com.baidu.android.pushservice.richmedia.MediaViewActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="MediaViewActivity" />
    <activity
        android:name="com.baidu.android.pushservice.richmedia.MediaListActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="MediaListActivity"
        android:launchMode="singleTask" />
    
    <!-- Push application definition message -->
    <receiver android:name=".MyPushMessageReceiver">
        <intent-filter>
    
            <!-- receive push message-->
            <action android:name="com.baidu.android.pushservice.action.MESSAGE" />
            <!-- receive bind,unbind,fetch,delete.. message-->
            <action android:name="com.baidu.android.pushservice.action.RECEIVE" />
            <action android:name="com.baidu.android.pushservice.action.notification.CLICK" />
        </intent-filter>
    </receiver>
    
    <receiver
        android:name="com.baidu.android.pushservice.PushServiceReceiver"
        android:process=":bdservice_v1">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            <action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
            <action android:name="com.baidu.android.pushservice.action.media.CLICK" />
            <action android:name="android.intent.action.MEDIA_MOUNTED" />
            <action android:name="android.intent.action.USER_PRESENT" />
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
            <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
        </intent-filter>
    </receiver>
    
    <receiver
        android:name="com.baidu.android.pushservice.RegistrationReceiver"
        android:process=":bdservice_v1">
        <intent-filter>
            <action android:name="com.baidu.android.pushservice.action.METHOD" />
            <action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_REMOVED" />
    
            <data android:scheme="package" />
        </intent-filter>
    </receiver>
    
    <service
        android:name="com.baidu.android.pushservice.PushService"
        android:exported="true"
        android:process=":bdservice_v1">
        <intent-filter>
            <action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
        </intent-filter>
    </service>
    
    <service
        android:name="com.baidu.android.pushservice.CommandService"
        android:exported="true" />
    
    <!-- Adapt the ContentProvider declaration required for the Android N system, and the write permissions include the application package name-->
    <provider
        android:name="com.baidu.android.pushservice.PushInfoProvider"
        android:authorities="com.baidu.push.example.bdpush"
        android:exported="true"
        android:protectionLevel="signature"
        android:writePermission="baidu.push.permission.WRITE_PUSHINFOPROVIDER. yourprojectname  " />
    
    <!-- API Key of the Baidu application -->
    <meta-data
        android:name="api_key"
        !!   android:value="api_key" />
    </application>
    
  10. Voeg een nieuwe klasse genaamd ConfigurationSettings.java toe aan het project.Add a new class called ConfigurationSettings.java to the project.

    public class ConfigurationSettings {
        public static String API_KEY = "...";
        public static String NotificationHubName = "...";
        public static String NotificationHubConnectionString = "...";
    }
    

    Stel de waarde van de tekenreeks API_KEY in op de API_KEY uit het Baidu-cloudproject.Set the value of the API_KEY string with the API_KEY from the Baidu Cloud Project.

    Stel de waarde van de tekenreeks NotificationHubName in op de naam van uw Notification Hub uit Azure-portal en stel daarna NotificationHubConnectionString in op DefaultListenSharedAccessSignature uit Azure-portal.Set the value of the NotificationHubName string with your notification hub name from the Azure portal; and then NotificationHubConnectionString with DefaultListenSharedAccessSignature from the Azure portal.

  11. Open MainActivity.java en voeg het volgende toe aan de methode onCreate:Open MainActivity.java, and add the following to the onCreate method:

    PushManager.startWork(this, PushConstants.LOGIN_TYPE_API_KEY,  API_KEY );
    
  12. Voeg een nieuwe klasse genaamd MyPushMessageReceiver.java toe en voeg de volgende code eraan toe.Add a new class called MyPushMessageReceiver.java, and add the following code to it. Dit is de klasse die verantwoordelijk is voor de pushmeldingen die worden ontvangen van de Baidu-pushserver.It is the class that handles the push notifications that are received from the Baidu push server.

    package your.package.name;
    
    import android.content.Context;
    import android.content.Intent;
    import android.os.AsyncTask;
    import android.text.TextUtils;
    import android.util.Log;
    
    import com.baidu.android.pushservice.PushMessageReceiver;
    import com.microsoft.windowsazure.messaging.NotificationHub;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.util.List;
    
    public class MyPushMessageReceiver extends PushMessageReceiver {
    
        public static final String TAG = MyPushMessageReceiver.class
                .getSimpleName();
        public static NotificationHub hub = null;
        public static String mChannelId, mUserId;
    
        @Override
        public void onBind(Context context, int errorCode, String appid,
                        String userId, String channelId, String requestId) {
            String responseString = "onBind errorCode=" + errorCode + " appid="
                    + appid + " userId=" + userId + " channelId=" + channelId
                    + " requestId=" + requestId;
            Log.d(TAG, responseString);
    
            if (errorCode == 0) {
                // Binding successful
                Log.d(TAG, " Binding successful");
            }
            try {
                if (hub == null) {
                    hub = new NotificationHub(
                            ConfigurationSettings.NotificationHubName,
                            ConfigurationSettings.NotificationHubConnectionString,
                            context);
                    Log.i(TAG, "Notification hub initialized");
                }
            } catch (Exception e) {
                Log.e(TAG, e.getMessage());
            }
            mChannelId = channelId;
            mUserId = userId;
    
            registerWithNotificationHubs();
        }
        private void registerWithNotificationHubs() {
    
            new AsyncTask<Void, Void, Void>() {
                @Override
                protected Void doInBackground(Void... params) {
                    try {
                        hub.registerBaidu(mUserId, mChannelId);
                        Log.i(TAG, "Registered with Notification Hub - '"
                                + ConfigurationSettings.NotificationHubName + "'"
                                + " with UserId - '"
                                + mUserId + "' and Channel Id - '"
                                + mChannelId + "'");
                    } catch (Exception e) {
                        Log.e(TAG, e.getMessage());
                    }
                    return null;
                }
            }.execute(null, null, null);
        }
    
        @Override
        public void onMessage(Context context, String message,
                            String customContentString) {
            String messageString = " onMessage=\"" + message
                    + "\" customContentString=" + customContentString;
            Log.d(TAG, messageString);
            if (!TextUtils.isEmpty(customContentString)) {
                JSONObject customJson = null;
                try {
                    customJson = new JSONObject(customContentString);
                    String myvalue = null;
                    if (!customJson.isNull("mykey")) {
                        myvalue = customJson.getString("mykey");
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        @Override
        public void onNotificationArrived(Context context, String title, String description, String customContentString) {
            String notifyString = " Notice Arrives onNotificationArrived  title=\"" + title
                    + "\" description=\"" + description + "\" customContent="
                    + customContentString;
            Log.d(TAG, notifyString);
            if (!TextUtils.isEmpty(customContentString)) {
                JSONObject customJson = null;
                try {
                    customJson = new JSONObject(customContentString);
                    String myvalue = null;
                    if (!customJson.isNull("mykey")) {
                        myvalue = customJson.getString("mykey");
                    }
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    
        @Override
        public void onNotificationClicked(Context context, String title, String description, String customContentString) {
            String notifyString = " onNotificationClicked title=\"" + title + "\" description=\""
                    + description + "\" customContent=" + customContentString;
            Log.d(TAG, notifyString);
            Intent intent = new Intent(context.getApplicationContext(),MainActivity.class);
            intent.putExtra("title",title);
            intent.putExtra("description",description);
            intent.putExtra("isFromNotify",true);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.getApplicationContext().startActivity(intent);
    
        }
    
        @Override
        public void onSetTags(Context context, int errorCode,
                            List<String> successTags, List<String> failTags, String requestId) {
            String responseString = "onSetTags errorCode=" + errorCode
                    + " successTags=" + successTags + " failTags=" + failTags
                    + " requestId=" + requestId;
            Log.d(TAG, responseString);
    
        }
    
        @Override
        public void onDelTags(Context context, int errorCode,
                            List<String> successTags, List<String> failTags, String requestId) {
            String responseString = "onDelTags errorCode=" + errorCode
                    + " successTags=" + successTags + " failTags=" + failTags
                    + " requestId=" + requestId;
            Log.d(TAG, responseString);
    
        }
    
        @Override
        public void onListTags(Context context, int errorCode, List<String> tags,
                            String requestId) {
            String responseString = "onListTags errorCode=" + errorCode + " tags="
                    + tags;
            Log.d(TAG, responseString);
    
        }
    
        @Override
        public void onUnbind(Context context, int errorCode, String requestId) {
            String responseString = "onUnbind errorCode=" + errorCode
                    + " requestId = " + requestId;
            Log.d(TAG, responseString);
    
            if (errorCode == 0) {
                // Unbinding is successful
                Log.d(TAG, " Unbinding is successful ");
            }
        }
    }
    

Pushmeldingen naar uw app verzendenSend notifications to your app

U kunt de ontvangst van meldingen snel testen via Azure-portal: gebruik de knop Verzenden in het configuratiescherm van de Notification Hub, zoals in de volgende schermen wordt weergegeven:You can quickly test receiving notifications from the Azure portal: use the Send button in the notification hub configuration screen, as shown in the following screens:

Pushmeldingen worden gewoonlijk in een back-endservice zoals Mobile Services of ASP.NET verzonden met een compatibele bibliotheek.Push notifications are normally sent in a back-end service like Mobile Services or ASP.NET using a compatible library. U kunt de REST API ook rechtstreeks gebruiken om meldingen te verzenden als er geen bibliotheek beschikbaar is voor uw back-end.If a library is not available for your back-end, you can use the REST API directly to send notification messages.

In deze zelfstudie wordt voor het gemak een console-app gebruikt om te laten zien hoe u een melding verzendt met de .NET-SDK.For simplicity, this tutorial uses a console app as a demonstration on how to send a notification with the .NET SDK. U kunt echter het beste de zelfstudie Notification Hubs gebruiken om pushmeldingen naar gebruikers te verzenden doornemen voor informatie over het verzenden van meldingen vanuit een ASP.NET-back-end.However, we recommend the Use Notification Hubs to push notifications to users tutorial as the next step for sending notifications from an ASP.NET backend.

Hier zijn verschillende methoden om meldingen te verzenden:Here are different approaches for sending notifications:

(Optioneel) Meldingen verzenden vanuit een .NET-console-app(Optional) Send notifications from a .NET console app.

In dit gedeelte behandelen we hoe u een melding vanuit een .NET-console-app kunt verzenden.In this section, we show sending a notification using a .NET console app.

  1. Maak een nieuwe Visual C#-consoletoepassing:Create a new Visual C# console application:

  2. Stel in het venster Package Manager-console het standaardproject in op uw nieuwe consoletoepassingsproject en voer vervolgens in het consolevenster de volgende opdracht uit:In the Package Manager Console window, set the Default project to your new console application project, and then in the console window, execute the following command:

    Install-Package Microsoft.Azure.NotificationHubs
    

    Hiermee wordt een verwijzing toegevoegd aan de Azure Notification Hubs-SDK met het Microsoft.Azure.Notification Hubs NuGet-pakket.This instruction adds a reference to the Azure Notification Hubs SDK using the Microsoft.Azure.Notification Hubs NuGet package.

  3. Open het bestand Program.cs en voeg de volgende instructie toe:Open the file Program.cs and add the following using statement:

    using Microsoft.Azure.NotificationHubs;
    
  4. Voeg in de klasse Program de volgende methode toe en vervang DefaultFullSharedAccessSignatureSASConnectionString en NotificationHubName door de waarden die u hebt.In your Program class, add the following method and replace DefaultFullSharedAccessSignatureSASConnectionString and NotificationHubName with the values that you have.

    private static async void SendNotificationAsync()
    {
        NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("DefaultFullSharedAccessSignatureSASConnectionString", "NotificationHubName");
        string message = "{\"title\":\"((Notification title))\",\"description\":\"Hello from Azure\"}";
        var result = await hub.SendBaiduNativeNotificationAsync(message);
    }
    
  5. Voeg de volgende regels in de Main-methode toe:Add the following lines in your Main method:

    SendNotificationAsync();
    Console.ReadLine();
    

Uw app testenTest your app

Als u uw app met een telefoon wilt testen, sluit u de telefoon met een USB-kabel op uw computer aan.To test this app with an actual phone, just connect the phone to your computer by using a USB cable. Met deze actie wordt uw app naar de gekoppelde telefoon geladen.This action loads your app onto the attached phone.

Als u deze app wilt testen met de emulator, klikt u op de bovenste taakbalk in Android Studio op Run (Uitvoeren) en selecteert u uw app. De emulator wordt gestart en daarna wordt de app geladen en uitgevoerd.To test this app with the emulator, on the Android Studio top toolbar, click Run, and then select your app: it starts the emulator, loads, and runs the app.

De app haalt de userId en channelId op uit de Baidu-pushmeldingenservice en registreert zich bij de Notification Hub.The app retrieves the userId and channelId from the Baidu Push notification service and registers with the notification hub.

U kunt een testmelding verzenden vanaf het foutopsporingstabblad van Azure-portal.To send a test notification, you can use the debug tab of the Azure portal. Als u de .Net-console-toepassing hebt gebouwd voor Visual Studio, drukt u in Visual Studio op F5 om de toepassing te starten.If you built the .NET console application for Visual Studio, just press the F5 key in Visual Studio to run the application. De toepassing verstuurt een melding. Deze verschijnt in het bovenste gedeelte voor meldingen op uw apparaat of in de emulator.The application sends a notification that appears in the top notification area of your device or emulator.