All Products
Search
Document Center

Mobile Platform as a Service:Hubungkan menggunakan Java SDK

Last Updated:Jan 21, 2026

Topik ini menjelaskan cara mengintegrasikan MSS di sisi server menggunakan Java SDK.

Impor paket JAR

Setelah mengonfigurasi Maven, tambahkan dependensi berikut ke file pom.xml utama:

Catatan

Untuk pengguna di luar zona keuangan, versi terbaru Message Push V2.0 SDK adalah 5.0.2. Untuk pengguna di zona keuangan, versi terbaru Message Push V2.0 SDK adalah 2.1.11.

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>mpaas20201028</artifactId>
    <version>5.0.1</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>tea-openapi</artifactId>
    <version>0.3.6</version>
</dependency>

Konfigurasikan variabel lingkungan

Konfigurasikan variabel lingkungan MPAAS_AK_ENV dan MPAAS_SK_ENV.

  • Untuk Linux dan macOS, jalankan perintah berikut:

    export MPAAS_AK_ENV=<access_key_id>
    export MPAAS_SK_ENV=<access_key_secret>
    Catatan

    Ganti access_key_id dengan ID AccessKey Anda dan access_key_secret dengan Rahasia AccessKey Anda.

  • Konfigurasi sistem Windows

    1. Buat variabel lingkungan MPAAS_AK_ENV dan MPAAS_SK_ENV, lalu atur nilainya ke ID AccessKey dan Rahasia AccessKey Anda.

    2. Mulai ulang Windows.

Referensi API

API sinkronisasi data tunggal

API sinkronisasi data tunggal menyinkronkan data ke pengguna atau perangkat tertentu.

Deskripsi parameter

Parameter tersebut adalah sebagai berikut:

Nama

Tipe

Wajib

Contoh

Deskripsi

appId

String

Ya

ONEX570DA892117

ID Aplikasi yang diperoleh dari Konsol mPaaS.

workspaceId

String

Ya

PROD

ID Ruang Kerja yang diperoleh dari Konsol mPaaS.

bizType

String

Ya

UCHAT

Identitas sinkronisasi yang dikonfigurasi di Konsol mPaaS. Untuk informasi selengkapnya, lihat Ikhtisar konsol.

linkToken

String

Ya

ID target dorong. Jika Anda mendorong data berdasarkan pengguna, masukkan ID pengguna. Jika sinkronisasi dikonfigurasi untuk mendorong data berdasarkan perangkat, masukkan ID perangkat.

payload

String

Ya

testtestatapalayd

Isi pesan bisnis aktual. Formatnya dapat disesuaikan. Panjangnya tidak boleh melebihi 4.096 karakter.

thirdMsgId

String

Ya

1760339273

ID permintaan sinkronisasi data. ID harus unik dalam identitas sinkronisasi yang sama. Permintaan dengan ID duplikat akan diabaikan. ID harus kurang dari 100 byte.

osType

String

Tidak

iOS/Android

Menyaring dorongan berdasarkan platform seluler. Secara default, parameter ini tidak dilewatkan, dan tidak ada penyaringan yang dilakukan. Data didorong ke platform iOS dan Android.

appMinVersion

String

Tidak

0.0.0.0

Menyaring dorongan berdasarkan versi client. Data hanya didorong ke client dengan nomor versi lebih besar dari atau sama dengan nilai ini.

appMaxVersion

String

Tidak

100.100.100.100

Menyaring dorongan berdasarkan versi client. Data hanya didorong ke client dengan nomor versi kurang dari atau sama dengan nilai ini.

validTimeStart

String

Tidak

1584448493913

Data hanya didorong ketika waktu saat ini lebih besar dari atau sama dengan `validTimeStart`.

validTimeEnd

String

Tidak

1584452093913

Data hanya didorong ketika waktu saat ini kurang dari atau sama dengan `validTimeEnd`.

Kode hasil untuk sinkronisasi data tunggal

Kode hasil

Deskripsi

Solusi

SUCCESS

Berhasil

Berhasil

ARGS_IS_NULL

Parameter yang diperlukan kosong.

Periksa bahwa semua parameter yang diperlukan telah disediakan.

PAYLOAD_LONG

Muatan pesan terlalu panjang.

Periksa bahwa panjang parameter payload tidak melebihi batas.

THIRD_MSG_ID_LONG

ID bisnis pihak ketiga terlalu panjang.

