全部產品
Search
文件中心

Mobile Platform as a Service:快速開始

更新時間:Jul 13, 2024

小程式新容器僅在 10.2.3 基準版本中提供,且僅支援 mPaaS 原生 AAR 的接入方式。更多資訊,請參考 原生 AAR 接入方式簡介

前置條件

將小程式新容器接入 Android 之前,請確保您已經開通 mPaaS,並使用原生 AAR 的接入方式完成 mPaaS 接入。

接入步驟

小程式新容器接入步驟概述如下:

  1. 選擇基準

    1. 添加 10.2.3 基準

    2. 添加小程式組件

  2. 初始化配置

    1. 初始化 mPaaS

    2. 小程式驗簽配置

    3. 申請 UC 核心

  3. 發布小程式

    1. 進入小程式後台

    2. 配置虛擬網域名稱

    3. 建立小程式

    4. 發布小程式

  4. 啟動小程式

下文將對各步驟操作進行詳細說明。

選擇基準

  1. 添加 10.2.3 基準。

  2. 添加小程式組件。

初始化配置

初始化 mPaaS

通過 mPaaS 架構初始化(推薦使用該方式)

  1. Application中添加初始化代碼。

    public class MyApplication extends Application {
        
        @Override
        public void onCreate() {
            super.onCreate();
            // mPaaS 初始化
            MP.init(this);    
        }
    }

    詳情請參考:初始化 mPaaS

  2. AndroidManifest.xml中添加 meta 配置。

    <meta-data
        android:name="mpaas.init.param"
        android:value="com.xxx.xxx.MriverInitImpl" />
  3. 添加 com.xxx.xxx.MriverInitImpl,實現 MPInitParamManifest。

    public class MriverInitImpl implements com.mpaas.MPInitParamManifest {
        @Override
        public MPInitParam initParam() {
            MriverInitParam mriverInitParam = MriverInitParam.getDefault();
            mriverInitParam.setMriverInitCallback(new MriverInitCallback() {
                @Override
                public void onInit() {
                    if (com.alibaba.ariver.kernel.common.utils.ProcessUtils.isMainProcess()) {
                        // 小程式相關配置,比如自訂jsapi,titlebar等
    
                    }
                }
    
                @Override
                public void onError(Exception e) {
    
                }
            });
            return MPInitParam.obtain().addComponentInitParam(mriverInitParam);
        }
    }

通過 MPInit 初始化 mPaaS

初始化 mPaaS,在 Application中添加以下代碼。

public class MyApplication extends Application implements MPInitParam.MPCallback {
    @Override
    public void onCreate() {
        super.onCreate();
        // mPaaS 初始化
        MriverInitParam mriverInitParam = MriverInitParam.getDefault();
        mriverInitParam.setMriverInitCallback(new MriverInitCallback() {
            @Override
            public void onInit() {
                if (com.alibaba.ariver.kernel.common.utils.ProcessUtils.isMainProcess()) {
                    // 小程式相關配置,比如自訂jsapi,titlebar等

                }
            }

            @Override
            public void onError(Exception e) {

            }
        });
        MP.init(this, MPInitParam.obtain().setCallback(this).addComponentInitParam(mriverInitParam));
    }
    
    @Override
    public void onInit() {
        // init success
    }
}

小程式驗簽配置

小程式容器提供包簽名驗證功能,預設 debug 包關閉,release 包開啟,可以通過 API 控制。

// 關閉簽名
MriverResource.disableVerify();

// 開啟簽名,其中xx為後台配置的私密金鑰對應的公開金鑰
MriverResource.enableVerify(MriverResource.VERIFY_TYPE_YES,"xx");
說明

在上線前,建議開啟驗簽。有關小程式包驗簽配置的具體操作可參考 配置小程式包

配置小程式包請求時間間隔

mPaaS 支援配置小程式包的請求時間間隔,可以通過 API 控制。

Mriver.setConfig("h5_nbmngconfig", "{\"config\":{\"al\":\"3\",\"pr\":{\"4\":\"86400\","
    + "\"common\":\"864000\"},\"ur\":\"1800\",\"fpr\":{\"common\":\"3888000\"}},"
    + "\"switch\":\"yes\"}");

其中 \"ur\":\"1800\"為設定全域更新間隔的值,1800為預設值,代表間隔時間長度,單位為秒,您可修改此值來設定您的全域小程式包請求間隔,範圍為 0 ~ 86400 秒(即 0 ~ 24 小時,0 代表無請求間隔限制)。

重要

其他參數請勿隨意修改。

申請 UC 核心

