Erste Schritte mit Notification Hubs mit BaiduGet started with Notification Hubs using Baidu

Wichtig

Dieses Tutorial ist veraltet.This tutorial is deprecated.

Baidu Cloud Push ist ein chinesischer Clouddienst, mit dem Sie Pushbenachrichtigungen an mobile Geräte senden können.Baidu cloud push is a Chinese cloud service that you can use to send push notifications to mobile devices.

Da Google Play und FCM (Firebase Cloud Messaging) in China nicht verfügbar sind, müssen andere App-Stores und Pushdienste verwendet werden.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 ist einer davon. Er wird momentan von Notification Hub verwendet.Baidu is one of them, and the one currently used by Notification Hub.

VoraussetzungenPrerequisites

Für dieses Tutorial ist Folgendes erforderlich:This tutorial requires:

Hinweis

Sie benötigen ein aktives Azure-Konto, um dieses Lernprogramm abzuschließen.To complete this tutorial, you must have an active Azure account. Wenn Sie über kein Konto verfügen, können Sie in nur wenigen Minuten ein kostenloses Testkonto erstellen.If you don't have an account, you can create a free trial account in just a couple of minutes. Ausführliche Informationen finden Sie unter Einen Monat kostenlos testen.For details, see Azure Free Trial.

Erstellen eines Baidu-KontosCreate a Baidu account

Zum Verwenden von Baidu müssen Sie über ein Baidu-Konto verfügen.To use Baidu, you must have a Baidu account. Wenn Sie bereits ein Konto haben, melden Sie sich beim Baidu-Portal an, und fahren Sie mit dem nächsten Schritt fort.If you already have one, log in to the Baidu portal and skip to the next step. Andernfalls finden Sie nachfolgend die entsprechenden Anweisungen zum Erstellen eines Baidu-Kontos.Otherwise, see the following instructions on how to create a Baidu account.

  1. Wechseln Sie zum Baidu-Portal, und klicken Sie auf den Link 登录 (Anmeldung).Go to the Baidu portal and click the 登录 (Login) link. Klicken Sie auf 立即注册 (Jetzt registrieren), um den Kontoregistrierungsprozess zu starten.Click 立即注册 (Register Now) to start the account registration process.

    Baidu: Registrierung

  2. Geben Sie die erforderlichen Details (Telefon, E-Mail-Adresse, Kennwort und Überprüfungscode) ein, und klicken Sie auf die Anmeldeschaltfläche „注册“ (Anmeldung).Enter the required details—phone/email address, password, and verification code—and click 注册 (Signup).

    Baidu: Registrierungseingabe

  3. Sie erhalten unter der eingegebenen E-Mail-Adresse eine E-Mail mit einem Link zur Aktivierung Ihres Baidu-Kontos.You are sent an email to the email address that you entered with a link to activate your Baidu account.

    Baidu: Registrierungsbestätigung

  4. Melden Sie sich bei Ihrem E-Mail-Konto an, öffnen Sie die Baidu-Aktivierungsmail, und klicken Sie auf den Aktivierungslink, um Ihr Baidu-Konto zu aktivieren.Log in to your email account, open the Baidu activation mail, and click the activation link to activate your Baidu account.

    Baidu: Aktivierungs-E-Mail

Nachdem Sie Ihr Baidu-Konto aktiviert haben, melden Sie sich beim Baidu-Portalan.Once you have an activated Baidu account, log in to the Baidu portal.

Erstellen eines Baidu-Cloud-Push-ProjektsCreate a Baidu cloud push project

