すべてのプロダクト
Search
ドキュメントセンター

SuperApp:ミニアプリ コンテナーをネイティブ アプリに統合する

最終更新日:Jan 18, 2025

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 リファレンス」をご参照ください。