日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

API

初始化 API

方式一

  1. 通過 mPaaS 基礎組件初始化的方式,額外設置 mriver 參數。

    // 初始化
    public class MyApplication extends Application {
    
        @Override
        protected void attachBaseContext(Context base) {
            super.attachBaseContext(base);
            // mPaaS 初始化回調設置
            QuinoxlessFramework.setup(this, new IInitCallback() {
                @Override
                public void onPostInit() {
                    // 初始化mPaaS其他組件邏輯
                    
                }
            });
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            // mPaaS 初始化
            QuinoxlessFramework.init();
        }
    }
  2. AndroidManifest.xml 中添加 meta 配置:

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

    public class MriverInitImpl implements com.mpaas.MPInitParamManifest {
        @Override
        public MPInitParam initParam() {
            MriverInitParam mriverInitParam = createInitParams();
            return MPInitParam.obtain().addComponentInitParam(mriverInitParam);
        }
    }

方式二

通過 MPInitMPInit.init(Application application, MPInitParam param) 方法初始化 API。

MP.init(this, createInitParams());

MPInitParam createInitParams() {
        final MriverInitParam mriverInitParam = MriverInitParam.getDefault();
        mriverInitParam.setMriverInitCallback(new MriverInitParam.MriverInitCallback() {
            @Override
            public void onInit() {
                MPLogger.setUserId("MPTestCase");
                if (com.alibaba.ariver.kernel.common.utils.ProcessUtils.isMainProcess()) {
                    // 小程序相關配置,比如自定義jsapi,titlebar等
                    Log.i("MriverApp", "init1");
                    Mriver.setConfig("mr_use_inner_net", "YES");
                    Mriver.setConfig("mr_request_support_gzip", "true");
                    Mriver.setConfig("mr_showShareMenuItem", "YES");
                    Mriver.setConfig("mriver_openlocation_hidden_default", "0");
                    Mriver.setConfig("mriver_support_chooseFile", "YES");
                    Mriver.setConfig("ta_worker_init_low_version_compat", (Build.VERSION.SDK_INT == 22 || Build.VERSION.SDK_INT == 21) ? "YES" : "NO");
                    MriverEngine.registerBridge(ShareApiBridgeExtension.class);
                    MriverEngine.registerBridge(SnapshotScreenApiBridgeExtension.class);
                    Mriver.enableAPM();

                    List<String> miniAppPoint = new ArrayList<>();
                    miniAppPoint.add(PageResumePoint.class.getName());
                    miniAppPoint.add(PageEnterPoint.class.getName());
                    Mriver.registerPoint(PageLifeCycleExtension.class.getName(), miniAppPoint);

                    RVProxy.set(PrepareNotifyProxy.class, new PrepareNotifyProxy() {

                        @Override
                        public void notify(String s, PrepareStatus prepareStatus) {

                        }

                        @Override
                        public void apmEvent(final String s, final String s1, final String s2, final String s3, final String s4) {
                            mUIHandler.post(new Runnable() {
                                @Override
                                public void run() {
                                    if (APMActivity.logs == null) {
                                        APMActivity.logs = new StringBuilder();
                                    }
                                    APMActivity.logs.append(s).append(" ").append(s1).append(" ").append(s2).append(" ").append(s3).append(" ").append(s4).append("\n");
                                    if (TextUtils.equals(s, "MiniAppStart")
                                    || TextUtils.equals(s, "MiniPage_Load_T2")) {
                                        Toast.makeText(MRiverApp.sApp, "startTime: " + s4, Toast.LENGTH_SHORT).show();
                                    }
                                }
                            });

                        }
                    });
                }

                Log.i(TAG, "registerPlugin");
                MPNebula.registerH5Plugin(
                        PagePlugin.class.getName(),
                        null,
                        "page",
                        new String[]{"myapi2", H5Plugin.CommonEvents.H5_SESSION_EXIT, H5Plugin.CommonEvents.H5_PAGE_CLOSED, H5Plugin.CommonEvents.H5_PAGE_FINISHED, H5Plugin.CommonEvents.H5_PAGE_SHOULD_LOAD_URL}
                );


                MriverEngine.enableDebugConsole();

                Mriver.setConfig("mriver_show_debug_menu_all", "YES");
                Log.i("TTAATT", "hasInited");
            }

            @Override
            public void onError(Exception e) {
                Log.i("MriverApp", "init2");
            }
        });
        mriverInitParam.setUCInitCallback(new MriverInitParam.UCInitCallback() {
            @Override
            public void onInit() {
                sHasUCInit = true;
                Log.i("TTAATT", "hasInitedUC");
            }

            @Override
            public void onError(Exception e) {

            }
        });
        return MPInitParam.obtain().setCallback(this).addComponentInitParam(mriverInitParam);
    }

啟動和配置

Mriver 框架全局 API

方法

描述

是否必須調用

void setUserId(String userId)

設置 userId,用于調試、預覽白名單。

void startApp(String appId)

根據 appId 啟動小程序。

void startApp(Activity activity, String appId, Bundle startParams)

根據 appId 和參數啟動小程序。

void setConfig(String key, String value)

小程序容器配置,配置參數請參考 開關配置

void forcePermissionCheck()

強制權限校驗,開啟后小程序調用權限相關 API都會彈窗。

void setProxy(Class<T> proxyClazz, T proxyImpl)

設置容器代理,定制相關邏輯請參考 功能配置

void registerPoint(String className, List<String> pointsClassName)

監聽容器各種切面,詳情請參考 功能配置

MriverResource 資源管理

方法

描述

是否必須調用

void updateAll()

更新所有小程序。

根據需要,不建議更新所有小程序,建議單獨更新特定小程序列表。

void updateApp(Map<String, String> appList, UpdateAppCallback callback)

更新特定小程序。

appList 為小程序 ID 和本地版本號。后臺配置下載,更新完成后自動下載安裝。

根據需要,可以提前更新,優化首次加載性能。

void updateApp(String appId, String targetVersion, UpdateAppCallback callback)

更新到指定版本。

根據需要

void downloadAppPackage(String appId)

下載小程序。

根據需要

AppModel getAppModel(String appId)

獲取本地已有小程序信息。

根據需要

void enableVerify(String type, String publicRsa)

開啟驗簽。

  • debug:默認關閉。

  • release:默認開啟。

必須調用,根據選擇開啟或者關閉

void disableVerify()

關閉包體驗簽。

void deleteApp(String appId)

刪除本地小程序。

根據需要

void enableAPM()

開啟 APM 上報。

根據需要

Map<String, List<AppModel>> getAllApp()

獲取本地所有小程序。

根據需要

MriverEngine 引擎 API

方法

描述

是否必須調用

void registerBridge(Class<? extends BridgeExtension> bridgeClass)

自定義 JSAPI。

根據需要

void sendToRender(Page page, String event, @Nullable JSONObject data, @Nullable SendToRenderCallback callback)

Native 發送消息給小程序。

根據需要

void setUserAgent(final String customUa)

設置 useragent

根據需要

void enableDebugConsole

開啟調試面板。

根據需要

MriverDebug 調試 API

方法

描述

是否必須調用

void setWssHost(String wssHost)

設置真機調試的 wss 地址。

真機調試時必須調用

void debugAppByScan(Activity activity)

預覽/真機調試掃碼。

預覽和真機調試時必須調用

void debugAppByScan(final Activity activity, Bundle bundle)

預覽/真機調試掃碼,并添加啟動參數。