Wenn Sie ein Baidu-Cloud-Push-Projekt erstellen, erhalten Sie Ihre App-ID, einen API-Schlüssel und einen geheimen Schlüssel.When you create a Baidu cloud push project, you receive your app ID, API key, and secret key.

  1. Sobald Sie sich im Baidu-Portal angemeldet haben, klicken Sie auf 更多>> (Mehr).Once you have logged in to the Baidu portal, click 更多>> (more).

    Registrierung: Mehr

  2. Scrollen Sie nach unten zum Abschnitt 站长与开发者服务 (Webmaster- und Entwicklerdienste), und klicken Sie auf 百度云推送 (Baidu Cloud Push).Scroll down in the 站长与开发者服务 (Webmaster and Developer Services) section and click 百度云推送 (Baidu Cloud Push).

    Baidu Open Cloud-Plattform

  3. Klicken Sie auf der nächsten Seite in der rechten oberen Ecke auf 登录 (Anmeldung).On the next page, click 登录 (Login) on the top-right corner.

    Baidu: Anmeldung

  4. Klicken Sie anschließend auf dieser Seite auf 创建应用 (Anwendung erstellen)Then, click 创建应用 (Create Application) on this page.

    Baidu: Anwendung erstellen

  5. Klicken Sie auf der nächsten Seite auf „创建新应用“ (Neue Anwendung erstellen).On the next page, click 创建新应用 (Create New Application).

    Baidu: Neue Anwendung erstellen

  6. Geben Sie einen Anwendungsnamen ein, und klicken Sie auf „创建“ (Erstellen).Enter an application name and click 创建 (Create).

  7. Nach erfolgreicher Erstellung eines Baidu Cloud Push-Projekts wird eine Seite mit App-ID, API-Schlüssel und Geheimer Schlüssel angezeigt.Upon successful creation of a Baidu cloud push project, you see a page with AppID, API Key, and Secret Key. Notieren Sie sich den API-Schlüssel und den geheimen Schlüssel für später.Make a note of the API key and secret key, which we use later.

    Baidu: Pushgeheimnisse

  8. Konfigurieren Sie für das Projekt Pushbenachrichtigungen, indem Sie im linken Bereich auf „创建通知“ (Benachrichtigung erstellen) klicken.Configure the project for push notifications by clicking 创建通知 (Create Notification) on the left pane.

Konfigurieren eines neuen Notification HubsConfigure a new notification hub

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

  2. Wählen Sie im Menü auf der linken Seite die Option Alle Dienste und dann im Abschnitt Mobil die Option Notification Hubs aus.Select All services on the left menu, and then select Notification Hubs in the Mobile section. Wählen Sie das Sternsymbol neben dem Dienstnamen aus, um den Dienst im linken Menü zum Abschnitt FAVORITEN hinzuzufügen.Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Nachdem Notification Hubs unter FAVORITEN hinzugefügt wurde, können Sie diesen Eintrag im Menü auf der linken Seite auswählen.After you add Notification Hubs to FAVORITES, select it on the left menu.

    Azure-Portal – Auswählen von Notification Hubs

  3. Wählen Sie auf der Seite Notification Hubs in der Symbolleiste die Option Hinzufügen.On the Notification Hubs page, select Add on the toolbar.

    Notification Hubs – Symbolleistenschaltfläche „Hinzufügen“

  4. Führen Sie auf der Seite Notification Hub die folgenden Schritte aus:On the Notification Hub page, do the following steps:

    1. Geben Sie ins Feld Notification Hub einen Namen ein.Enter a name in Notification Hub.

    2. Geben Sie ins Feld Neuen Namespace erstellen einen Namen ein.Enter a name in Create a new namespace. Ein Namespace enthält mindestens einen Hub.A namespace contains one or more hubs.

    3. Wählen Sie im Dropdown-Listenfeld Standort einen Wert aus.Select a value from the Location drop-down list box. Dieser Wert gibt den Standort an, an dem der Hub erstellt werden soll.This value specifies the location in which you want to create the hub.

    4. Wählen Sie unter Ressourcengruppe eine vorhandene Ressourcengruppe aus, oder erstellen Sie einen Namen für eine neue Ressourcengruppe.Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. Klicken Sie auf Erstellen.Select Create.

      Azure-Portal – Festlegen von Eigenschaften für den Notification Hub

  5. Wählen Sie Benachrichtigungen (Glockensymbol) und dann Zu Ressource wechseln aus.Select Notifications (the bell icon), and then select Go to resource. Sie können auch die Liste auf der Seite Notification Hubs aktualisieren und Ihren Hub auswählen.You can also refresh the list on the Notification Hubs page and select your hub.

    Azure-Portal – Benachrichtigungen -> Zu Ressource wechseln

  6. Wählen Sie in der Liste die Option Zugriffsrichtlinien aus.Select Access Policies from the list. Notieren Sie sich die beiden Verbindungszeichenfolgen, die für Sie verfügbar sind.Note that the two connection strings are available to you. Sie werden später für die Behandlung von Pushbenachrichtigungen benötigt.You'll need them later to handle push notifications.

    Wichtig

    Verwenden Sie nicht die Richtlinie DefaultFullSharedAccessSignature in Ihrer Anwendung.Do not use the DefaultFullSharedAccessSignature policy in your application. Diese ist nur für die Verwendung in Ihrem Back-End vorgesehen.This is meant to be used in your back end only.

    Azure-Portal – Verbindungszeichenfolgen für den Notification Hub

  6.  6. Klicken Sie in Ihrem Notification Hub auf Notification Services und anschließend auf Baidu (Android China) .In your notification hub, select Notification Services and then Baidu (Android China).

    Azure Notification Hubs – Baidu

  7.  7. Scrollen Sie nach unten zum Abschnitt mit den Baidu-Benachrichtigungseinstellungen.Scroll down to the Baidu notification settings section. Geben Sie den API-Schlüssel und den geheimen Schlüssel aus der Baidu-Konsole in das Baidu Cloud Push-Projekt ein.Enter the API key and secret key that you obtained from the Baidu console, in the Baidu cloud push project. Klicken Sie anschließend auf „Speichern“.Then click Save.

    Azure Notification Hubs – Baidu: Geheimnisse

