Enterprise Mobile Application Studio(EMAS)を使用すると、WindVane または uni-app ミニアプリ コンテナーをネイティブ アプリに統合できます。このトピックでは、ミニアプリ コンテナーを Android アプリに統合する方法について説明します。
前提条件
ネイティブ アプリの AccessKey、SecretKey、およびアプリ コードを取得済みであること。詳細については、「ユーザーガイド」の「Application Open Platform(プラットフォーム オペレーター向け)」にある「アプリを構成する」のトピックをご参照ください。
ミニアプリの ID を取得済みであること。詳細については、「ミニアプリを作成する」をご参照ください。
Application Open Platform のドメイン名を取得済みであること。デモ環境のドメイン名は
emas-publish-intl.emas-poc.comです。
ステップ 1:Maven リポジトリを追加する
プロジェクト ルートディレクトリにある build.gradle ファイルに、Maven リポジトリを追加します。
ミニアプリ コンテナー用の SDK は、Apsara Stack にデプロイされた Maven リポジトリで入手できます。 実際のレポジトリ URL、アカウント、パスワードについては、O&M エンジニアにお問い合わせください。
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven {
url 'http://nexus-ce.xxx.com/repository/maven-public/'
credentials {
username = '${username}'
password = '${password}'
}
}
}
}ステップ 2:依存関係を追加する
app プロジェクトの build.gradle ファイルに、ミニアプリ コンテナーの依存関係を追加します。
dependencies{
// ミニアプリ コンテナーの基本 SDK。この依存関係は、WindVane と uni-app の両方に必要です。
implementation 'com.aliyun.emas.suite.core:servicebus:1.0.0'
api "com.aliyun.emas.suite.foundation:mini-app-adapter:1.3.0"
// WindVane ミニアプリ コンテナーの SDK。WindVane ミニアプリ コンテナーをアプリに統合する場合、この依存関係を含めます。
implementation "com.aliyun.emas.suite.foundation:windvane-mini-app:1.3.2"
// uni-app ミニアプリ コンテナーの SDK。uni-app ミニアプリ コンテナーをアプリに統合する場合、この依存関係を含めます。
implementation "com.aliyun.emas.suite.foundation:uniapp-mini-app:1.3.0"
}プロジェクトで AndroidX 依存関係を使用する場合は、プロジェクト ルートディレクトリの gradle.properties ファイルに次の構成が含まれていることを確認してください。
android.useAndroidX=true
android.enableJetifier=trueステップ 3:コンテナーを初期化する
ミニアプリ コンテナーを使用する前に、初期化する必要があります。
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setUseWindVane(true) // WindVane ミニアプリの場合はこのメソッドを構成します。
.setUseUniApp(true) // uni-app ミニアプリの場合はこのメソッドを構成します。
.setAccessKey("ZXZ****") // Application Open Platform から AccessKey を取得します。
.setSecretKey("3PNJxKtf7/eqUohlG3bI****") // Application Open Platform から SecretKey を取得します。
.setHost("emas.example.com")// Application Open Platform のドメイン名を指定します。このサンプル コードの値は参照用です。デモ環境のドメイン名は emas-publish-intl.emas-poc.com です。
.setAppCode("161160300555671164****") // Application Open Platform からアプリ コードを取得します。
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
ServiceManager.getInstance().registerService(IMiniAppService.class.getName(), miniAppService);
// 次のコードは、WindVane ミニアプリ コンテナーの初期化構成の例を示しています。WindVane ミニアプリ コンテナーをアプリに統合する場合、これらの構成を含めます。
WVCamera.registerUploadService(CustomWVUploadService.class);WVCamera の JavaScript API は、ローカル イメージをサーバーにアップロードしてイメージ URL を取得し、そのイメージ URL をミニアプリに返す必要があります。コンテナーをアプリに統合する場合は、イメージ アップロードの実装を登録する必要があります。
開発環境のセットアップ
Gradle バージョン:6.7.1
Android Gradle Plugin バージョン:4.2.2
JDK バージョン:8
MinSdkVersion:16
TargetSdkVersion:30
上記の構成は推奨される環境設定です。バージョンによって互換性のために更新が必要になる場合があります。
API リファレンス
詳細については、「API リファレンス」をご参照ください。