Periksa bahwa panjang ID bisnis pihak ketiga tidak melebihi batas.

BIZ_NOT_ONLINE

Identitas sinkronisasi untuk skenario bisnis belum dipublikasikan.

Buka Konsol mPaaS > Sinkronisasi Data. Periksa apakah identitas sinkronisasi yang sesuai dengan `bizType` telah dikonfigurasi dan dipublikasikan.

THIRD_MSG_ID_IS_NULL

ID bisnis pihak ketiga kosong.

Periksa bahwa ID bisnis pihak ketiga tidak kosong.

SYSTEM_ERROR

Terjadi kesalahan sistem.

Hubungi dukungan teknis untuk mengidentifikasi penyebab kesalahan.

INVALID_TENANT_ID

ID penyewa tidak valid.

Periksa bahwa appId benar dan Anda memiliki izin untuk menggunakannya.

Contoh kode

import com.alibaba.fastjson.JSON;
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.CreateOpenSingleDataRequest;
import com.aliyun.mpaas20201028.models.CreateOpenSingleDataResponse;
import com.aliyun.teaopenapi.models.Config;

public static void main(String[] args) throws Exception {
    // AccessKey Akun Alibaba Cloud memiliki akses penuh ke semua API. Kami menyarankan Anda menggunakan pengguna Resource Access Management (RAM) untuk panggilan API dan O&M rutin.
    // Untuk mencegah kebocoran AccessKey dan melindungi resource Anda, jangan simpan ID AccessKey dan Rahasia AccessKey Anda dalam kode proyek.
    // Contoh ini menunjukkan cara menyimpan ID AccessKey dan Rahasia AccessKey dalam variabel lingkungan. Anda juga dapat menyimpannya dalam file konfigurasi sesuai kebutuhan.
    Config config = new Config();
    // Wajib. ID AccessKey Anda.
    config.setAccessKeyId(System.getenv("MPAAS_AK_ENV"));
    // Wajib. Rahasia AccessKey Anda.
    config.setAccessKeySecret(System.getenv("MPAAS_SK_ENV"));
    // REGION_ID dan Endpoint mPaaS. Contoh ini menggunakan wilayah non-keuangan di Hangzhou.
    config.setRegionId("cn-hangzhou");
    config.setEndpoint("mpaas.cn-hangzhou.aliyuncs.com");
    Client client = new Client(config);

    CreateOpenSingleDataRequest singleRequest = new CreateOpenSingleDataRequest();
    //*************Properti wajib*************/
    
    // ID Aplikasi yang diperoleh dari Konsol mPaaS.
    singleRequest.setAppId("xxxxxxx");
    // ID Ruang Kerja yang diperoleh dari Konsol mPaaS.
    singleRequest.setWorkspaceId("xxxxxxxx");
    // Identitas sinkronisasi yang dikonfigurasi di Mobile Sync di Konsol mPaaS.
    singleRequest.setBizType("TEST-SYNC");
    // ID pengguna atau perangkat (UTDID) yang dituju.
    singleRequest.setLinkToken("testUserId");
    // Isi pesan bisnis aktual. Panjang kustom tidak boleh melebihi 4.096 karakter.
    singleRequest.setPayload("testPayload");
    // ID bisnis. Harus unik dan tidak boleh melebihi 100 karakter.
    singleRequest.setThirdMsgId("test_third_msg_id_" + System.currentTimeMillis());

    //************Properti opsional*************/
    
    // OS perangkat target. Nilai yang valid: iOS dan Android. Jika dikosongkan, OS tidak dibatasi.
    singleRequest.setOsType("IOS");
    // Nomor versi client minimum, seperti 8.6.0.0.9999. Jika dikosongkan, versi minimum tidak dibatasi.
    singleRequest.setAppMinVersion("0.0.0.0");
    // Nomor versi client maksimum, seperti 9.0.0.0.9999. Jika dikosongkan, versi maksimum tidak dibatasi.
    singleRequest.setAppMaxVersion("100.100.100.100");
    // Awal periode validitas. Jika dikosongkan, waktu mulai tidak dibatasi.
    singleRequest.setValidTimeStart(System.currentTimeMillis());
    // Akhir periode validitas. Jika dikosongkan, waktu akhir tidak dibatasi. Periode validitas maksimum adalah 30 hari.
    singleRequest.setValidTimeEnd(System.currentTimeMillis() + (1000 * 3600));

    CreateOpenSingleDataResponse openSingleData = client.createOpenSingleData(singleRequest);
    System.out.println("response==>"+JSON.toJSONString(openSingleData));
}
Penting