Ihr Notification Hub ist jetzt für die Zusammenarbeit mit Baidu konfiguriert.Your notification hub is now configured to work with Baidu. Außerdem verfügen Sie über die Verbindungszeichenfolgen, um Ihre App für das Senden und Empfangen von Pushbenachrichtigungen zu registrieren.You also have the connection strings to register your app to both send and receive push notifications.

Notieren Sie sich die Werte für DefaultListenSharedAccessSignature und DefaultFullSharedAccessSignature aus dem Fenster „Verbindungsinformationen aufrufen“.Make a note of the DefaultListenSharedAccessSignature and DefaultFullSharedAccessSignature from the Access connection information window.

Verbinden Ihrer App mit dem Notification HubConnect your app to the notification hub

  1. Erstellen Sie in Android Studio ein neues Android-Projekt („Datei“ > „Neu“ > „Neues Projekt“).In Android Studio, create a new Android project (File > New > New Project).

    Azure Notification Hubs – Baidu: Neues Projekt

  2. Geben Sie einen Anwendungsnamen ein, und vergewissern Sie sich, dass die erforderliche SDK-Mindestversion auf „API 16: Android 4.1“ festgelegt ist.Enter an Application Name and ensure that the Minimum Required SDK version is set to API 16: Android 4.1. Stellen Sie zudem sicher, dass Ihr Paketname (应用包名) derselbe wie im Baidu Cloud Push-Portal ist.Also please make sure your package name (应用包名) is the same as in the Baidu Cloud Push Portal

    Azure Notification Hubs – Baidu: SDK-Mindestversion 1 Azure Notification Hubs – Baidu: SDK-Mindestversion 2Azure Notification Hubs - Baidu Min SDK1 Azure Notification Hubs - Baidu Min SDK2

  3. Klicken Sie auf „Weiter“, und befolgen Sie die Anweisungen des Assistenten, bis das Fenster „Aktivität erstellen“ angezeigt wird.Click Next and continue following the wizard until the Create Activity window appears. Vergewissern Sie sich, dass „Blank Activity“ (Leere Aktivität) ausgewählt ist, und klicken Sie abschließend auf „Fertig stellen“, um eine neue Android-Anwendung zu erstellen.Make sure that Empty Activity is selected, and finally select Finish to create a new Android Application.

    Azure Notification Hubs – Baidu: Aktivität hinzufügen

  4. Vergewissern Sie sich, dass das Buildziel des Projekts korrekt festgelegt ist.Make sure that the Project Build Target is set correctly.

  5. Fügen Sie anschließend Azure Notification Hubs-Bibliotheken hinzu.Then add Azure Notification Hubs libraries. Fügen Sie in der Datei Build.Gradle für die App im Abschnitt „dependencies“ die folgenden Zeilen hinzu: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'
    

    Fügen Sie nach dem Abschnitt „dependencies“ das folgende Repository hinzu:Add the following repository after the dependencies section.

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

    Fügen Sie zu Vermeidung des Listenkonflikts in der Datei Manifest.xml des Projekts den folgenden Code hinzu: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">
    

    Im Tag <application/> muss außerdem folgender Code eingefügt werden:and in the <application/> tag:

    <application
        tools:replace="android:allowBackup,icon,theme,label">
    
  6. Laden Sie das Baidu Push Android SDK herunter, und entzippen Sie es.Download and unzip the Baidu Push Android SDK. Kopieren Sie die Datei pushservice-x.y.z jar in den Ordner „libs“.Copy the pushservice-x.y.z jar file in the libs folder. Kopieren Sie anschließend die Dateien mit der Dateinamenerweiterung .so in die Ordner vom Typ src/main/jniLibs Ihrer Android-Anwendung. (Erstellen Sie hierzu einen neuen Ordner.)Then copy the .so files in the src/main/jniLibs (create a new folder) folders of your Android application.

    Azure Notification Hubs – Baidu: SDK-Bibliotheken

  7. Klicken Sie im Ordner libs des Projekts mit der rechten Maustaste auf die Datei pushervice-x.y.z.jar, und wählen Sie Add as Library (Als Bibliothek hinzufügen) aus, um die Bibliothek in das Projekt einzuschließen.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: Als Bibliothek hinzufügen

  8. Öffnen Sie die Datei AndroidManifest.xml des Android-Projekts, und fügen Sie die für das Baidu SDK erforderlichen Berechtigungen hinzu.Open the Android project's AndroidManifest.xml file and add the permissions required by the Baidu SDK. Ersetzen Sie YOURPACKAGENAME durch Ihren Paketnamen.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. Fügen Sie innerhalb des Anwendungselements nach dem Aktivitätselement .MainActivity die folgende Konfiguration hinzu, und ersetzen Sie dabei yourprojectname durch Ihren Projektnamen (beispielsweise 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. Fügen Sie dem Projekt eine neue Klasse namens ConfigurationSettings.java hinzu.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 = "...";
    }
    

    Legen Sie den Wert der API_KEY-Zeichenfolge auf den API-Schlüssel aus dem Baidu-Cloudprojekt fest.Set the value of the API_KEY string with the API_KEY from the Baidu Cloud Project.

    Legen Sie den Wert der NotificationHubName-Zeichenfolge auf Ihren Notification Hub-Namen aus dem Azure-Portal und anschließend NotificationHubConnectionString auf DefaultListenSharedAccessSignature aus dem Azure-Portal fest.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. Öffnen Sie „MainActivity.java“, und fügen Sie der onCreate-Methode Folgendes hinzu:Open MainActivity.java, and add the following to the onCreate method:

    PushManager.startWork(this, PushConstants.LOGIN_TYPE_API_KEY,  API_KEY );
    
  12. Fügen Sie eine neue Klasse namens MyPushMessageReceiver.java sowie den folgenden Code dafür hinzu.Add a new class called MyPushMessageReceiver.java, and add the following code to it. Dies ist die Klasse, die die vom Baidu-Push-Server empfangenen Pushbenachrichtigungen verarbeitet.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 ");
            }
        }
    }
    

