全部产品
Search
文档中心

SuperApp:Lakukan operasi pada program mini

更新时间:Jun 28, 2025

Setelah mengintegrasikan kontainer program mini WindVane atau uni-app ke dalam aplikasi asli, Anda dapat mencari program mini, mendapatkan daftar program mini, atau memulai program mini.

Mendapatkan daftar program mini

SDK kontainer program mini menyediakan antarmuka untuk mendapatkan daftar program mini. Jika hanya ingin mendapatkan daftar program mini, Anda dapat langsung menggunakan antarmuka ini. Metode callback dari antarmuka dipanggil dari thread UI. Untuk operasi lainnya, disarankan menggunakan API yang relevan dari EMAS.

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
 if (miniAppService != null) {
    miniAppService.getMiniAppList(this, new OnQueryMiniAppsListener() {
        @Override
        public void onSuccess(List<MiniAppInfo> miniAppInfos, String anchor) {
            // Mengembalikan daftar program mini. Secara default, maksimal 10 program mini dapat diperoleh. Parameter anchor digunakan untuk mendapatkan lebih banyak program mini.
        }

        @Override
        public void onFailed(int errorCode) {

        }
    });
 }

Mencari program mini

SDK kontainer program mini menyediakan antarmuka untuk mencari program mini. Jika hanya ingin mencari program mini, Anda dapat langsung menggunakan antarmuka ini. Metode callback dari antarmuka dipanggil dari thread UI. Untuk kebutuhan pencarian tambahan, disarankan menggunakan API yang relevan dari EMAS.

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
if (miniAppService != null) {
    // Parameter kata kunci menentukan kata kunci pencarian.
    miniAppService.queryMiniApps(this, keyword, new OnQueryMiniAppsListener() {
        @Override
        public void onSuccess(List<MiniAppInfo> miniAppInfos, String anchor) {
            // Mengembalikan hasil pencarian. Secara default, maksimal 10 program mini dapat diperoleh. Parameter anchor digunakan untuk mendapatkan lebih banyak program mini.
        }

        @Override
        public void onFailed(int errorCode) {

        }
    });
}

Memulai program mini

Anda dapat memulai program mini menggunakan ID-nya. Program mini WindVane dan uni-app dapat dimulai dengan cara yang sama. Memuat program mini memerlukan waktu tertentu. Disarankan menambahkan kode ke metode callback terkait untuk menginisialisasi atau memperbarui elemen UI. Metode callback dipanggil dari thread UI.

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
if (miniAppService != null) {
  miniAppService.openMiniApp(mItemView.getContext(), "151160916074102445****", null, new OnOpenMiniAppListener() {
  //151160916074102445**** menunjukkan ID program mini, yang diperoleh dari Application Open Platform. 
    @Override
    public void onOpenMiniApp() {
      // Anda dapat mengimplementasikan metode ini untuk menampilkan indikator pemuatan di UI saat program mini mulai dimuat.
    }

    @Override
    public void onOpenSuccess(String appId) {
      // Anda dapat mengimplementasikan metode ini untuk menyembunyikan indikator pemuatan di UI saat program mini dimulai.
    }

    @Override
    public void onOpenFailed(String appId, int errorCode) {
      // Anda dapat mengimplementasikan metode ini untuk menyembunyikan indikator pemuatan di UI saat program mini gagal dimulai.
    }
  });
}

Buka halaman tertentu dalam program mini

Saat memulai program mini, Anda dapat mengonfigurasi parameter path untuk membuka halaman tertentu dalam program mini dan menggunakan extraData untuk meneruskan argumen ke halaman tersebut.

Catatan
  • Untuk program mini uni-app, parameter path menentukan URL absolut halaman program mini, dan extraData adalah objek JSON yang digunakan untuk meneruskan argumen startup ke program mini. Setelah program mini dimulai, Anda dapat mengambil nilai dari extraData menggunakan metode plus.runtime.arguments.

  • Untuk membuka halaman dalam program mini WindVane, Anda dapat mengakses URL dalam format berikut: https://{appId}.app.mini.windvane.suite.emas.alibaba.com/index.html#/{path}?key=value&key2=123. Saat mengembangkan program mini, Anda harus menggunakan perutean hash untuk menangani logika navigasi halaman.

MiniAppOpenConfiguration config = new MiniAppOpenConfiguration();
config.path = "/test";
JSONObject arguments = new JSONObject();
arguments.put("MSG","Hello miniApp");
config.extraData = arguments;

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
if (miniAppService != null) {
  miniAppService.openMiniApp(v.getContext(), "151160916074102445****", config, new OnOpenMiniAppListener() {
  //151160916074102445**** menunjukkan ID program mini, yang diperoleh dari Application Open Platform. 
    @Override
    public void onOpenMiniApp() {
      // Anda dapat mengimplementasikan metode ini untuk menampilkan indikator pemuatan di UI saat program mini mulai dimuat.
    }

    @Override
    public void onOpenSuccess(String appId) {
      // Anda dapat mengimplementasikan metode ini untuk menyembunyikan indikator pemuatan di UI saat program mini dimulai.
    }

    @Override
    public void onOpenFailed(String appId, int errorCode) {
      // Anda dapat mengimplementasikan metode ini untuk menyembunyikan indikator pemuatan di UI saat program mini gagal dimulai.
    }
  });
}

Ambil Daftar Mini-App Dalam Kategori

SDK kontainer program mini menawarkan antarmuka untuk mengambil daftar program mini dalam kategori tertentu.

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
if (miniAppService != null) {
  miniAppService.queryMiniAppCategories(context, new OnQueryMiniAppCategoryListener() {
    @Override
    public void onSuccess(List<MiniAppCategory> miniAppCategories) {
       // Menampilkan daftar mini-app dalam satu kategori.
    }

    @Override
    public void onFailed(int errorCode, String errorMsg) {
      
    }
  });
}

Pemuatan Awal Sumber Daya Mini-App

SDK kontainer program mini menyediakan antarmuka untuk pemuatan awal sumber daya program mini.

IMiniAppService miniAppService = ServiceManager.getInstance().getService(IMiniAppService.class.getName());
if (miniAppService!=null){
  miniAppService.preloadMiniApp(context, "151160916074102445****", new OnPreloadMiniAppListener() {
  // "151160916074102445****" menandakan ID mini-app, diperoleh dari platform aplikasi terbuka.
        @Override
        public void onPreloadSuccess(String appId) {
        //Dipicu setelah berhasil memuat awal sumber daya           
        }

        @Override
        public void onPreloadFailed(String appId, int errorCode) {
         //Dipanggil ketika pemuatan awal sumber daya gagal
            }
        });
    }