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

Mobile Platform as a Service:mPaaS の初期化

最終更新日:Jan 17, 2025

mPaaS フレームワークを使用する前に、Hotpatch 機能が有効になっているかどうかによって、アプリケーション オブジェクトを初期化する必要があります。このトピックでは、両方の場合の初期化プロセスについて説明します。

Hotpatch が無効になっている場合

Hotpatch 機能が無効になっている場合は、アプリケーション オブジェクトに次のコードを追加するだけで済みます。

@Override
public void onCreate() {
    super.onCreate();
    
    MP.init(
      this,
      MPInitParam.obtain().setCallback(new MPInitParam.MPCallback() {
        @Override
        public void onInit() {
            Log.d("TAG", "mPaaS Init finish");
        }
      })
    );
}
説明
  1. Kotlin を統合する場合は、mPaaS が提供する mPaaS KTX の mPaaS Kotlin 拡張機能 を使用できます。

  2. QuinoxlessFramework 初期化メソッドを引き続き使用する必要がある場合、呼び出しは一切影響を受けず、コードやビジネスに変更を加える必要はありません。

重要

MP.init メソッドを使用する前にプロセスをフィルタリングしないでください。メイン プロセスの他に、初期化コードはツールとプッシュの子プロセスでも実行する必要があります。

Hotpatch が有効になっている場合

ホットパッチ 機能が有効になっている場合は、次の手順を実行します。

手順

  1. アプリケーション オブジェクトで、QuinoxlessApplicationLike を再継承し、このクラスを難読化から除外します。次のコードでは、MyApplication オブジェクトを例として使用しています。

     @Keep
     public class MyApplication extends QuinoxlessApplicationLike implements Application.ActivityLifecycleCallbacks {
    
      private static final String TAG = "MyApplication";
    
      @Override
      protected void attachBaseContext(Context base) {
          super.attachBaseContext(base);
    
          Log.i(TAG, "attacheBaseContext");
    
      }
    
      @Override
      public void onCreate() {
          super.onCreate();
          Log.i(TAG, "onCreate");
          registerActivityLifecycleCallbacks(this);
      }
    
      @Override
      public void onMPaaSFrameworkInitFinished() {
          LoggerFactory.getTraceLogger().info(TAG, getProcessName());
      }
    
      @Override
      public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
          Log.i(TAG, "onActivityCreated");
      }
    
      @Override
      public void onActivityStarted(Activity activity) {
    
      }
    
      @Override
      public void onActivityResumed(Activity activity) {
    
      }
    
      @Override
      public void onActivityPaused(Activity activity) {
    
      }
    
      @Override
      public void onActivityStopped(Activity activity) {
    
      }
    
      @Override
      public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
    
      }
    
      @Override
      public void onActivityDestroyed(Activity activity) {
    
      }}
  2. AndroidManifest.xml ファイルで、アプリケーション オブジェクトが mPaaS によって提供される Application オブジェクトを継承していることを確認します。次に、生成された MyApplication クラスを、キーが mpaas.quinoxless.extern.application である meta-data に追加します。次のサンプルコードをご参照ください。

     <application
     android:name="com.alipay.mobile.framework.quinoxless.QuinoxlessApplication" >
     <meta-data
              android:name="mpaas.quinoxless.extern.application"
              android:value="com.mpaas.demo.MyApplication"
              />
     </application>
  3. Apache HTTP クライアントをインポートします。

    リモート プロシージャ コール ( RPC ) または Hotpatch を使用する場合、Apache HTTP クライアントの機能を呼び出す必要があります。したがって、AndroidManifest.xml ファイルに次のコードを追加します。詳細については、「Apache HTTP クライアントを使用する」をご参照ください。

    <uses-library android:name="org.apache.http.legacy" android:required="false"/>