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

SuperApp:ミニアプリの操作を実行する

最終更新日:Jan 18, 2025

WindVane または uni-app ミニアプリコンテナーをネイティブアプリに統合した後、ミニアプリの検索、ミニアプリリストの取得、またはミニアプリの起動を行うことができます。

ミニアプリリストを取得する

ミニアプリコンテナー SDK は、ミニアプリリストを取得するためのインターフェイスを提供します。ミニアプリリストのみを取得する場合は、このインターフェイスを直接使用できます。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   // anchor パラメーターのデフォルト値は 0 です。
  [miniAppService getMiniAppList:anchor completionBlock:^(int resultCode, NSArray * _Nonnull miniApps, NSString *anchor) {
  	 // resultCode の値が 200 の場合、すべてのミニアプリが取得されます。
     // ミニアプリのリストを返します。デフォルトでは、最大 10 個のミニアプリを取得できます。 anchor パラメーターは、より多くのミニアプリを取得するために使用されます。
  }];
}

ミニアプリを検索する

ミニアプリコンテナー SDK は、ミニアプリを検索するためのインターフェイスを提供します。ミニアプリのみを検索する場合は、このインターフェイスを直接使用できます。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   // keyword パラメーターは検索キーワードを指定します。 anchor パラメーターのデフォルト値は 0 です。
  [miniAppService queryMiniApps:keyword anchor:anchor completionBlock:^(int resultCode, NSArray * _Nonnull miniApps, NSString *anchor) {
 		// resultCode の値が 200 の場合、検索は成功です。	
    // 検索結果を返します。デフォルトでは、最大 10 個のミニアプリを取得できます。 anchor パラメーターは、より多くのミニアプリを取得するために使用されます。
  }];
}

ミニアプリを起動する

ID を使用してミニアプリを起動できます。 WindVane ミニアプリと uni-app ミニアプリは同じ方法で起動できます。ミニアプリの読み込みには一定の時間がかかります。 UI 要素を初期化または更新するために、関連するコールバックメソッドにコードを追加することをお勧めします。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   [miniAppService openMiniApp:appId openConfiguration:nil completionBlock:^(int resultCode, NSDictionary * _Nonnull resultDict) {
            
    }];
}

ミニアプリ内の特定のページを開く

ミニアプリを起動するときは、path パラメーターを設定してミニアプリ内の特定のページを開き、extraData を使用してページに引数を渡すことができます。

説明
  • uni-app ミニアプリの場合、path パラメーターはミニアプリページの絶対 URL を指定し、extraData はミニアプリに起動引数を渡すために使用される JSON オブジェクトです。ミニアプリの起動後、plus.runtime.arguments メソッドを使用して extraData から値を取得できます。

  • WindVane ミニアプリ内のページを開くには、次の形式の URL にアクセスできます。 https://{appId}.app.mini.windvane.suite.emas.alibaba.com/index.html#/{path}?key=value&key2=123。ミニアプリを開発するときは、ハッシュルーティングを使用してページナビゲーションのロジックを処理する必要があります。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
    
if (miniAppService) {
    EMASMiniAppOpenConfiguration *config = [[EMASMiniAppOpenConfiguration alloc] init];
    if (path.length > 0) {
        // ディープリンクパス。
        config.path = path;
    }
    if (params){
        // 拡張パラメーター。
        config.extraData = params;
    }
    
    [miniAppService openMiniApp:self.appId openConfiguration:config completionBlock:^(int resultCode, NSDictionary * _Nonnull resultDict) {
        NSLog(@"resultCode = %d, resultDict = %@",resultCode,resultDict);
        if (resultCode == 200) {
            // ミニアプリが起動されると、ミニアプリのホームページにリダイレクトされます。
        }
    }];
}

カテゴリリストを取得する

ミニアプリコンテナー SDK は、ミニアプリのカテゴリリストを取得するためのインターフェイスを提供します。ミニアプリのカテゴリリストのみを取得する場合は、このインターフェイスを直接使用できます。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
    if (miniAppService) {
        [miniAppService queryMiniAppCategories:^(int resultCode, NSArray *resultArray) {
            if (resultCode == 200) {
               // resultCode の値が 200 の場合、カテゴリリストが取得されます。
            } else {
              // 失敗
               }
        }];
    }

カテゴリのミニアプリリストを取得する

ミニアプリコンテナー SDK は、カテゴリ ID のミニアプリリストを取得するためのインターフェイスを提供します。ミニアプリリストのみを取得する場合は、このインターフェイスを直接使用できます。

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
   if (miniAppService) {
        [miniAppService queryMiniAppsByCategory:categoryId completionBlock:^(int resultCode, NSArray * _Nonnull resultArray) {
            if (resultCode == 200) {
                // resultCode の値が 200 の場合、カテゴリ ID のミニアプリリストが取得されます。
            } else {
               // 失敗
            }
        }];
    }