Senden von Benachrichtigungen an Ihre AppSend notifications to your app

Sie können den Empfang von Benachrichtigungen über das Azure-Portal testen. Verwenden Sie dazu die Schaltfläche Senden auf dem Notification Hub-Konfigurationsbildschirm, wie auf den folgenden Screenshots zu sehen: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:

Pushbenachrichtigungen werden normalerweise in einem Back-End-Dienst wie z. B. Mobile Services oder ASP.NET mit einer kompatiblen Bibliothek gesendet.Push notifications are normally sent in a back-end service like Mobile Services or ASP.NET using a compatible library. Falls für Ihr Back-End keine Bibliothek verfügbar ist, können Sie Benachrichtigungsmeldungen direkt über die REST-API senden.If a library is not available for your back-end, you can use the REST API directly to send notification messages.

Der Einfachheit halber wird in diesem Tutorial das Senden einer Benachrichtigung mit dem .NET SDK über eine Konsolen-App gezeigt.For simplicity, this tutorial uses a console app as a demonstration on how to send a notification with the .NET SDK. Es empfiehlt sich jedoch, als Nächstes das Tutorial Verwenden von Notification Hubs für Pushbenachrichtigungen an Benutzer zum Senden von Benachrichtigungen über ein ASP.NET-Back-End zu absolvieren.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.

