全部產品
Search
文件中心

Mobile Platform as a Service:Flutter 工程接入指南

更新時間:Jul 13, 2024

Flutter 工程接入環境設定和初始化 mPaaS 請參考 Flutter 工程接入操作指南

使用小程式

  1. FlutterActivityconfigureFlutterEngine中註冊小程式。

    val messenger = flutterEngine.dartExecutor.binaryMessenger
    // 建立一個 Channel 對象
    val channel = MethodChannel(messenger, "mpaas_mini_app")
    
    // 為 channel 設定回調
    channel.setMethodCallHandler { call, res ->
        // 根據方法名,分發不同的處理
        when(call.method) {
    
            "mpaas_mini_app" -> {
                // 擷取傳入的參數
                val msg = call.argument<String>("msg")
                MPNebula.startApp(msg)
                // 通知執行成功
                res.success("這是執行的結果")
            }
    
            else -> {
                // 如果有未識別的方法名,通知執行失敗
                res.error("error_code", "error_message", null)
            }
        }
    }  
  2. 在 Flutter 中使用小程式。

    // 建立渠道
    const channel = const MethodChannel("mpaas_mini_app");
    
    
    Widget buttonView() {
      return  TextButton(
        child: Text("開啟小程式"),
        onPressed: () {
          callNativeMethod("2023072011111112");
        },
      );
    }
    
    void callNativeMethod(String msg) {
      try {
        // 通過渠道,調用原生代碼的方法
        Future future = channel.invokeMethod("mpaas_mini_app", {"msg": msg} );
        // 列印執行的結果
        print(future.toString());
      } on PlatformException catch(e) {
        print(e.toString());
      }
    }