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

Mobile Platform as a Service:ミニプログラムのベースライブラリ

最終更新日:Jan 23, 2026

ミニプログラムの機能は、クライアントのサポートに依存します。

ベースライブラリとクライアントの連携

ミニプログラムの機能は、クライアントのサポートに依存します:

  • ベースライブラリのバージョンの新機能は、実行するために特定の最小クライアントバージョンを必要とします。

  • 新しいベースライブラリバージョンの一部の新機能は、古いクライアントバージョンと互換性がありません。

ベースライブラリの互換性の詳細については、「ベースライブラリの互換性の確保」をご参照ください。現在のベースライブラリのバージョン番号は my.SDKVersion を使用して確認できます。

互換性のあるベースライブラリ

ミニプログラムのコンポーネントと API 機能は継続的に改善されています。古いクライアントバージョンではこれらの新機能がサポートされていないため、互換性の問題に対応する必要があります。

my.canIUse(String) インターフェイスを使用して互換性を確認できます。詳細については、「API リファレンス」をご参照ください。

互換性の例

新しい API の互換性対応

新しい API については、次のコードを使用して、現在のベースライブラリがその API をサポートしているかどうかを判断できます:

if (my.getLocation) {
    my.getLocation();
} else {
// ユーザーに最新のクライアントバージョンへのアップグレードを促すプロンプトを表示します。
  my.alert({
    title: 'プロンプト',
    content: '現在のバージョンは古すぎるため、この機能は使用できません。最新バージョンにアップグレードしてください。'
  });
}

新しい API パラメーターの互換性対応

新しい API パラメーターについては、次のメソッドを使用してサポート状況を確認し、処理コードを追加できます:

if (my.canIUse('getLocation.object.type')) {
    // ここに処理コードを追加します。
} else {
    console.log('現在のバージョンではこのパラメーターはサポートされていません')
}

新しい API 戻り値の互換性対応

新しい API の戻り値については、次のメソッドを使用してサポート状況を確認し、処理コードを追加できます:

if (my.canIUse('getSystemInfo.return.storage')) {
    // ここに処理コードを追加します。
} else {
    console.log('現在のバージョンではこの戻り値はサポートされていません')
}

新しいコンポーネントプロパティの互換性対応

新しいコンポーネントプロパティは古いクライアントバージョンでは機能しませんが、エラーは発生しません。プロパティのグレイスフルデグラデーションを実装するには、次のコードをご参照ください:

Page({
    data: {
        canIUse: my.canIUse('button.open-type.share')
    }
})

ベースライブラリのバージョン

ベースライブラリのバージョン

ベースライブラリとそのベースラインバージョン

2.8.9

  • Android: 10.2.3

  • iOS:新しいミニプログラムコンテナーのベースライン cp_change_15200851 および 10.2.3

    説明

    ミニプログラムの新しいコンテナーでは、ベースラインバージョン 10.2.3 を優先的に使用することを推奨します。

1.14.1

10.1.68

1.14.1

10.1.60

1.9.0

10.1.32

ベースライブラリの統合ガイド

ベースラインバージョンが異なると、統合方法も異なります。ベースライブラリを統合する前に、ご利用のベースラインバージョンを確認してください。

iOS

ベースラインバージョン 10.2.3

ミニプログラムの新しいコンテナーのベースライン cp_change_15200851 および 10.2.3 は、ミニプログラムベースライブラリ 2.0 のビルドをサポートします。

説明

ミニプログラムの新しいコンテナーでは、ベースラインバージョン 10.2.3 を優先的に使用することを推奨します。

Android

ベースラインバージョン 10.1.68.7 以降

起動時にプロバイダーインスタンスを設定できます。以下にコード例を示します:

H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(),new TinyAppCenterPresetProvider());
説明

クライアントが H5 公共リソースパッケージを使用する場合、TinyAppCenterPresetProvider クラスを継承し、公共リソースパッケージに関連するコードを継承したクラスのインスタンスにマージする必要があります。

10.1.60 シリーズのベースラインバージョンおよびバージョン 10.1.68.6 以前

  1. H5AppCenterPresetProvider インターフェイスクラスを実装できます。以下にコード例を示します:

     package com.mpaas.demo.nebula;
    
     import com.alipay.mobile.nebula.appcenter.H5PresetInfo;
     import com.alipay.mobile.nebula.appcenter.H5PresetPkg;
     import com.alipay.mobile.nebula.provider.H5AppCenterPresetProvider;
    
     import java.io.File;
     import java.io.InputStream;
     import java.util.HashMap;
     import java.util.HashSet;
     import java.util.Map;
     import java.util.Set;
    
     public class H5AppCenterPresetProviderImpl implements H5AppCenterPresetProvider {
         private static final String TAG = "H5AppCenterPresetProviderImpl";
    
         // ミニプログラム専用のリソースパッケージを設定します。この ID は固定であり、変更できません。
         private static final String TINY_COMMON_APP = "66666692";
    
         // プリセットパッケージの asset フォルダ。
         private final static String NEBULA_APPS_PRE_INSTALL = "nebulaPreset" + File.separator;
    
         // プリセットパッケージのコレクション。
         private static final Map<String, H5PresetInfo> NEBULA_LOCAL_PACKAGE_APP_IDS = new HashMap();
    
         static {
    
             H5PresetInfo h5PresetInfo2 = new H5PresetInfo();
             // ビルトインフォルダ内のファイル名。
             h5PresetInfo2.appId = TINY_COMMON_APP;
             h5PresetInfo2.version = "1.0.0.0";
             h5PresetInfo2.downloadUrl = "";
    
             NEBULA_LOCAL_PACKAGE_APP_IDS.put(TINY_COMMON_APP, h5PresetInfo2);
    
         }
    
         @Override
         public Set<String> getCommonResourceAppList() {
             Set<String> appIdList = new HashSet<String>();
             appIdList.add(getTinyCommonApp());
             return appIdList;
         }
    
         @Override
         public H5PresetPkg getH5PresetPkg() {
             H5PresetPkg h5PresetPkg = new H5PresetPkg();
             h5PresetPkg.setPreSetInfo(NEBULA_LOCAL_PACKAGE_APP_IDS);
             h5PresetPkg.setPresetPath(NEBULA_APPS_PRE_INSTALL);
             return h5PresetPkg;
         }
    
         /**
          * デグレード可能なリソースパッケージの ID を設定します。
          */
         @Override
         public Set<String> getEnableDegradeApp() {
             return null;
         }
    
         @Override
         public String getTinyCommonApp() {
             return TINY_COMMON_APP;
         }
    
         @Override
         public InputStream getPresetAppInfo() {
             return null;
         }
    
         @Override
         public InputStream getPresetAppInfoObject() {
             return null;
         }
     }
  2. クライアントの統合バージョンに対応するミニプログラムのベースライブラリをダウンロードします。ベースライブラリを前の手順で指定した asset フォルダにコピーし、名前を変更します。前の手順のコード例に基づくと、ミニプログラムのベースライブラリのパスは assets/nebulaPreset/66666692 です。

  3. 起動時にプロバイダーインスタンスを設定できます。以下にコード例を示します:

     H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(), new H5AppCenterPresetProviderImpl());
    説明

    • クライアントが H5 公共リソースパッケージを使用する場合、公共リソースパッケージに関連するコードを H5AppCenterPresetProvider のインスタンスクラスにマージする必要があります。

    • 詳細については、「コード例」をご参照ください。