シナリオ
uni-app ベースで開発されたネイティブアプリに uni-app ミニアプリコンテナを統合します。その他のシナリオについては、「Android アプリへのミニアプリコンテナの統合」をご参照ください。
ソリューション
ネイティブ uni-app プラグイン EMASUniAppPlugin をダウンロードします。
EMASUniAppPlugin.zipパッケージを解凍し、解凍したフォルダを uni-app プロジェクトのnativepluginsフォルダにコピーします。HBuilderX で uni-app プロジェクトを開きます。 uni-app プロジェクトの
manifest.jsonファイルをクリックします。ネイティブアプリプラグインを設定するには、nativepluginsフォルダにあるEMASUniAppPluginをオンプレミスプラグインとして選択します。

manifest.jsonファイルをもう一度クリックし、ソースコードビューに切り替えます。app-plusパラメーターを見つけ、UniMPパラメーターをmodulesパラメーターに追加します。
uni-app プロジェクトで EMASUniAppPlugin プラグインと uni-app ミニアプリコンテナを使用します。
// uni-app ミニアプリコンテナを取得します。 const mp = uni.requireNativePlugin('uniMP'); // EMASUniAppPlugin プラグインを取得します。 var emasModule = uni.requireNativePlugin("EMASUniAppPlugin");
EMASUniAppPlugin プラグインの API リファレンス
configEmas
var ret = emasModule.configEmas({
'appKeyAndroid': 'xxx',
'appSecretAndroid': 'xxx',
'channelIdAndroid': 'xxx',
'mtopDomain': 'xxx',
'useHttp': 'false',
'appKeyIOS': 'xxx',
'appSecretIOS': 'xxx',
'channelIdIOS': 'xxx'
})EMASUniAppPlugin プラグインを初期化します。このメソッドは同期メソッドです。
リクエストパラメータ | |
appKeyAndroid | 文字列:Android アプリの AppKey。アプリの AppKey は Enterprise Mobile Application Studio(EMAS)コンソールから取得できます。 |
appSecretAndroid | 文字列:Android アプリの AppSecret。アプリの AppSecret は EMAS コンソールから取得できます。 |
channelIdAndroid | 文字列:Android アプリのチャネル ID。アプリのチャネル ID は EMAS コンソールから取得できます。 |
mtopDomain | 文字列:EMAS の MTOP ドメイン名。 |
useHttp | ブール値:HTTP プロトコルを使用するかどうかを指定します。 |
appKeyIOS | 文字列:iOS アプリの AppKey。アプリの AppKey は EMAS コンソールから取得できます。 |
appSecretIOS | 文字列:iOS アプリの AppSecret。アプリの AppSecret は EMAS コンソールから取得できます。 |
channelIdIOS | 文字列:iOS アプリのチャネル ID。アプリのチャネル ID は EMAS コンソールから取得できます。 |
updateMiniApp
emasModule.updateMiniapp({
'appId': 'xxx',
}, (ret) => {
})ミニアプリのバージョンを更新します。ミニアプリに新しいバージョンがある場合、このメソッドを呼び出して新しいバージョンのミニアプリをダウンロードしてインストールできます。このメソッドは非同期メソッドです。
リクエストパラメータ | |
appId | 文字列:ミニアプリの ID。ミニアプリの ID は Application Open Platform コンソールから取得できます。詳細については、このトピックの「ミニアプリの ID を取得する」セクションをご参照ください。 |
miniAppVersion | 文字列:ミニアプリのバージョン番号。このパラメータは空のままにすることができます。このパラメータを null に設定するか、空のままにした場合、指定されたミニアプリがダウンロードされてインストールされます。特定のバージョン番号が指定されている場合、システムはミニアプリが指定されたバージョンに更新されているかどうかを確認します。ミニアプリが更新されていない場合、操作は実行されません。ミニアプリが更新されている場合、指定されたバージョンのミニアプリがダウンロードされてインストールされます。 |
publishId | 文字列:ミニアプリのリリース ID。このパラメータは空のままにすることができます。 |
レスポンスパラメータ | |
code | 数値:エラーコード。 |
errorMsg | 文字列:エラーメッセージ。 |
wgtPath | 文字列:ミニアプリインストールパッケージのパス。 |
uniAppId | 文字列:ミニアプリの ID。 |
version | 文字列:ミニアプリのバージョン番号。 |
publishType | 文字列:ミニアプリのリリースタイプ。 |
例:
emasModule.updateMiniapp({
'appId': '151624424672398147591',
}, (ret) => {
if (ret.code === 0) {
// ミニアプリコンテナを使用してミニアプリをインストールします。
mp.installUniMP({
appid: '__UNI__151624424672398147591',
wgtFile: ret.wgtPath
}, (r) => {
if (0 == r.code) {
uni.showToast({
title: 'ミニアプリがインストールされました。'
});
// ミニアプリのインストール後、ミニアプリを開きます。
mp.openUniMP({
appid: '__UNI__151624424672398147591'
}, (ret) => {
if (0 != ret.code) {
uni.showModal({
title: 'ミニアプリの起動に失敗しました。',
content: JSON.stringify(ret),
showCancel: false
});
}
console.log('openUniMP: ' + JSON.stringify(ret));
});
} else {
uni.showModal({
title: 'ミニアプリのインストールに失敗しました。',
content: JSON.stringify(r),
showCancel: false
});
}
console.log('installUniMP: ' + JSON.stringify(r));
});
}
})getMiniappList
emasModule.getMiniappList({
'appIdList': '[xxx]',
}, (ret) => {
})ミニアプリをクエリします。このメソッドは非同期メソッドです。
リクエストパラメータ | |
appIdList | 文字列:ミニアプリの ID。ミニアプリの ID は Application Open Platform コンソールから取得できます。詳細については、このトピックの「ミニアプリの ID を取得する」セクションをご参照ください。 |
レスポンスパラメータ | |
code | 数値:エラーコード。 |
errorMsg | 文字列:エラーメッセージ。 |
listData | 文字列:ミニアプリの情報。 |
ミニアプリの ID を取得する
Application Open Platform コンソールにログインします。
ワークスペースを選択して、ワークスペースの [概要] ページに移動します。
説明1 つのワークスペースにのみ参加している場合は、Application Open Platform コンソールにログインした後、ワークスペースの [概要] ページに移動します。
左側のナビゲーションウィンドウで、[ミニアプリ] をクリックします。 [ミニアプリリスト] ページが表示されます。
[ミニアプリリスト] ページで、ID を取得するミニアプリを見つけ、ID を記録します。