使用小程式前,需要先申請並配置 UC 核心,沒有 UC 核心將無法使用 Android 小程式部分能力。

說明

由於產品策略變更,UC 不再全面開放申請。從 2022.12.01 起不支援公開申請 UC Key。需要提交 UC Key 申請表,工作人員會進行審核並反饋申請的結果。

  1. 點擊 mPaaS > 基礎工具 > 產生 UC Key 簽名資訊,開啟 查詢簽名資訊 視窗。

  2. 查詢簽名資訊 視窗,填寫相關配置資訊,點擊 Next

  3. 複製獲得的 SHA1 資訊。

    sha1

  4. 將您在上一步申請獲得的 Key 填入專案的 AndroidManifest.xml 檔案中:

    <meta-data android:name="UCSDKAppKey" android:value="您申請獲得的 Key"/>
    說明

    UC SDK 的授權資訊與 apk 的包名以及簽名綁定。因此,如果 UCWebView 沒有生效,檢查簽名和包名與申請時使用的資訊是否一致。

重要

若 minSdkVersion >= 23,則需要在 AndroidManifest.xmlapplication 節點添加如下配置:

<application
 ...
 android:extractNativeLibs="true">
...
</application>

使用 UC 核心,可以使小程式擁有同層能力,如嵌入 webview、嵌入地圖等,並且擁有更好的渲染體驗。

發布小程式

啟動小程式之前,您需要先通過 mPaaS 控制台發布該小程式,步驟如下。

  1. 進入小程式後台。登入 mPaaS 控制台,進入目標應用後,從左側導覽列進入 小程式> 小程式發布頁面。

  2. 配置虛擬網域名稱。如果是第一次配置虛擬網域名稱,請先在 小程式> 小程式發布> 組態管理中配置虛擬網域名稱。虛擬網域名稱可以為任意網域名稱,建議使用您的企業網域名稱,如 example.com

  3. 建立小程式。進入 mPaaS 控制台,完成以下操作:

    1. 單擊左側導覽列的 小程式> 小程式發布

    2. 在開啟的小程式包列表頁,單擊 建立

    3. 建立小程式 視窗,填寫小程式的 ID 和小程式名稱,單擊 確定。其中,小程式 ID 為任意 16 位元字,例如 2018080616290001。

    4. 在小程式 App 列表下,找到新增的小程式,單擊 添加

    5. 在基本資料欄,完成以下配置:

      • 版本:填寫小程式包的版本號碼,例如 1.0.0.0

      • 用戶端範圍:選擇小程式 App 對應的 Android 用戶端最低版本和最高版本。在這個範圍內的用戶端 App 可以啟動對應的小程式,否則無法啟動。這裡最低版本可以填寫 0.0.0,最高版本可以不填,代表用戶端所有版本都可以啟動這個小程式。

        說明

        此處務必填寫 Android 的用戶端版本,而非小程式版本。

      • 表徵圖:單擊 選擇檔案上傳小程式包的表徵圖。第一次建立小程式時必須上傳表徵圖。樣本表徵圖如下:6

      • 檔案:上傳小程式包資源檔,檔案格式為 .zip。我們準備了一個 mPaaS 樣本小程式(點此下載),可以直接上傳。

        說明

        在上傳前,需將此樣本小程式的 .zip檔案名稱以及壓縮包內的檔案夾名均修改為小程式的 16 位元字 ID。

    6. 在配置資訊列,完成以下配置:

      • 主入口 URL:必填,小程式的首頁。主入口 URL 格式為:/index.html#xxx/xxx/xxx/xxx,其中 #後方的 xxx/xxx/xxx/xxx是小程式的 app.json中的 pages中的第一個值。如下圖所示,mPaaS 樣本小程式的主入口為:/index.html#page/tabBar/component/index7

      • 其他配置保持預設即可。

    7. 勾選 已確認以上資訊準確,提交後不再修改

    8. 單擊 提交

  4. 發布小程式。進入 mPaaS 控制台,完成以下步驟:

    1. 單擊左側導覽列的 小程式> 小程式發布> 小程式正式包管理

    2. 在開啟的小程式包列表頁中,選擇您要發布的小程式包與版本,單擊 建立發布

    3. 在建立發布工作列,完成以下配置:

      • 發布類型:選擇 正式 發布類型。

      • 發布描述:選填。

      單擊 確定 完成發布建立。

啟動小程式

完成上述步驟之後,在 Android 工程中,通過如下代碼,啟動樣本小程式:

Mriver.startApp("2018080616290001");
說明

上方代碼中的 2018080616290001為小程式 ID,此處僅為本文樣本,操作中請填寫您的小程式 ID。