バックグラウンドで通知メッセージを送信
ディストリビューションコレクション:コンピュータにPostManをダウンロードし、ソフトウェアの左上にあるリンクをインポートします:https://www.getpostman.com/collections/618d2460851f697dc22c
通知の形式は以下の通りです:
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": "notification title",
"alert": "notification content",
"builder_id": 0,
"category": "alarm",
"small_icon": "mtpush_notification_icon",
"large_icon": "mtpush_notification_icon",
"extras": {
"notification key": "notification value"
},
"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": "Farewell to Cambridge is a popular poem of modern poet Xu Zhimo and a representative work of the New Moon School. The whole poem takes the emotional ups and downs when leaving Cambridge as a clue to express the deep feelings for leaving Cambridge. The language is light and soft, and the form is exquisite and mellow. The poet uses the method of combining the virtual and the real to describe the flowing pictures, which constitute a beautiful artistic conception everywhere. The poet's love for Cambridge, his nostalgia for the past life, and his helpless sorrow for parting in front of him are expressed in detail in a sincere, rich and meaningful way, which is the last song in Xu Zhimo's poems.",
"inbox": {
"inbox1": "this is inbox one",
"inbox2": "this is inbox two",
"inbox3": "this is inbox three"
},
"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": "notification title",
"alert": "notification content",
"builder_id": 0,
"category": "alarm",
"small_icon": "mtpush_notification_icon",
"large_icon": "mtpush_notification_icon",
"extras": {
"notification key": "notification value"
},
"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": "Farewell to Cambridge is a popular poem of modern poet Xu Zhimo and a representative work of the New Moon School. The whole poem takes the emotional ups and downs when leaving Cambridge as a clue to express the deep feelings for leaving Cambridge. The language is light and soft, and the form is exquisite and mellow. The poet uses the method of combining the virtual and the real to describe the flowing pictures, which constitute a beautiful artistic conception everywhere. The poet's love for Cambridge, his nostalgia for the past life, and his helpless sorrow for parting in front of him are expressed in detail in a sincere, rich and meaningful way, which is the last song in Xu Zhimo's poems.",
"inbox": {
"inbox1": "this is inbox one",
"inbox2": "this is inbox two",
"inbox3": "this is inbox three"
},
"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
}
}
}
}'
このコードブロックはフローティングウィンドウ内に表示されます
パラメータ説明
プロパティ | サポートされているチャネル | タイプ | 意味 |
---|---|---|---|
title | すべて | String | オプション、タイトル |
alert | すべて | String | 必須、内容 |
builder_id | Engagelabのみ | int | オプション。カスタムスタイルのID。デフォルトではシステムスタイルを使用します。 |
category | Engagelabのみ | String | |
large_icon | Engagelabのみ | String | オプション。大きなアイコン。通常、通知の右側に配置されます。 |
extras | すべて | JsonObject | オプション。追加フィールド。キー/値の形式はStringです。 |
priority | Engagelabのみ | int | オプション。通知の緊急度。デフォルト値:0。 |
alert_type | Engagelabのみ | int | オプション。通知はリングトーン、振動、LEDライトに使用されます。デフォルト値はNotification.DEFAULT_ALL:-1です。リングトーン、Notification.DEFAULT_SOUND:1振動、Notification.DEFAULT_VIBRATE:2 LEDライト、Notification.DEFAULT_LIGHTS:4これら3つのシーンは自由に組み合わせることができます。たとえば、7の場合はリングトーン、振動、LEDライトがあることを意味します。 |
sound | Engagelab/Google/Xiaomi | String | |
channel_id | Engagelab/Google/Huawei/Xiaomi/Oppo | String | オプション。Android8.0から必要です。sdkが事前に設定されていない場合は、設定を支援します(アプリがフォアグラウンドにあるときのEngagelabチャネルとGoogleチャネルのみ)。 |
badge_add_num | Engagelab/Huawei/Xiaomi | int | オプション。アプリケーションのコーナーラベルの数を増やし、ロジックを累積します。 |
badge_class | Engagelab/Huawei/Xiaomi | String | オプション。アプリケーションのMainActivityはコーナー表示に使用されます。 |
style | Engagelabのみ | int | オプション。通知はリングトーン、振動、LEDライトに使用されます。3つのシーンは自由に組み合わせることができます。Android 8.0では、この属性はチャネルに従います。たとえば、7の場合はリングトーン、振動、LEDライトがあることを意味します。デフォルト値はNotification.DEFAULT_ALL:-1です。 |
big_text | Engagelabのみ | String | オプション。大きなテキスト。スタイルはNOTIFICATION_STYLE_BIG_TEXTです。 |
inbox | Engagelabのみ | JsonObject | オプション。インボックス。スタイルはNOTIFICATION_STYLE_INBOXです。 |
big_pic_path | Engagelabのみ | String | オプション。大きな画像。スタイルはNOTIFICATION_STYLE_BIG_PICTUREです。 |
Intent:url | すべて | String | オプション。MTPush4.0.0で有効になります。通知(Engagelab +すべてのベンダー)をクリックしてからジャンプします。現在、activityのみがサポートされています。Intent.toURI() で変換されます |
Androidクライアントでactivityを構成するサンプルコード:
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;
/**
* デモンストレーション用 - 通知をクリックしてactivityにジャンプする
*
* {@link MTPushPrivatesApi#configOldPushVersion(Context)}を呼び出さないでください。そうしないと、「ジャンプ」をクリックしてもこのページにジャンプしません。
* <p>
* {@link MTPushPrivatesApi#reportNotificationOpened(Context, String, byte, String)}を呼び出す必要はありません。sdkは内部で処理済みです。
*/
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;
/**
* デモンストレーション用 - 通知をクリックしてactivityにジャンプする
*
* {@link MTPushPrivatesApi#configOldPushVersion(Context)}を呼び出さないでください。そうしないと、「ジャンプ」をクリックしてもこのページにジャンプしません。
* <p>
* {@link MTPushPrivatesApi#reportNotificationOpened(Context, String, byte, String)}を呼び出す必要はありません。sdkは内部で処理済みです。
*/
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();
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
<!-- 通知をクリックしてデモンストレーション用およびそれ以降のバージョンにジャンプする -->
<activity
android:name="com.engagelab.app.component.UserActivity400"
android:exported="false"
android:launchMode="singleTask" />
<!-- ホワイトリストのローカルトランジット検証:MTPush4.2.3から、ENGAGELAB_ PRIVATES_ TRANSFERを構成すると、SDKはローカル検証を実行します。構成しない場合はローカル認証を実行しません。ローカル検証を有効にする場合は、ここでジャンプするターゲットactivityを構成してください。複数のターゲットactivityがある場合は、/で区切って使用してください。-->
<meta-data
android:name="ENGAGELAB_PRIVATES_TRANSFER"
android:value="com.engagelab.app.component.UserActivity400" />
<!-- 通知をクリックしてデモンストレーション用およびそれ以降のバージョンにジャンプする -->
<activity
android:name="com.engagelab.app.component.UserActivity400"
android:exported="false"
android:launchMode="singleTask" />
<!-- ホワイトリストのローカルトランジット検証:MTPush4.2.3から、ENGAGELAB_ PRIVATES_ TRANSFERを構成すると、SDKはローカル検証を実行します。構成しない場合はローカル認証を実行しません。ローカル検証を有効にする場合は、ここでジャンプするターゲットactivityを構成してください。複数のターゲットactivityがある場合は、/で区切って使用してください。-->
<meta-data
android:name="ENGAGELAB_PRIVATES_TRANSFER"
android:value="com.engagelab.app.component.UserActivity400" />
このコードブロックはフローティングウィンドウ内に表示されます