バックグラウンドで通知メッセージを送信

ディストリビューションコレクション:コンピュータに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
  • オプション。通知タイプ。通知のソートまたはフィルタリングに使用されます。
  • さまざまなタイプがあり、Notification.CATEGORY_ALARMやNotification#CATEGORY_CALLなどです。
  • large_icon Engagelabのみ String オプション。大きなアイコン。通常、通知の右側に配置されます。
    extras すべて JsonObject オプション。追加フィールド。キー/値の形式はStringです。
    priority Engagelabのみ int オプション。通知の緊急度。デフォルト値:0。
  • 低レベル、LEDライト、振動、リングトーンなしで通知されます。Notification.PRIORITY_LOW:-1
  • 通常、通知にはLEDライト、振動、リングトーンが可能です。Notification.PRIORITY_DEFAULT:0
  • 高度、通知にはLEDライト、振動、リングトーンが可能で、フローティングウィンドウをポップアップすることもできます。Notification.PRIORITY_HIGH:1
  • 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
  • オプション。通知に付属するリングトーンは、事前にres/rawディレクトリに保存されている必要があります。
  • Android8.0から、リングトーンはチャネルに従います。通知で使用されるチャネルにリングトーンが設定されていない場合、この通知はカスタムリングトーンでは有効になりません。
  • 事前にチャネルでリングトーンを設定することを推奨します。後で通知を送信するとき、サウンドはchannelIdのリングトーンと一致するため、通知リングトーンの効果が一致します。
  • 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です。
  • リングトーン、Notification.DEFAULT_SOUND:1
  • 振動、Notification.DEFAULT_VIBRATE:2
  • LEDライト、Notification.DEFAULT_LIGHTS:4
  • 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" />
    
                
    このコードブロックはフローティングウィンドウ内に表示されます
    icon
    お問い合わせ