Pastikan AccessKey Anda memiliki izin `AliyunMPAASFullAccess`. Untuk informasi selengkapnya, lihat Kontrol akses tingkat aplikasi untuk akun RAM.

API sinkronisasi data global

Sinkronisasi data global menyinkronkan data ke semua perangkat.

Deskripsi parameter

Berikut adalah parameter bisnisnya:

Nama

Tipe

Wajib

Contoh

Deskripsi

appId

String

Ya

ONEX570DA892117

ID Aplikasi yang diperoleh dari Konsol mPaaS.

workspaceId

String

Ya

PROD

ID Ruang Kerja yang diperoleh dari Konsol mPaaS.

bizType

String

Ya

UCHAT

Identitas sinkronisasi yang dikonfigurasi di Konsol mPaaS. Untuk informasi selengkapnya, lihat Ikhtisar konsol.

payload

String

Ya

testtestatapalayd

Isi pesan bisnis aktual. Formatnya dapat disesuaikan. Panjangnya tidak boleh melebihi 4.096 karakter.

thirdMsgId

String

Ya

1760339273

ID permintaan sinkronisasi data. ID harus unik dalam identitas sinkronisasi yang sama. Permintaan dengan ID duplikat akan diabaikan. ID harus kurang dari 100 byte.

osType

String

Tidak

IOS/ANDROID

Menyaring dorongan berdasarkan platform seluler. Secara default, parameter ini tidak dilewatkan, dan tidak ada penyaringan yang dilakukan. Data didorong ke platform iOS dan Android.

appMinVersion

String

Tidak

0.0.0.0

Menyaring dorongan berdasarkan versi client. Data hanya didorong ke client dengan nomor versi lebih besar dari atau sama dengan nilai ini.

appMaxVersion

String

Tidak

100.100.100.100

Menyaring dorongan berdasarkan versi client. Data hanya didorong ke client dengan nomor versi kurang dari atau sama dengan nilai ini.

validTimeStart

String

Tidak

1584448493913

Data hanya didorong ketika waktu saat ini lebih besar dari atau sama dengan `validTimeStart`.

validTimeEnd

String

Tidak

1584452093913

Data hanya didorong ketika waktu saat ini kurang dari atau sama dengan `validTimeEnd`.

maxUid

Long

Tidak

99

UID maksimum untuk rentang sinkronisasi (digit kedua dan ketiga dari belakang ID pengguna atau ID perangkat). Jika digit tersebut bukan huruf, ubah ke kode ASCII.

minUid

Long

Tidak

00

UID minimum untuk rentang sinkronisasi (digit kedua dan ketiga dari belakang ID pengguna atau ID perangkat). Jika digit tersebut bukan huruf, ubah ke kode ASCII.

uids

String

Tidak

01,02,99

Parameter ini memiliki prioritas lebih tinggi daripada `maxUid` dan `minUid`. Menentukan segmen ID pengguna diskret (digit kedua dan ketiga dari belakang ID pengguna atau ID perangkat). Jika digit tersebut bukan huruf, ubah ke kode ASCII.

Kode hasil untuk sinkronisasi data global

Kode hasil

Deskripsi

Solusi

SUCCESS

Berhasil

Berhasil

ARGS_IS_NULL

Parameter yang diperlukan kosong.

Periksa bahwa semua parameter yang diperlukan telah disediakan.

PAYLOAD_LONG

Muatan pesan terlalu panjang.

Periksa bahwa panjang parameter payload tidak melebihi batas.

THIRD_MSG_ID_LONG

ID bisnis pihak ketiga terlalu panjang.

Periksa bahwa panjang ID bisnis pihak ketiga tidak melebihi batas.

BIZ_NOT_ONLINE

Identitas sinkronisasi untuk skenario bisnis belum dipublikasikan.

Buka Konsol mPaaS > Sinkronisasi Data. Periksa apakah identitas sinkronisasi yang sesuai dengan `bizType` telah dikonfigurasi dan dipublikasikan.

THIRD_MSG_ID_IS_NULL

ID bisnis pihak ketiga kosong.

Periksa bahwa ID bisnis pihak ketiga tidak kosong.

SYSTEM_ERROR

Terjadi kesalahan sistem.