Benachrichtigungen können auf unterschiedliche Weise gesendet werden:Here are different approaches for sending notifications:

(Optional) Senden von Benachrichtigungen aus einer .NET-Konsolenanwendung(Optional) Send notifications from a .NET console app.

In diesem Abschnitt zeigen wir das Senden einer Benachrichtigung über eine .NET-Konsolen-App.In this section, we show sending a notification using a .NET console app.

  1. Erstellen einer neuen Visual C#-Konsolenanwendung:Create a new Visual C# console application:

  2. Legen Sie im Fenster der Paket-Manager-Konsole als Standardprojekt das neue Konsolenanwendungsprojekt fest, und führen Sie dann im Konsolenfenster den folgenden Befehl aus: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
    

    Diese Anweisung fügt mithilfe des Microsoft.Azure.NotificationHubs-NuGet-Pakets einen Verweis auf das Azure Notification Hubs-SDK hinzu.This instruction adds a reference to the Azure Notification Hubs SDK using the Microsoft.Azure.Notification Hubs NuGet package.

  3. Öffnen Sie die Datei Program.cs, und fügen Sie die folgende using-Anweisung hinzu:Open the file Program.cs and add the following using statement:

    using Microsoft.Azure.NotificationHubs;
    
  4. Fügen Sie in Ihrer Program-Klasse die folgende Methode hinzu, und ersetzen Sie DefaultFullSharedAccessSignatureSASConnectionString und NotificationHubName durch Ihre Werte.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. Fügen Sie folgende Zeilen zur Main -Methode hinzu:Add the following lines in your Main method:

    SendNotificationAsync();
    Console.ReadLine();
    

Testen Ihrer AppTest your app

Um die App mit einem Telefon zu testen, müssen Sie dieses über ein USB-Kabel mit Ihrem Computer verbinden.To test this app with an actual phone, just connect the phone to your computer by using a USB cable. Dadurch wird die App auf das Telefon geladen.This action loads your app onto the attached phone.

Um die App mit dem Emulator zu testen, klicken Sie in der oberen Symbolleiste von Android Studio auf Ausführen, und wählen Sie die App aus: Der Emulator wird gestartet, und die App wird geladen und ausgeführt.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.

Die App ruft userId und channelId vom Baidu-Pushbenachrichtigungsdienst ab und registriert sich beim Notification Hub.The app retrieves the userId and channelId from the Baidu Push notification service and registers with the notification hub.

Über die Registerkarte „Debuggen“ des Azure-Portal können Sie eine Testbenachrichtigung senden.To send a test notification, you can use the debug tab of the Azure portal. Wenn Sie die .NET-Konsolenanwendung für Visual Studio entwickelt haben, drücken Sie einfach in Visual Studio die Taste F5, um die Anwendung auszuführen.If you built the .NET console application for Visual Studio, just press the F5 key in Visual Studio to run the application. Die Anwendung sendet eine Benachrichtigung, die im oberen Infobereich des Geräts oder Emulators angezeigt wird.The application sends a notification that appears in the top notification area of your device or emulator.