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

Mobile Platform as a Service:ミニプログラム基本ライブラリ

最終更新日:Jan 17, 2025

ミニプログラム機能には、クライアントからのサポートが必要です。

基本ライブラリとクライアントの関係

ミニプログラム機能には、クライアントからのサポートが必要です。

  • 基本ライブラリの各バージョンの新機能は、特定のバージョンで実行されます。

  • 高バージョンの基本ライブラリの一部の新機能は、低バージョンのクライアントと互換性がありません。

基本ライブラリとの互換性の方法をご参照ください。my.SDKVersion で現在の基本ライブラリのバージョン番号を確認できます。

基本ライブラリとの互換性

現在、ミニプログラムのコンポーネントと API 機能は徐々に改善および充実されていますが、古いバージョンのクライアントはこれらの新機能をサポートしていないため、開発者は対応する互換性処理を行うことをお勧めします。

インターフェイス my.canIUse(String) を使用して互換性判断を実装できます。詳細については、「インターフェイスの説明」をご参照ください。

互換性の例

新しい 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')
    }
})

基本ライブラリのバージョン

基本ライブラリのバージョン

対応するベースラインバージョン

1.9.0

10.1.32

ダウンロード

1.14.1

10.1.60

ダウンロード

基本ライブラリの統合の説明

iOS

iOS では、基本ライブラリの統合は必要ありません。

Android

ベースラインバージョンの反復により、異なるベースラインバージョンでは、基本ライブラリを統合する方法が異なります。基本ライブラリを統合する前に、ベースラインバージョンを確認してください。

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

起動時に Provider インスタンスを設定します。コードサンプルは次のとおりです。

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";
    
         // プリセットパッケージのアセットディレクトリ
         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. 起動時に Provider インスタンスを設定します。コードサンプルは次のとおりです。

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

    クライアントで H5 パブリックリソースパッケージが使用されている場合は、H5AppCenterPresetProvider のインスタンスクラスにパブリックリソースパッケージの関連コードをマージしてください。