Hubungi dukungan teknis untuk mengidentifikasi penyebab kesalahan.

NOT_SUPPORT_GLOBAL

Identitas sinkronisasi tidak mendukung panggilan global.

Buka Konsol mPaaS > Sinkronisasi Data. Periksa apakah identitas sinkronisasi yang sesuai dengan `BizType` dikonfigurasi untuk mendorong ke pengguna atau perangkat tertentu.

INVALID_TENANT_ID

ID penyewa tidak valid.

Periksa bahwa appId benar dan Anda memiliki izin untuk menggunakannya.

Contoh kode

import com.alibaba.fastjson.JSON;
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.CreateOpenGlobalDataRequest;
import com.aliyun.mpaas20201028.models.CreateOpenGlobalDataResponse;
import com.aliyun.teaopenapi.models.Config;

public static void main(String[] args) throws Exception {
    // AccessKey Akun Alibaba Cloud memiliki akses penuh ke semua API. Kami menyarankan Anda menggunakan pengguna Resource Access Management (RAM) untuk panggilan API dan O&M rutin.
    // Untuk mencegah kebocoran AccessKey dan melindungi resource Anda, jangan simpan ID AccessKey dan Rahasia AccessKey Anda dalam kode proyek.
    // Contoh ini menunjukkan cara menyimpan ID AccessKey dan Rahasia AccessKey dalam variabel lingkungan. Anda juga dapat menyimpannya dalam file konfigurasi sesuai kebutuhan.
    Config config = new Config();
    // Wajib. ID AccessKey Anda.
    config.setAccessKeyId(System.getenv("MPAAS_AK_ENV"));
    // Wajib. Rahasia AccessKey Anda.
    config.setAccessKeySecret(System.getenv("MPAAS_SK_ENV"));
    // REGION_ID dan Endpoint mPaaS. Contoh ini menggunakan wilayah non-keuangan di Hangzhou.
    config.setRegionId("cn-hangzhou");
    config.setEndpoint("mpaas.cn-hangzhou.aliyuncs.com");
    Client client = new Client(config);

    CreateOpenGlobalDataRequest globalRequest = new CreateOpenGlobalDataRequest();
    //*************Properti wajib*************/

    // ID Aplikasi yang diperoleh dari Konsol mPaaS.
    globalRequest.setAppId("BE9C457161429");
    // ID Ruang Kerja yang diperoleh dari Konsol mPaaS.
    globalRequest.setWorkspaceId("sit");
    // Identitas sinkronisasi yang dikonfigurasi di Mobile Sync di Konsol mPaaS.
    globalRequest.setBizType("test-global");
    // Isi pesan bisnis aktual. Panjang kustom tidak boleh melebihi 4.096 karakter.
    globalRequest.setPayload("testtestata");
    // ID bisnis. Harus unik dan tidak boleh melebihi 100 karakter.
    globalRequest.setThirdMsgId("test_third_msg_id_" + System.currentTimeMillis());

    //************Properti opsional*************/

    // OS perangkat target. Nilai yang valid: iOS dan Android. Jika dikosongkan, OS tidak dibatasi.
    globalRequest.setOsType("IOS");
    // Nomor versi client minimum, seperti 8.6.0.0.9999. Jika dikosongkan, versi minimum tidak dibatasi.
    globalRequest.setAppMinVersion("0.0.0.0");
    // Nomor versi client maksimum, seperti 9.0.0.0.9999. Jika dikosongkan, versi maksimum tidak dibatasi.

    globalRequest.setAppMaxVersion("100.100.100.100");
    // UID maksimum.
    globalRequest.setMaxUid(Long.valueOf(99));
    // UID minimum.
    globalRequest.setMinUid(Long.valueOf(1));
    // UID grayscale yang dituju, dari 00 hingga 99. Ini adalah array string.
    globalRequest.setUids("01,02,99");

    globalRequest.setValidTimeStart(System.currentTimeMillis());
    globalRequest.setValidTimeEnd(System.currentTimeMillis() + (1000 * 3600));
    CreateOpenGlobalDataResponse openGlobalData = client.createOpenGlobalData(globalRequest);
    System.out.println("response==>"+JSON.toJSONString(openGlobalData));
}
Penting

Pastikan AccessKey Anda memiliki izin `AliyunMPAASFullAccess`. Untuk informasi selengkapnya, lihat Kontrol akses tingkat aplikasi untuk akun RAM.