Quick test notification message
Postman herunterladen und Sammlung importieren
Laden Sie Postman auf Ihren Computer herunter und importieren Sie anschließend die folgende Sammlung über den Link oben links in der Software: https://www.getpostman.com/collections/618d2460851f697dc22c
Das Benachrichtigungsformat ist wie folgt:
curl --location --request POST 'http://pricloud-master-api.glqas.mtpushoa.com/v3/push' \
--header 'Authorization: Basic MWM0Yjc0OWExN2Y2YWNhMzM5NjBhNTYwOjQ5ZjlkODI2MDExMmI0YmVlMDVhMzQzOA==' \
--header 'Content-Type: application/json' \
--data-raw
'{
"platform": "android",
"audience": {
"registration_id": [
"1104a89792bbb659ec5"
]
},
"notification": {
"android": {
"title": "Benachrichtigungstitel",
"alert": "Benachrichtigungsinhalt",
"builder_id": 0,
"category": "alarm",
"small_icon": "mtpush_notification_icon",
"large_icon": "mtpush_notification_icon",
"extras": {
"Benachrichtigungsschlüssel": "Benachrichtigungswert"
},
"priority": 1,
"alert_type": 7,
"sound": "coin",
"channel_id": "money",
"badge_add_num": 1,
"badge_class": "com.engagelab.app.activity.MainActivity",
"style": 2,
"big_text": "Abschied von Cambridge ist ein bekanntes Gedicht des modernen Dichters Xu Zhimo und ein repräsentatives Werk der New Moon School. Das gesamte Gedicht nimmt die emotionalen Höhen und Tiefen beim Verlassen von Cambridge als roten Faden. Es drückt die tiefen Gefühle des Abschieds aus. Die Sprache ist leicht und sanft, die Form kunstvoll und harmonisch. Der Dichter kombiniert Realität und Fantasie, um fließende Bilder zu schaffen, die überall eine schöne künstlerische Stimmung erzeugen. Die Liebe des Dichters zu Cambridge, seine Nostalgie für das vergangene Leben und seine hilflose Traurigkeit über den Abschied werden aufrichtig, reichhaltig und bedeutungsvoll dargestellt – es ist das letzte Gedicht in Xu Zhimos Werk.",
"inbox": {
"inbox1": "Dies ist Inbox eins",
"inbox2": "Dies ist Inbox zwei",
"inbox3": "Dies ist Inbox drei"
},
"big_pic_path": "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=96071541,1913562332&fm=26&gp=0.jpg",
"intent": {
"url": "intent:#Intent;component=com.engagelab.oaapp/com.engagelab.app.component.UserActivity400;end"
}
}
},
"options": {
"third_party_channel": {
"vivo": {
"classification": 1,
"pushMode": 1
}
}
}
}'
curl --location --request POST 'http://pricloud-master-api.glqas.mtpushoa.com/v3/push' \
--header 'Authorization: Basic MWM0Yjc0OWExN2Y2YWNhMzM5NjBhNTYwOjQ5ZjlkODI2MDExMmI0YmVlMDVhMzQzOA==' \
--header 'Content-Type: application/json' \
--data-raw
'{
"platform": "android",
"audience": {
"registration_id": [
"1104a89792bbb659ec5"
]
},
"notification": {
"android": {
"title": "Benachrichtigungstitel",
"alert": "Benachrichtigungsinhalt",
"builder_id": 0,
"category": "alarm",
"small_icon": "mtpush_notification_icon",
"large_icon": "mtpush_notification_icon",
"extras": {
"Benachrichtigungsschlüssel": "Benachrichtigungswert"
},
"priority": 1,
"alert_type": 7,
"sound": "coin",
"channel_id": "money",
"badge_add_num": 1,
"badge_class": "com.engagelab.app.activity.MainActivity",
"style": 2,
"big_text": "Abschied von Cambridge ist ein bekanntes Gedicht des modernen Dichters Xu Zhimo und ein repräsentatives Werk der New Moon School. Das gesamte Gedicht nimmt die emotionalen Höhen und Tiefen beim Verlassen von Cambridge als roten Faden. Es drückt die tiefen Gefühle des Abschieds aus. Die Sprache ist leicht und sanft, die Form kunstvoll und harmonisch. Der Dichter kombiniert Realität und Fantasie, um fließende Bilder zu schaffen, die überall eine schöne künstlerische Stimmung erzeugen. Die Liebe des Dichters zu Cambridge, seine Nostalgie für das vergangene Leben und seine hilflose Traurigkeit über den Abschied werden aufrichtig, reichhaltig und bedeutungsvoll dargestellt – es ist das letzte Gedicht in Xu Zhimos Werk.",
"inbox": {
"inbox1": "Dies ist Inbox eins",
"inbox2": "Dies ist Inbox zwei",
"inbox3": "Dies ist Inbox drei"
},
"big_pic_path": "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=96071541,1913562332&fm=26&gp=0.jpg",
"intent": {
"url": "intent:#Intent;component=com.engagelab.oaapp/com.engagelab.app.component.UserActivity400;end"
}
}
},
"options": {
"third_party_channel": {
"vivo": {
"classification": 1,
"pushMode": 1
}
}
}
}'
Diesen Codeblock im schwebenden Fenster anzeigen
Parameterbeschreibung
| Eigenschaft | Unterstützte Kanäle | Typ | Bedeutung |
|---|---|---|---|
| title | alle | String | optional, Titel |
| alert | alle | String | erforderlich, Inhalt |
| builder_id | nur Engagelab | int | optional. Die ID des benutzerdefinierten Stils. Standardmäßig wird der Systemstil verwendet. |
| category | nur Engagelab | String | optional. Der Benachrichtigungstyp. Wird zum Sortieren oder Filtern von Benachrichtigungen verwendet. Verschiedene Typen, z. B. Notification.CATEGORY_ALARM und Notification#CATEGORY_CALL |
| large_icon | nur Engagelab | String | optional. Großes Symbol, meist rechts in der Benachrichtigung. |
| extras | alle | JsonObject | optional. Zusätzliche Felder. Das Format ist Schlüssel/Wert als String. |
| priority | nur Engagelab | int | optional. Die Dringlichkeit der Benachrichtigung. Standardwert: 0. |
| alert_type | nur Engagelab | int | optional. Benachrichtigungen für Klingelton, Vibration und LED. Standardwert: Notification.DEFAULT_ALL:-1. Klingelton: Notification.DEFAULT_SOUND:1, Vibration: Notification.DEFAULT_VIBRATE:2, LED: Notification.DEFAULT_LIGHTS:4. Kombinationen möglich, z. B. 7 für alle drei. |
| sound | Engagelab/google/xiaomi | String | optional. Der Klingelton muss im Verzeichnis res/raw gespeichert sein. Ab Android 8.0 folgt der Klingelton dem Channel. Ist für den Channel kein Klingelton gesetzt, wird kein individueller Klingelton abgespielt. Empfehlung: Klingelton im Channel vorab festlegen, damit die Benachrichtigung den gewünschten Ton verwendet. |
| channel_id | Engagelab/google/huawei/xiaomi/oppo | String | optional. Ab Android 8.0 erforderlich. Falls nicht im SDK gesetzt, wird dies automatisch übernommen (nur Engagelab- und Google-Kanäle im Vordergrund). |
| badge_add_num | Engagelab/huawei/xiaomi | int | optional. Erhöht die Anzahl der App-Badges (Zähler) kumulativ. |
| badge_class | Engagelab/huawei/xiaomi | String | optional. Die MainActivity der App für die Anzeige des Badges. |
| style | nur Engagelab | int | optional. Benachrichtigungen für Klingelton, Vibration und LED. Drei Szenarien frei kombinierbar. Ab Android 8.0 folgt dieses Attribut dem Channel. Z. B. 7 für Klingelton, Vibration und LED. Standard: Notification.DEFAULT_ALL:-1. |
| big_text | nur Engagelab | String | optional. Großer Text. Stil: NOTIFICATION_STYLE_BIG_TEXT. |
| inbox | nur Engagelab | JsonObject | optional. Inbox. Stil: NOTIFICATION_STYLE_INBOX. |
| big_pic_path | nur Engagelab | String | optional. Großes Bild. Stil: NOTIFICATION_STYLE_BIG_PICTURE. |
| Intent:url | alle | String | optional. Ab MTPush4.0.0 wirksam. Beim Klick auf die Benachrichtigung (Engagelab + alle Anbieter) erfolgt ein Sprung. Aktuell wird nur Activity unterstützt. Umgewandelt mit Intent.toURI() |
Beispielcode zur Konfiguration der Activity auf dem Android-Client:
package com.engagelab.app.component;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.engagelab.app.R;
import com.engagelab.app.log.ExampleLogger;
import com.engagelab.privates.push.api.MTPushPrivatesApi;
import com.engagelab.privates.push.api.NotificationMessage;
import com.engagelab.privates.push.constants.MTPushConstants;
/**
* Dient zur Demonstration – Klick auf die Benachrichtigung führt zum Sprung in die Activity
*
* Stellen Sie sicher, dass kein Aufruf von {@link MTPushPrivatesApi#configOldPushVersion(Context)} erfolgt, sonst funktioniert der Sprung nach Klick nicht.
* <p>
* Kein Aufruf von {@link MTPushPrivatesApi#reportNotificationOpened(Context, String, byte, String)} nötig – das SDK verarbeitet dies intern.
*/
public class UserActivity400 extends Activity {
private static final String TAG = "UserActivity400";
private TextView tvMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intent);
tvMessage = findViewById(R.id.tv_message);
onIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
onIntent(intent);
}
private void onIntent(Intent intent) {
try {
Toast.makeText(this, TAG, Toast.LENGTH_SHORT).show();
if (intent == null) {
return;
}
Bundle bundle = intent.getExtras();
NotificationMessage notificationMessage = bundle.getParcelable("message");
if (notificationMessage == null) {
return;
}
ExampleLogger.d(TAG, "notificationMessage:" + notificationMessage.toString());
tvMessage.setText(notificationMessage.toString());
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
}
package com.engagelab.app.component;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.engagelab.app.R;
import com.engagelab.app.log.ExampleLogger;
import com.engagelab.privates.push.api.MTPushPrivatesApi;
import com.engagelab.privates.push.api.NotificationMessage;
import com.engagelab.privates.push.constants.MTPushConstants;
/**
* Dient zur Demonstration – Klick auf die Benachrichtigung führt zum Sprung in die Activity
*
* Stellen Sie sicher, dass kein Aufruf von {@link MTPushPrivatesApi#configOldPushVersion(Context)} erfolgt, sonst funktioniert der Sprung nach Klick nicht.
* <p>
* Kein Aufruf von {@link MTPushPrivatesApi#reportNotificationOpened(Context, String, byte, String)} nötig – das SDK verarbeitet dies intern.
*/
public class UserActivity400 extends Activity {
private static final String TAG = "UserActivity400";
private TextView tvMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intent);
tvMessage = findViewById(R.id.tv_message);
onIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
onIntent(intent);
}
private void onIntent(Intent intent) {
try {
Toast.makeText(this, TAG, Toast.LENGTH_SHORT).show();
if (intent == null) {
return;
}
Bundle bundle = intent.getExtras();
NotificationMessage notificationMessage = bundle.getParcelable("message");
if (notificationMessage == null) {
return;
}
ExampleLogger.d(TAG, "notificationMessage:" + notificationMessage.toString());
tvMessage.setText(notificationMessage.toString());
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
}
Diesen Codeblock im schwebenden Fenster anzeigen
<!-- Klick auf die Benachrichtigung zum Demonstrieren und für spätere Versionen -->
<activity
android:name="com.engagelab.app.component.UserActivity400"
android:exported="false"
android:launchMode="singleTask" />
<!--Lokale Transit-Whitelist-Prüfung: Ab MTPush4.2.3 und Konfiguration von ENGAGELAB_ PRIVATES_ TRANSFER prüft das SDK lokal; ohne Konfiguration keine lokale Authentifizierung. Bei aktivierter Prüfung hier die Ziel-Activity angeben; bei mehreren Ziel-Activities mit / trennen.-->
<meta-data
android:name="ENGAGELAB_PRIVATES_TRANSFER"
android:value="com.engagelab.app.component.UserActivity400" />
<!-- Klick auf die Benachrichtigung zum Demonstrieren und für spätere Versionen -->
<activity
android:name="com.engagelab.app.component.UserActivity400"
android:exported="false"
android:launchMode="singleTask" />
<!--Lokale Transit-Whitelist-Prüfung: Ab MTPush4.2.3 und Konfiguration von ENGAGELAB_ PRIVATES_ TRANSFER prüft das SDK lokal; ohne Konfiguration keine lokale Authentifizierung. Bei aktivierter Prüfung hier die Ziel-Activity angeben; bei mehreren Ziel-Activities mit / trennen.-->
<meta-data
android:name="ENGAGELAB_PRIVATES_TRANSFER"
android:value="com.engagelab.app.component.UserActivity400" />
Diesen Codeblock im schwebenden Fenster anzeigen

