Membuat Push API

Kirim notifikasi atau pesan ke satu perangkat atau ke daftar perangkat. Konten yang dikirim hanya berupa objek push dalam format JSON.

Ini adalah versi terbaru dari Push API. Peningkatan pada versi v4 meliputi:

  • Menggunakan HTTP Basic Authentication untuk otorisasi akses. Dengan cara ini, semua permintaan API dapat dilakukan menggunakan alat HTTP umum, seperti: curl, plug-in browser, dan lainnya.
  • Konten push sepenuhnya dalam format JSON.

Batas Frekuensi Permintaan

API kami menerapkan batas frekuensi panggilan untuk menjaga stabilitas dan keadilan layanan. Batas QPS (Queries Per Second) untuk setiap AppKey adalah:

  • Batas Standar: Maksimal 500 permintaan per detik.
  • Batas Lanjutan: Jika Anda adalah pelanggan paket berbayar dan AppKey Anda membutuhkan batas QPS lebih tinggi, silakan hubungi tim bisnis kami: Sales@engagelab.com.

Metode Permintaan

POST

Alamat Endpoint

Alamat layanan antarmuka sesuai dengan pusat data yang dipilih. Silakan pilih alamat endpoint yang sesuai dengan pusat data aplikasi Anda.

Saat ini, EngageLab menyediakan dua pusat data, dan data antar pusat data benar-benar terpisah. Pilih alamat endpoint sesuai pusat data yang dipilih saat membuat produk.

POST v4/push
              
              POST v4/push

            
Tampilkan blok kode ini di jendela mengambang

Validasi Permintaan

Untuk informasi lebih lanjut, lihat ringkasan REST API pada Metode Autentikasi.

Contoh Permintaan

Header Permintaan

> POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
Tampilkan blok kode ini di jendela mengambang

Body Permintaan

{ "from": "push", "to": "all", "body": { "platform": "all", "notification": { "alert" :"Hello, Push!", "android": { "alert": "Hi, Push!", "title": "Kirim ke Android", "builder_id": 1, "extras": { "newsid": 321 } }, "ios": { "alert": "Hi, MTPush!", "sound": "default", "badge": "+1", "extras": { "newsid": 321 } } }, "options": { "time_to_live": 60, "apns_production": false } }, "request_id": "12345678", "custom_args":{ "Engagelab": "push untuk Anda" } }' > POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              {
    "from": "push",
    "to": "all",
    "body": {
        "platform": "all",
        "notification": {
            "alert" :"Hello, Push!",
            "android": {
                "alert": "Hi, Push!",
                "title": "Kirim ke Android",
                "builder_id": 1,
                "extras": {
                    "newsid": 321
                }
            },
            "ios": {
                "alert": "Hi, MTPush!",
                "sound": "default",
                "badge": "+1",
                "extras": {
                    "newsid": 321
                }
            }
        },
        "options": {
            "time_to_live": 60,
            "apns_production": false
        }
    },
    "request_id": "12345678",
    "custom_args":{
             "Engagelab": "push untuk Anda"
    }
}'
> POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
Tampilkan blok kode ini di jendela mengambang

Parameter Permintaan

Struktur parameter push dijelaskan pada tabel berikut:

Kata Kunci Tipe Opsi Makna
from String Opsional Pengirim layanan saat ini
to String/JSON Wajib Target pengiriman
body JSON Object Wajib Body permintaan pengiriman
platform String/Array Wajib Platform Push
notification JSON Object Opsional
  • Isi notifikasi, yaitu konten yang dikirim ke klien.
  • Harus salah satu dengan message; tidak bisa bersamaan.
  • message JSON Object Opsional
  • Isi pesan, yaitu konten yang dikirim ke klien.
  • Harus salah satu dengan notification; tidak bisa bersamaan.
  • options JSON Object Opsional Parameter push
    request_id String Opsional Field opsional untuk mengidentifikasi permintaan pada respons.
    custom_args JSON Object Opsional Field opsional yang dikembalikan pada callback. Maksimal 128 karakter.

    from

    Pengirim layanan saat ini, tipe String, field opsional.

    Contoh Permintaan

    { "from":"push" }
                  
                  {
        "from":"push"
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    to

    Objek Perangkat Push, menunjukkan daftar perangkat yang dapat dikirimi push. Penentuan target perangkat push bisa menggunakan alias, tag, registration ID, subgroup, broadcast, dan lainnya.

    Target Push

    Beberapa cara memilih perangkat selain broadcast:

    Kata Kunci Tipe Makna Deskripsi Catatan
    all String Broadcast Push ke semua perangkat Target push adalah perangkat aktif dalam 365 hari terakhir.
    tag JSON Array Tag Array. Relasi antar tag adalah OR (gabungan). Segmentasi perangkat atau pengguna dalam skala besar.
  • Maksimal 20 tag per push.
  • Kombinasi tag: huruf (case sensitive), angka, underscore, karakter Tionghoa.
  • Panjang tag maksimal 40 byte (UTF-8).
  • tag_and JSON Array Tag AND Array. Tag saling AND (irisan). Maksimal 20 tag per push.
    tag_not JSON Array Tag NOT Array. Gabungan beberapa label lalu diambil komplemennya. Maksimal 20 tag per push.
    alias JSON Array Alias Array. Alias adalah OR (gabungan). Identifikasi pengguna dengan alias.
  • Satu perangkat hanya bisa satu alias, dan sebaliknya.
  • Maksimal 1000 alias per push.
  • Kombinasi alias: huruf (case sensitive), angka, underscore, karakter Tionghoa.
  • Panjang alias maksimal 40 byte (UTF-8).
  • registration_id JSON Array Registration ID Array. Registration ID adalah OR (gabungan). Identifikasi perangkat. Maksimal 1000 per push.
    live_activity_id String ID Aktivitas Real-time Sesuai liveActivityId di SDK iOS. Wajib saat memperbarui aktivitas real-time.
    seg JSON ID Grup Pengguna ID grup pengguna yang dibuat di halaman. Saat ini hanya bisa satu per push.

    Hubungan implisit antar beberapa nilai dalam array adalah OR (gabungan); namun tag_and adalah AND (irisan).

    Jika tag_not digunakan sendiri, maka pemrosesan tag_not dilakukan di antara pengguna broadcast.

    Tipe-tipe ini dapat digunakan bersamaan. Hubungan implisit antar beberapa polynomial saat bersamaan adalah AND (irisan). Contoh:

    "to" : {"tag" : [ "tag1", "tag2"], "tag_and" : ["tag3", "tag4"], "tag_not" : ["tag5", "tag6"] }

    Hitung hasil field "tag" terlebih dahulu tag1 atau tag2 = A;

    Lalu hitung hasil field "tag_and" tag3 dan tag4 = B;

    Lalu hitung hasil field "tag_not" bukan (tag5 atau tag6) = C;

    Hasil akhir dari "to" adalah A dan B dan C .


    Contoh

    • Push ke semua perangkat (broadcast):
    { "to": "all", }
                  
                  {
      "to": "all",
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push ke beberapa tag (cukup salah satu tag): di Shenzhen, Guangzhou, atau Beijing
    { "to":{ "tag":[ "Shenzhen", "Guangzhou", "Beijing" ] } }
                  
                  {
        "to":{
            "tag":[
                "Shenzhen",
                "Guangzhou",
                "Beijing"
            ]
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push ke beberapa tag (harus memenuhi semua tag): di Shenzhen dan "perempuan"
    { "to":{ "tag_and":[ "Shenzhen", "female" ] } }
                  
                  {
        "to":{
            "tag_and":[
                "Shenzhen",
                "female"
            ]
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push ke beberapa alias:
    { "to":{ "alias":[ "4314", "892", "4531" ] } }
                  
                  {
        "to":{
            "alias":[
                "4314",
                "892",
                "4531"
            ]
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push ke beberapa registration ID:
    { "to": { "registration_id": [ "4312kjklfds2", "8914afd2", "45fdsa31" ] } }
                  
                  {
      "to": {
        "registration_id": [
          "4312kjklfds2",
          "8914afd2",
          "45fdsa31"
        ]
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push ke beberapa tipe target sekaligus: di Shenzhen atau Guangzhou dan "perempuan" "anggota"
    { "to":{ "tag":[ "Shenzhen", "Guangzhou" ], "tag_and":[ "female", "members" ] } }
                  
                  {
        "to":{
            "tag":[
                "Shenzhen",
                "Guangzhou"
            ],
            "tag_and":[
                "female",
                "members"
            ]
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    • Push pesan live activity
    { "to": { "live_activity_id": "LiveActivity-1" } }
                  
                    {
          "to": {
              "live_activity_id": "LiveActivity-1"
          }
      }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Push ke ID segmentasi pengguna:

    { "to": { "seg": { "id":"segid" } } }
                  
                  {
      "to": {
        "seg": {
          "id":"segid"
        }
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Body

    Body permintaan push. Field yang didukung sebagai berikut:

    Kata Kunci Tipe Opsi Makna
    platform String/Array Wajib Platform push
    notification JSON Object Opsional
  • Isi notifikasi, yaitu konten yang dikirim ke klien.
  • Harus salah satu dengan message; tidak bisa bersamaan.
  • message JSON Object Opsional
  • Isi pesan, yaitu konten yang dikirim ke klien.
  • Harus salah satu dengan notification; tidak bisa bersamaan.
  • live_activity JSON Object Opsional
  • Isi pesan aktivitas real-time.
  • Harus salah satu dengan notification atau message; tidak bisa bersamaan.
  • options JSON Object Opsional Parameter push

    Platform

    MTPush mendukung push ke Android, iOS, dan HarmonyOS. Kata kuncinya: "android", "ios", "hmos".

    Jika target platform adalah iOS, Anda harus mengatur lingkungan push melalui field apns_production di options. true berarti push ke lingkungan produksi, false berarti ke lingkungan pengembangan.

    Push ke semua platform:

    { "platform" : "all" }
                  
                  { "platform" : "all" }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Pilih platform tertentu:

    { "platform": [ "android", "ios", "hmos" ] }
                  
                  {
      "platform": [
        "android",
        "ios",
        "hmos"
      ]
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Notification

    Objek "Notification" adalah salah satu entitas konten push (satunya lagi "Message"), dikirim ke klien sebagai notifikasi.

    Kata Kunci Tipe Opsi Makna Deskripsi
    alert String/JSON Wajib Konten Isi pesan. Jika alert tidak diisi di bawah android/ios, maka digunakan alert di sini.
    android JSON Object Opsional Properti android Parameter push Android, lihat deskripsi android
    ios JSON Object Opsional Properti ios Parameter push iOS, lihat deskripsi ios
    hmos JSON Object Opsional Properti hmos Parameter push HarmonyOS, lihat deskripsi hmos

    Alert

    Properti "alert" di sini (langsung di bawah notification) adalah shortcut. Jika pesan alert sama di semua platform, cukup di sini. Jika ada di tiap platform, maka menimpa yang di sini.

    { "notification" : { "alert" : "Hello, Push!" } }
                  
                  {
      "notification" : {
        "alert" : "Hello, Push!"
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Objek notification di atas akan dikirim ke semua platform yang ditentukan oleh "platform" dan semua akan menerima pesan notifikasi yang sama.

    Android

    Notifikasi di Android ditampilkan oleh MTPush SDK sesuai gaya notifikasi bar. Field yang didukung:

    Kata Kunci Tipe Data Opsional Makna Deskripsi
    alert String/JSON Wajib Konten Notifikasi
  • Jika diisi, menimpa alert di parent.
  • String kosong tidak tampil di notifikasi bar.
  • Lihat Batas Push.
  • title String Opsional Judul Notifikasi
  • Jika diisi, menggantikan nama aplikasi di notifikasi.
  • Lihat Batas Push.
  • builder_id Int Opsional ID Gaya Notifikasi Bar Android SDK dapat mengatur layout notifikasi custom, field ini menentukan gaya yang digunakan.
    channel_id String Opsional ID Channel Notifikasi Android Maksimal 1000 byte, mulai Android 8.0, Anda dapat mengatur Notification Channels.
    priority Int Opsional Prioritas Tampilan Notifikasi Bar Default 0, rentang -2 sampai 2.
    category String Opsional Filter atau Urutan Notifikasi Bar Bergantung pada strategi produsen perangkat.
    style Int Opsional Tipe Gaya Notifikasi Bar Default 0. 1=bigText, 2=Inbox, 3=bigPicture
    big_text String Opsional Gaya Notifikasi Bar Big Text
  • Untuk style = 1, konten ditampilkan sebagai big text.
  • Didukung ROM API 16 ke atas.
  • inbox JSONObject Opsional Gaya Notifikasi Bar Item Teks
  • Untuk style = 2, maksimal 5 item, tiap item 1024 karakter. Contoh: {"box0":"konten1"}.
  • Didukung ROM API 16 ke atas.
  • big_pic_path String Opsional Gaya Notifikasi Bar Gambar Besar
  • Untuk style = 3, dukung JPEG (hanya FCM), .BMP (hanya FCM), .jpg, .png.
  • Dukung URL gambar, path lokal (relatif di SD card).
  • Didukung ROM API 16 ke atas.
  • Ukuran gambar maksimal 1MB.
  • extras JSON Object Opsional Field Tambahan Definisikan Key/Value custom dalam format JSON untuk kebutuhan bisnis.
    intent JSON Object Opsional Tentukan Halaman Tujuan Navigasi Gunakan intent untuk menentukan halaman tujuan saat notifikasi diklik. Disarankan isi field ini. Mendukung tiga tipe:
  • Ke halaman tujuan: intent:#Intent;action=action path;component=nama paket/nama activity lengkap;end
  • Ke halaman utama: intent:#Intent;action=android.intent.action.MAIN;end
  • Ke deeplink: scheme://test?key1=val1&key2=val2
  • large_icon String Opsional Ikon Notifikasi Besar
  • Ukuran ikon maksimal 300 KB.
  • Dukung URL gambar, path lokal.
  • small_icon String Opsional Ikon Notifikasi Kecil
  • Ikon kecil, path bisa URL gambar, maksimal 300 KB.
  • Jika small_icon_uri tidak diisi, gunakan field ini.
  • sound String Opsional Suara
  • Isi nama file suara di /res/raw/ proyek Android tanpa ekstensi.
  • Catatan: Untuk Android 8.0 ke atas, atribut ini tidak berlaku jika channel_id diisi.
  • badge_add_num Int Opsional Tambahan Badge
  • Hanya untuk Huawei EMUI 8.0 ke atas, Xiaomi MIUI 6 ke atas, dan vivo dengan channel produsen.
  • Jika tidak diisi, badge tidak berubah (Xiaomi default +1).
  • Rentang nilai: 1-99.
  • badge_set_num Int Opsional Setel Nilai Badge
  • Jika tidak diisi, badge tidak berubah.
  • Rentang nilai: 0-99. Jika diatur, badge aplikasi selalu sesuai nilai ini.
  • badge_class String Opsional Kelas Activity Entry Aplikasi
  • Hanya untuk push channel Huawei. Jika diisi dengan Activity non-main, berlaku pembatasan produsen.
  • Untuk badge increment, wajib isi bersama badge_add_num.
  • display_foreground String Opsional Tampilkan notifikasi saat app foreground
  • "1": notifikasi tetap muncul di bar saat app foreground.
  • "0": tidak muncul.
  • Default: tetap muncul. Didukung mulai MTPush Android SDK v4.3.1.
  • group_id String Opsional ID Grup Pesan Penanda unik pengelompokan pesan, untuk collapse pesan. Didukung mulai MTPush Android SDK v5.0.1.
    { "notification": { "android": { "alert": "hello, MTPush!", "title": "Tes Push", "builder_id": 3, "style": 1, "big_text": "isi big text", "inbox":JSONObject, "big_pic_path": "url gambar", "priority": 0, "category": "kategori string", "large_icon": "http://pushapi-sgp.engagelab.comlargeIcon.jpg", "small_icon": "http://www.small.com/small_icon.jpg", "intent": { "url": "intent:#Intent;component=push.pushapi-sgp.engagelab.com/com.example.mtpushdemo.SettingActivity;end" }, "extras": { "news_id": 134, "my_key": "nilai" } } } }
                  
                  {
        "notification": {
            "android": {
                "alert": "hello, MTPush!",
                "title": "Tes Push",
                "builder_id": 3,
                "style": 1,
                "big_text": "isi big text",
                "inbox":JSONObject,
                "big_pic_path": "url gambar",
                "priority": 0,
                "category": "kategori string",
                "large_icon": "http://pushapi-sgp.engagelab.comlargeIcon.jpg",
                "small_icon": "http://www.small.com/small_icon.jpg",
                "intent": {
                    "url": "intent:#Intent;component=push.pushapi-sgp.engagelab.com/com.example.mtpushdemo.SettingActivity;end"
                },
                "extras": {
                    "news_id": 134,
                    "my_key": "nilai"
                }
            }
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    iOS

    Notifikasi APNs di iOS.

    Konten notifikasi dikirim oleh MTPush ke server Apple APNs dan ditampilkan di perangkat iOS sebagai notifikasi sistem.

    Field notifikasi sesuai spesifikasi APNs dan mendukung:

    Kata Kunci Tipe Opsi Makna Deskripsi
    alert String/JSON Wajib Isi notifikasi
  • Menimpa alert di parent.
  • Kosong, tidak tampil di notifikasi bar.
  • Dukung string atau alert payload resmi struktur, berisi key seperti title dan subtitle.
  • sound String/JSON Opsional Suara notifikasi
  • Umum: String.
  • Jika tidak ada, tidak ada suara;
  • Jika diisi, suara dimainkan jika ditemukan, jika tidak, suara default.
  • Kosong: iOS 7 default sound, iOS 8+ tanpa suara.
  • Alert: JSON Object, dukung payload resmi berisi critical, name, volume.
  • badge Int/String Opsional Penanda badge aplikasi
  • Nilai N bisa N, +N, atau -N, rentang [0,99]. Jika badge 10, badge akan di-set ke N, 10+N, 10-N (default badge dibersihkan jika <0).
  • 0 atau kosong, badge dibersihkan.
  • Jika tidak diisi, badge tidak berubah.
  • SDK MTPush mengisi badge "+1" secara default.
  • content-available Boolean Opsional Push untuk membangunkan "content-available":true artinya Background Remote Notification, jika tidak, Remote Notification biasa.
    mutable-content Boolean Opsional Ekstensi notifikasi Fitur Notification Service Extension di iOS 10 untuk status pengiriman tiap pesan APNs, butuh implementasi Service Extension interface di klien dan gunakan field mutable-content di server.
  • true: Mendukung fitur UNNotificationServiceExtension iOS 10.
  • Jika tidak diisi, Remote Notification biasa dan tidak bisa dihitung data kedatangan.
  • category String Opsional Hanya didukung di iOS 8. Isi field "category" di payload APNs.
    extras JSON Object Opsional Field tambahan Informasi Key/value custom untuk kebutuhan bisnis.
    thread-id String Opsional Grup notifikasi Notifikasi remote iOS dikelompokkan berdasarkan property ini.
    interruption-level String Opsional Level gangguan notifikasi Untuk iOS 15, level: active,critical,passive,timeSensitive, lihat: UNNotificationInterruptionLevel

    Notifikasi iOS untuk MTPush diteruskan ke server APNs. Panjang notifikasi MTPush dibatasi 4000 byte. MTPush menggunakan encoding utf-8, satu karakter Tionghoa = 3 byte.

    Contoh pengiriman server:

    { "notification": { "ios": { "alert": "hello, Push!", "sound": "sound.caf", "badge": 1, "extras": { "news_id": 134, "my_key": "nilai" } } } }
                  
                  {
        "notification": {
            "ios": {
                "alert": "hello, Push!",
                "sound": "sound.caf",
                "badge": 1,
                "extras": {
                    "news_id": 134,
                    "my_key": "nilai"
                }
            }
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Pesan yang diterima klien:

    { "_j_msgid" = 813843507; aps = { alert = "hello,Push!"; badge = 1; sound = "sound.caf"; }; "my_key" = "nilai"; "news_id" = 134; }
                  
                  {
      "_j_msgid" = 813843507;
      aps =     {
      alert = "hello,Push!";
      badge = 1;
      sound = "sound.caf";
    };
    "my_key" = "nilai";
    "news_id" = 134;
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    hmos

    Notifikasi di HarmonyOS ditampilkan oleh MTPush SDK sesuai gaya notifikasi bar. Field yang didukung:

    Kata Kunci Tipe Opsi Makna Deskripsi
    alert String Wajib Isi notifikasi Menimpa alert parent jika diisi. Kosong menyembunyikan dari notifikasi bar. Lihat Batas Push.
    title String Opsional Judul notifikasi Menggantikan nama aplikasi jika diisi. Lihat Batas Push.
    category String Wajib Kategori pesan Wajib oleh vendor. Ikuti standar kategori pesan Harmony.
    large_icon String Opsional Ikon besar Hanya URL HTTPS, misal https://contoh.com/image.png. ≤30KB, width*height < 12800 pixel.
    intent JSONObject Wajib Target navigasi Tiga tipe didukung: 1) Beranda aplikasi: action.system.home 2) Deeplink: scheme://host?key=val 3) Action: com.test.action. Contoh: {"url":"action.system.home"}.
    badge_add_num Int Opsional Tambahan badge Jika tidak diisi, badge tidak berubah. Rentang 1-99. Ditambah ke badge saat ini.
    badge_set_num Int Opsional Set nilai badge Jika tidak diisi, badge tidak berubah. Rentang 0-99. Badge di-set ke nilai tetap.
    test_message Boolean Opsional Penanda pesan uji false: normal (default); true: pesan uji.
    receipt_id String Opsional ID receipt Huawei ID unik untuk konfigurasi receipt Harmony downlink.
    extras JSON Opsional Field tambahan JSON custom K/V untuk bisnis.
    style Int Opsional Gaya notifikasi Default 0. 0: normal; 3: multi-line text.
    inbox_content [String] Opsional Konten multi-line text Wajib jika style=3. Maks 3 item. Tiap item ≤1024 karakter; dipotong dengan “…”.
    push_type Int Opsional Tipe push Default 0. Didukung: 0-notifikasi, 2-notifikasi lanjutan, 10-VoIP call. Lainnya tidak valid.
    extra_data String Opsional Data tambahan Mapping ke Huawei extraData. Wajib jika push_type=2 atau 10; diabaikan jika push_type=0.
    display_foreground String Opsional Tampilkan notifikasi saat app foreground "1": tampilkan; "0": tidak tampilkan.

    Contoh:

    { "notification": { "hmos": { "alert": "Hi, MTPush!", "title": "", "category": "", "intent": {"url": ""}, "badge_add_num": 1, "test_message": true, "receipt_id": "", "extras": {}, "style": 0, "inbox_content": [], "push_type": 0, "extra_data": "", "display_foreground": "1" } } }
                  
                  {
      "notification": {
        "hmos": {
          "alert": "Hi, MTPush!",
          "title": "",
          "category": "",
          "intent": {"url": ""},
          "badge_add_num": 1,
          "test_message": true,
          "receipt_id": "",
          "extras": {},
          "style": 0,
          "inbox_content": [],
          "push_type": 0,
          "extra_data": "",
          "display_foreground": "1"
        }
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Message

    Pesan dalam aplikasi (pesan custom, pesan pass-through).

    • Tidak tampil di notifikasi bar, SDK MTPush menerima pesan dan meneruskannya ke aplikasi.
    • iOS menerima bagian ini melalui channel pesan in-app push (bukan APNS) saat aplikasi di foreground.

    Field yang didukung:

    Kata Kunci Tipe Opsi Makna
    msg_content String/JSON Wajib Isi pesan
    title String Opsional Judul pesan
    content_type String Opsional Tipe konten
    extras JSON Object Opsional Parameter opsional JSON
    test_message Boolean Opsional Penanda pesan uji, untuk HarmonyOS
    receipt_id String Opsional ID receipt Huawei, untuk HarmonyOS

    Contoh:

    { "message": { "msg_content": "Hi,Push", "content_type": "text", "title": "msg", "extras": { "key": "value" } } }
                  
                  {
      "message": {
        "msg_content": "Hi,Push",
        "content_type": "text",
        "title": "msg",
        "extras": {
          "key": "value"
        }
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Live_activity

    Catatan: Pesan aktivitas real-time membutuhkan sertifikat iOS P8, yang sesuai dengan memilih "Konfigurasi Autentikasi Token" di Pengaturan metode autentikasi iOS WebPortal.

    Body pesan aktivitas real-time mencakup field berikut:

    Kata Kunci Tipe Opsi Deskripsi
    ios JSON Object Wajib Untuk detail field, lihat bagian iOS JSON Object.

    iOS JSON Object

    Kata Kunci Tipe Opsi Deskripsi
    event string Wajib Pembuatan: "start", Update: "update", Akhir: "end"; wajib saat event=start
    attributes-type string Opsional Tipe aktivitas real-time, nilai developer; wajib saat event=start
    content-state JSON Object Wajib Konten dinamis aktivitas real-time, sesuai nilai SDK klien (content-state Apple).
    alert JSON Object Opsional Lihat iOS alert JSON Object untuk detail.
    dismissal-date int Opsional Waktu tampil akhir aktivitas real-time.
    attributes JSON Object Opsional Konten statis aktivitas real-time, sesuai nilai SDK klien (attributes Apple).
    stale-date int Opsional Waktu kedaluwarsa aktivitas real-time; jika kurang dari waktu saat ini, aktivitas tidak akan diperbarui.
    relevance-score int Opsional Prioritas tampil aktivitas real-time di Dynamic Island, nilai 1-100, makin tinggi makin penting; default tertinggi jika tidak diisi.
    apns-priority int Opsional 5 atau 10, default 10; notifikasi dengan apns-priority=5 tidak mengurangi rate limit Apple, jika melebihi limit maka notifikasi dibatasi.

    iOS alert JSON Object

    Kata Kunci Tipe Opsi Deskripsi
    title string Opsional Judul di Apple Watch.
    body string Opsional Isi di Apple Watch.
    sound string Opsional Suara notifikasi.
    • Pesan aktivitas real-time iOS untuk Engagelab Push diteruskan ke server Apple. Apple membatasi data update dinamis aktivitas real-time (ActivityKit) maksimal 4096 byte.
    • Engagelab Push membatasi total panjang parameter "live_activity" untuk "iOS": { } maksimal 3584 byte. JPush memakai encoding UTF-8, satu karakter Tionghoa = 3 byte.

    Contoh Push Aktivitas Real-time

    attributes-type dan live_activity_id untuk aktivitas real-time dilaporkan dari SDK developer. Sebelum menggunakan aktivitas real-time, token push-to-start dan update-token perangkat harus dilaporkan. Lihat instruksi aktivitas real-time Apple.

    • Membuat

      { "from": "push", "to": { "registration_id": [ "161a3797c816b134042" ] }, "body": { "platform": "ios", "live_activity": { "ios": { "event": "start", "content-state": { "eventStr": "hello", "eventTime":1685952000 }, "attributes": { "name": "1", "number": 2, "tag": "mytag" }, "alert": { "title": "hello", "body": "welcome" }, "attributes-type": "my_la_type", "relevance-score": 100, "apns-priority": 100 } } }, "request_id": "12345678", "custom_args": "12345678" }
                    
                    {
          "from": "push",
         "to": {
              "registration_id": [
                  "161a3797c816b134042"
              ]
          },
          "body": {
              "platform": "ios",
              "live_activity": {
                  "ios": {
                      "event": "start",
                      "content-state": {
                          "eventStr": "hello",
                          "eventTime":1685952000
                      },
                      "attributes": {
                          "name": "1",
                          "number": 2,
                          "tag": "mytag"
                      },
                      "alert": {
                          "title": "hello",
                          "body": "welcome"
                      },
                      "attributes-type": "my_la_type",
                      "relevance-score": 100,
                      "apns-priority": 100
                  }
              }
          },
          "request_id": "12345678",
          "custom_args": "12345678"
      }
      
                  
      Tampilkan blok kode ini di jendela mengambang
    • Memperbarui

      { "from": "push", "to": { "live_activity_id": "my_la_id" }, "body": { "platform": "ios", "live_activity": { "ios": { "event": "update", "content-state": { "eventStr": "test_live", "eventTime": 198 }, "alert": { "title": "123411", "body": "123411" } } } }, "request_id": "12345678", "custom_args": "12345678" }
                    
                    {
         "from": "push",
         "to": {
               "live_activity_id": "my_la_id"
          },
          "body": {
              "platform": "ios",
              "live_activity": {
                  "ios": {
                      "event": "update",
                      "content-state": {
                          "eventStr": "test_live",
                          "eventTime": 198
                      },
      
                      "alert": {
                          "title": "123411",
                          "body": "123411"
                      }
                  }
              }
          },
          "request_id": "12345678",
          "custom_args": "12345678"
      }
      
                  
      Tampilkan blok kode ini di jendela mengambang

    Voip

    Fungsi VOIP iOS. Tipe ini tidak bisa bersamaan dengan tipe pesan iOS lain. Lihat struktur parameter permintaan:

    { "from": "push", "to": { "registration_id": [ "1a0018970a91da03de5" ] }, "request_id": "12345", "custom_args": "12345", "body": { "platform": "ios", "voip": { "key": "value // Key/value custom apa pun yang akan diteruskan ke APP" } } }
                  
                  { 
        "from": "push", 
        "to": { 
            "registration_id": [ "1a0018970a91da03de5" ] 
        }, 
        "request_id": "12345", 
        "custom_args": "12345", 
        "body": { 
            "platform": "ios", 
            "voip": { 
                "key": "value // Key/value custom apa pun yang akan diteruskan ke APP" 
            } 
        } 
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Options

    Opsi notifikasi push saat ini meliputi:

    Kata Kunci Tipe Opsi Makna Deskripsi
    time_to_live Int/String Opsional Waktu retensi pesan offline (detik) Jika pengguna offline saat push, pesan bisa disimpan dan dikirim ulang saat online. Default 86400 (1 hari), maksimal 15 hari. Jika batas operator lebih kecil, gunakan maksimal operator. Jika 0, pesan offline tidak disimpan; hanya pengguna online saat push yang menerima pesan.
    override_msg_id Long Opsional ID pesan yang akan dioverride Untuk menimpa push sebelumnya, masukkan msg_id push sebelumnya. Fitur override berlaku 1 hari. Jika msg_id tidak ada dalam waktu itu, error 7006, dan pesan tidak dikirim. Hanya untuk Android dan channel tertentu.
    apns_production Boolean Opsional Lingkungan produksi APNs Hanya untuk Notifikasi iOS.
  • true: Push ke produksi;
  • false: Push ke pengembangan.
  • Default: Jika "Certificate for development" aktif, default false. Jika tidak, default true. Sebaiknya selalu isi field ini.
  • apns_collapse_id String Opsional ID untuk update notifikasi iOS Jika notifikasi APNs baru sama dengan notifikasi di Notification Center dengan apns-collapse-id yang sama, konten baru akan memperbarui notifikasi tersebut. Maksimal 64 byte.
    big_push_duration Int Opsional Durasi push bertahap (menit) Slow push, mendistribusikan push ke pengguna target selama n menit; maksimal 1440.
    multi_language json object Opsional Pengaturan push multibahasa Pengaturan konten push multibahasa, lihat multi_language untuk detail.
    third_party_channel JSON Object Opsional Konfigurasi channel produsen Android Parameter untuk channel produsen, lihat third_party_channel untuk detail.
    classification Int Opsional Pengaturan klasifikasi pesan push EngageLab tidak menilai tipe pesan yang ditentukan. Jika tidak diisi, default 0. 0: Pesan operasional. 1: Pesan sistem.
    voice_value String Opsional Nilai file suara Parameter dipisahkan koma, '#' untuk parsing; jika tidak, cocokkan file bahasa default. Bahasa didukung: "en", "zh-Hans", "zh-Hant". Jika bahasa push tidak cocok, konten tidak diubah ke broadcast suara.
    enhanc_message Bool Opsional Aktifkan tampilan pesan dalam aplikasi true - aktifkan; false - nonaktifkan. Jika izin notifikasi dimatikan, fitur ini akan menampilkan konten pesan notifikasi bar sebagai pesan dalam aplikasi saat pengguna menjalankan aplikasi di foreground. Default false dan hanya aktif jika diaktifkan eksplisit.
    plan_id String Opsional Penanda Rencana Push Harus buat penanda rencana terlebih dahulu. Bisa di konsol atau API.
    cid String Opsional Penanda permintaan push, mencegah push duplikat Hanya huruf, angka, underscore, dan minus, maksimal 64 karakter. Harus unik di bawah AppKey yang sama.Cara Menghindari Push Duplikat
    auto_truncation bool Opsional Apakah otomatis memotong pesan yang terlalu panjang untuk channel vendor Default true. Jika body pesan ke channel vendor terlalu panjang, otomatis dipotong. Jika tidak ingin dipotong, isi false.

    Multi_language

    Field ini untuk fitur push multibahasa dari EngageLab Push. Anda bisa mengirim konten notifikasi yang disesuaikan untuk pengguna dengan bahasa berbeda. Dengan menentukan beberapa bahasa beserta konten pesan, judul, dan subtitle iOS pada permintaan push, Anda dapat mengirim notifikasi push yang sesuai dengan pengaturan bahasa pengguna.

    Parameter Permintaan
    Kata Kunci Tipe Opsi Makna Deskripsi
    en string Opsional Kode bahasa Sesuai bahasa pengguna, lihat lampiran kode bahasa.
    content string Opsional Isi pesan Mengganti data di notification.android.alert, notification.ios.alert, notification.web.alert, dan message.msg_content sesuai bahasa pengguna.
    title string Opsional Judul pesan Mengganti data di notification.android.title, notification.ios.alert, notification.web.title, dan message.title sesuai bahasa pengguna.
    ios_subtitle string Opsional Subtitle iOS Mengganti data di notification.ios.alert sesuai bahasa pengguna.
    • Catatan HarmonyOS: Untuk HarmonyOS, gunakan third_party_channel.hmos.distribution_new. Tidak terpengaruh oleh konfigurasi global.
    Contoh Permintaan
    Metode HTTP: POST URL Permintaan: /v4/grouppush atau /v4/push Format Data Permintaan: JSON Contoh Permintaan: { "options": { "multi_language": { "en": { "content": "", "title": "", "ios_subtitle": "" } } } }
                  
                     Metode HTTP: POST
       URL Permintaan: /v4/grouppush atau /v4/push
       Format Data Permintaan: JSON
       Contoh Permintaan:
       {
        "options": {
          "multi_language": {
            "en": {
              "content": "",
              "title": "",
              "ios_subtitle": ""
            }
          }
        }
       }
    
                
    Tampilkan blok kode ini di jendela mengambang
    Contoh Respons
    Respons Berhasil: { }
                  
                  Respons Berhasil:
    {
       
    }
    
                
    Tampilkan blok kode ini di jendela mengambang
    Respons Gagal: { "code": 400, "data": "", "message": "Pesan Error" }
                  
                  
    Respons Gagal:
    {   
        "code": 400,  
        "data": "",
      "message": "Pesan Error"
    }   
    
                
    Tampilkan blok kode ini di jendela mengambang

    Third_party_channel

    Field ini digunakan untuk mengisi informasi personalisasi channel produsen Android, key mendukung channel: xiaomi, huawei, meizu, oppo, vivo, fcm, honor, hmos. Bisa ada satu atau lebih bersamaan, KEY tiap vendor dapat berisi opsi berikut:

    Parameter Permintaan
    Kata Kunci Tipe Opsi Makna Deskripsi
    distribution_new String Wajib _ Jika Engagelab dan channel vendor bersamaan, atur prioritas downlink.
  • mtpush: push wajib ke channel Engagelab.
  • pns_mtpush: untuk kombinasi fcm+vendor domestik, push wajib ke Xiaomi/Huawei/Meizu/oppo/Vivo/Honor dulu, jika gagal baru ke Engagelab.
  • mtpush_pns: untuk kombinasi fcm+vendor domestik, push prioritas ke Engagelab, jika gagal baru ke vendor.
  • fcm_mtpush: untuk kombinasi fcm+vendor domestik, push wajib ke fcm dulu, jika gagal baru ke Engagelab.
  • mtpush_fcm: untuk kombinasi fcm+vendor domestik, push prioritas ke Engagelab, jika gagal baru ke fcm. ``_Catatan: Untuk empat strategi pns_mtpush/fcm_mtpush/mtpush_pns/mtpush_fcm, Jika perangkat hanya punya satu channel push (FCM atau vendor), strategi FCM dan vendor akan diabaikan, channel sistem yang tersedia akan digunakan.
  • channel_id String Opsional Kategori pesan notifikasi bar
  • Untuk adaptasi kategori notifikasi Xiaomi, Huawei, dan OPPO, developer harus mendaftar ke vendor terkait. Lihat: Panduan Kategori Notifikasi Vendor.
  • Catatan: Untuk aplikasi dengan data di China region untuk Huawei tidak mendukung field ini. Lihat Huawei Custom Notification Channels.
  • Field channel_id juga tersedia di Android. Jika field ini diisi, akan diutamakan; jika tidak, gunakan android.channel_id.
  • Penting: OPPO akan menerapkan aturan kategori notifikasi baru mulai 20 November 2024, disarankan isi field ini bersama field category dan notify_level di bawah.
  • classification Int Opsional Kategori pesan notifikasi bar Kategori pesan notifikasi bar produsen vivo, default 0.
  • 0: pesan operasional.
  • 1: pesan sistem. ``Vivo lebih ketat dalam klasifikasi pesan sistem, lihat: platform developer vivo untuk aturan detail.
  • pushMode Int Opsional Mode push vivo Default 0. Lihat pushMode vivoUntuk push uji, harus atur ID perangkat uji di backend vivo.
  • 0: Push resmi.
  • 1:Push uji.
  • importance String Opsional Klasifikasi cerdas pesan notifikasi Huawei/Glory Untuk adaptasi klasifikasi cerdas notifikasi bar Huawei, sesuai field importance Huawei, default "NORMAL", lihat: Klasifikasi pesan Huawei
  • LOW: Pesan umum.
  • NORMAL: Pesan penting.
  • HIGH: Pesan sangat penting (hanya didukung Huawei)
  • urgency String Opsional Prioritas pesan custom vendor Huawei Untuk adaptasi prioritas pesan custom vendor Huawei.
  • HIGH: Pesan sangat penting, dapat memaksa aplikasi aktif saat pesan masuk.
  • NORMAL: Pesan penting. ``Untuk set "HIGH", harus mendaftar izin khusus ke Huawei, lihat:Cara mendaftar izin khusus
  • category String Opsional Logo skenario pesan custom vendor Huawei
    notify_level Int Opsional Level alert pesan notifikasi bar OPPO
    small_icon_uri String Opsional Gaya ikon kecil pesan vendor
    small_icon_color String Opsional Warna gaya ikon kecil produsen Xiaomi
    big_text String Opsional Gaya teks besar pesan vendor
    only_use_vendor_style Boolean Opsional Apakah hanya menggunakan gaya channel sendiri
    big_picture_id String Opsional ID gambar besar OPPO
    small_picture_id String Opsional ID ikon kecil OPPO

    Untuk menyatukan strategi multi-channel vendor dan menyederhanakan logika konfigurasi, metode konfigurasi field distribution_new disesuaikan sebagai berikut. Konfigurasi level vendor lama Anda tetap berlaku, tetapi disarankan untuk beralih secara bertahap ke konfigurasi global untuk menghindari risiko kompatibilitas di masa depan. (Aturan baru berlaku mulai 2025.04.03):

    • Prioritas Konfigurasi (Aturan Baru)
      • Prioritas Pertama: Konfigurasi global third_party_channel.distribution_new (Metode baru yang direkomendasikan)
        Contoh: "distribution_new": "pns_mtpush"
      • Prioritas Kedua: Konfigurasi level vendor third_party_channel.{vendor_key}.distribution_new (Metode kompatibel lama)
        Hanya berlaku saat konfigurasi global tidak diatur
      • Tanpa Konfigurasi: strategi default: pns_mtpush

    Catatan Kompatibilitas

    • Jaminan Kompatibilitas: Konfigurasi level vendor lama tetap berfungsi jika field global tidak diatur, memastikan tidak ada dampak pada layanan yang ada.
    • Resolusi Konflik: Jika field global dan level vendor keduanya dikonfigurasi, hanya nilai global yang akan dibaca, dan konfigurasi level vendor akan diabaikan.
    • Rencana Jangka Panjang: distribution_new level vendor mungkin akan dihapus di versi mendatang. Silakan adaptasi terlebih dahulu jika memungkinkan.
    Contoh Permintaan
    { "third_party_channel": { "distribution_new": "pns_mtpush", "xiaomi": { "channel_id": "*******", "small_icon_uri": "http://f6.market.xiaomi.com/download/MiPass/x/x.png", "small_icon_color": "#ABCDEF" }, "huawei": { "importance": "NORMAL", "small_icon_uri": "https://xx.com/xx.jpg", "only_use_vendor_style": true }, "oppo": { "channel_id": "*******", "big_picture_id": "", "small_picture_id": "" }, "vivo": { "pushMode": 0 }, "hmos": { "distribution_new": "pns_mtpush" } } }
                  
                  {
        "third_party_channel": {
            "distribution_new": "pns_mtpush",
            "xiaomi": {
                "channel_id": "*******",
                "small_icon_uri": "http://f6.market.xiaomi.com/download/MiPass/x/x.png",
                "small_icon_color": "#ABCDEF"
            },
            "huawei": {
                "importance": "NORMAL",
                "small_icon_uri": "https://xx.com/xx.jpg",
                "only_use_vendor_style": true
            },
            "oppo": {
                "channel_id": "*******",
                "big_picture_id": "",
                "small_picture_id": ""
            },
            "vivo": {
                "pushMode": 0
            },
            "hmos": {
                "distribution_new": "pns_mtpush"
            }
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Request_id

    ID permintaan, field opsional yang ditentukan oleh pelanggan. Digunakan oleh klien untuk mengidentifikasi permintaan mana yang sedang dibuat dan dikembalikan pada respons.

    Contoh Permintaan

    { "request_id":"12345678" }
                  
                  {
          "request_id":"12345678"
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Contoh Pengembalian

    { "msg_id": "1225764", "request_id": "12345678" }
                  
                  {
        "msg_id": "1225764",
        "request_id": "12345678"
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Custom_args

    Ditentukan oleh pelanggan, field opsional yang tidak dikembalikan pada respons dan dikembalikan pada callback.

    Contoh Permintaan

    { "custom_args":{ "args1": "args1" } }
                  
                  {
      "custom_args":{
        "args1": "args1"
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Pengembalian

    Pengembalian Berhasil

    Field Tipe Opsi Deskripsi
    request_id String Opsional ID kustom yang dikirim saat permintaan dikembalikan apa adanya pada respons.
    message_id String Wajib ID pesan, yang secara unik mengidentifikasi sebuah pesan.
    < HTTP/1.1 200 OK < Content-Type: application/json {"request_id":"18","msg_id":"1828256757"}
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {"request_id":"18","msg_id":"1828256757"}
    
                
    Tampilkan blok kode ini di jendela mengambang

    Pengembalian Gagal

    Kode status http adalah 4xx atau 5xx dan body respons berisi field berikut:

    Field Tipe Opsi Deskripsi
    code int Wajib Kode error, lihat deskripsi Kode Error
    message String Wajib Detail Error
    { "error":{ "code": 3002, "message": "Push.template field must be set correctly when type is template" } }
                  
                  {
        "error":{
        "code": 3002,
        "message": "Push.template field must be set correctly when type is template"
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Pengembalian Panggilan

    Kode Status HTTP

    Dokumen Referensi:HTTP-Status-Code

    Kode Error

    Kode Deskripsi Penjelasan Detail Kode Status HTTP
    20101 Parameter push tidak valid ID registrasi tidak valid atau bukan milik appkey saat ini 400
    21001 Hanya mendukung metode HTTP Post Tidak mendukung metode Get 405
    21002 Parameter wajib tidak ada Harus diperbaiki 400
    21003 Nilai parameter tidak valid Harus diperbaiki 400
    21004 Verifikasi gagal Harus diperbaiki, lihat: Verifikasi panggilan 401
    21005 Body pesan terlalu besar Harus diperbaiki, batas panjang Notifikasi/Pesan adalah 4000 byte 400
    21008 Parameter app_key tidak valid Harus diperbaiki, periksa appkey yang dikirim dengan info aplikasi, periksa spasi tambahan 400
    21009 Error sistem internal Silakan hubungi tim support 400
    21011 Tidak ditemukan target push yang sesuai Periksa field 'to' 400
    21015 Validasi parameter permintaan gagal Terdapat parameter yang tidak diharapkan 400
    21016 Validasi parameter permintaan gagal Tipe parameter error, atau panjang parameter melebihi batas 400
    21030 Timeout layanan internal Coba lagi nanti 503
    21050 Parameter event live_activity salah Parameter event harus "start", "update", atau "end" 400
    21051 Parameter audience live_activity salah Saat membuat live activity, target push hanya bisa broadcast atau berbasis registrasi 400
    21052 Parameter attributes-type live_activity salah Saat event=start, attributes-type tidak boleh kosong 400
    21053 Parameter content-state live_activity salah Content-state tidak boleh kosong 400
    21054 Error parameter live_activity, notifikasi dan pesan kustom tidak boleh bersamaan voip, message, notification, live_activity tidak bisa bersamaan 400
    21055 live_activity ios non-p8 certificate Live activity hanya mendukung sertifikat p8 400
    21056 live_activity hanya mendukung platform ios Parameter platform harus ios 400
    21057 Pesan voip tidak boleh bersamaan dengan tipe pesan lain voip, message, notification, live_activity tidak bisa bersamaan 400
    21058 voip hanya mendukung platform ios Parameter platform harus ios 400
    23006 Error parameter Push fixed-rate big_push_duration melebihi nilai maksimum 1440 400
    23008 Antarmuka dibatasi rate QPS antarmuka push aplikasi tunggal mencapai batas (500 qps) 400
    23009 Error izin push Alamat IP push saat ini tidak ada di whitelist IP aplikasi 400
    27000 Error memori internal Silakan coba lagi 500
    27001 Error parameter Informasi verifikasi kosong 401
    27008 Error parameter Distribution di third_party_channel tidak kosong, tetapi konten alert notifikasi kosong 401
    27009 Error parameter Format distribution di third_party_channel tidak valid atau kosong 401
    21038 Error izin push VIP kedaluwarsa atau tidak diaktifkan 401
    21306 Error parameter Pesan notifikasi dan pesan kustom tidak bisa dipush bersamaan 401
    21059 Error parameter Tipe pesan ini tidak mendukung big_push_duration 401

    Batasan Push

    Channel Vendor Panjang Judul Panjang Konten Kata Sensitif Catatan Lain
    Channel Engagelab Tidak dibatasi, tapi total ukuran pesan dibatasi Tidak dibatasi, tapi total ukuran pesan dibatasi Kata yang dikonfigurasi berdasarkan fitur kata sensitif Panjang Notifikasi/Pesan di MTPush dibatasi 4000 byte.
    Channel Huawei Tidak dibatasi, tapi total ukuran pesan < 4096 byte, disarankan judul ≤ 40 karakter Tidak dibatasi, tapi total ukuran pesan < 4096 byte, disarankan konten ≤ 1024 karakter Dilarang membawa konten terkait pemerintah, nama pemimpin, kemerdekaan Taiwan, dll. Izin default untuk [Notifikasi Pemasaran] adalah notifikasi senyap, tanpa suara atau getaran.
    Channel Honor Tidak dibatasi, tapi total ukuran pesan < 4096 byte Tidak dibatasi, tapi total ukuran pesan < 4096 byte Dilarang membawa konten terkait pemerintah, nama pemimpin, kemerdekaan Taiwan, dll. -
    Channel Meizu ≤ 32 karakter ≤ 100 karakter Karakter khusus seperti # dilarang
  • Karakter Cina dan Inggris dihitung sebagai 1 karakter.
  • Beberapa pesan mungkin disimpan di [Kotak Pesan Meizu] di pojok kanan atas ponsel Meizu.
  • Channel Xiaomi ≤ 50 karakter ≤ 128 karakter Karakter khusus seperti #, >> dilarang
  • Karakter Cina dan Inggris dihitung sebagai 1 karakter. Emoji dihitung sebagai dua karakter.
  • Beberapa pesan mungkin muncul di notifikasi tidak penting di bilah notifikasi.
  • Channel OPPO ≤ 50 karakter Panjang konten dibatasi oleh gaya notifikasi: 1) Gaya standar (style=1): panjang string konten ≤ 50; 2) Gaya teks panjang (style=2): panjang string konten ≤ 128; 3) Gaya gambar besar (style=3): panjang string konten ≤ 50. Kata yang dikonfigurasi berdasarkan fitur kata sensitif Perhitungan panjang string: Karakter Cina, Inggris, dan simbol khusus (misalnya emoji) semuanya dihitung sebagai 1 karakter.
    Channel vivo ≤ 40 karakter ≤ 100 karakter
  • Karakter khusus seperti #, >> dilarang.
  • Pesan formal dilarang mengandung: angka murni, Inggris murni, simbol murni, simbol dengan angka, test, uji, kurung kurawal, kurung siku, dll.
  • Karakter Cina dan Inggris dihitung sebagai 1 karakter.
  • Izin notifikasi dinonaktifkan secara default.
  • Pesan operasional tidak boleh melebihi 5 push per perangkat per hari.
  • Pesan operasional identik tidak boleh dipush ke perangkat yang sama lebih dari sekali per hari.
  • Channel APNS ≤ 20 karakter (40 karakter Inggris), bagian yang melebihi akan menampilkan elipsis.
  • Pusat notifikasi dan layar kunci menampilkan hingga 110 karakter, 55 karakter Cina.
  • Banner atas menampilkan hingga 62 karakter, 31 karakter Cina, bagian yang melebihi akan menampilkan elipsis.
  • Kata yang dikonfigurasi berdasarkan fitur kata sensitif Ukuran body pesan dibatasi 4 KB (4096 byte). Ukuran maksimum untuk notifikasi VoIP adalah 5 KB (5120 byte).
    Channel FCM Tidak dibatasi, tapi total ukuran pesan dibatasi Tidak dibatasi, tapi total ukuran pesan dibatasi Kata yang dikonfigurasi berdasarkan fitur kata sensitif Panjang Notifikasi/Pesan di MTPush dibatasi 4000 byte.
    Channel Harmony Tidak dibatasi, tapi total ukuran pesan dibatasi Tidak dibatasi, tapi total ukuran pesan dibatasi Kata yang dikonfigurasi berdasarkan fitur kata sensitif Ukuran body pesan tidak boleh melebihi 4096 Byte (tidak termasuk Push Token).

    Kode Multi-bahasa

    Bahasa Kode
    Inggris en
    Arab ar
    Cina (Sederhana) zh-Hans
    Cina (Tradisional) zh-Hant
    Ceko cs
    Denmark da
    Belanda nl
    Prancis fr
    Jerman de
    Hindi hi
    Italia it
    Jepang ja
    Korea ko
    Melayu ms
    Rusia ru
    Spanyol es
    Thailand th
    Vietnam vi
    Indonesia id
    Norwegia no
    Swedia sv
    Polandia pl
    Turki tr
    Ibrani he
    Portugis pt
    Rumania ro
    Hungaria hu
    Finlandia fi
    Yunani el
    Ukraina uk
    Laos lo
    Portugis (Portugal) pt_PT
    Portugis (Brasil) pt_BR
    Spanyol (Argentina) es_AR
    Spanyol (Spanyol) es_ES
    Spanyol (Amerika Latin) es_419
    Icon Solid Transparent White Qiyu
    Hubungi Sales