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

Mobile Platform as a Service:mPaaS の初期化

最終更新日:Jun 03, 2026

mPaaS を初期化するには、Application オブジェクトを変更する必要があります。手順は、ホットパッチ機能を使用するかどうかによって異なります。

ホットパッチ機能を使用しない場合

前提条件:アプリにカスタムの Application クラスがあること。この手順では難読化の設定は不要です。

Application クラスで onCreate() をオーバーライドし、MP.init() を呼び出します:

@Override
public void onCreate() {
    super.onCreate();

    MP.init(
      this,
      MPInitParam.obtain().setCallback(new MPInitParam.MPCallback() {
        @Override
        public void onInit() {
            Log.d("TAG", "mPaaS init finished");
        }
      })
    );
}
説明
  • Kotlin と統合する場合は、mPaaS KTX 拡張機能を使用してください。詳細については、「mPaaS Kotlin extension」をご参照ください。

  • QuinoxlessFramework の初期化方法を引き続き使用する場合でも、呼び出しは影響を受けません。コードやビジネスロジックの変更は不要です。

重要

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

ホットパッチ機能を使用する場合

前提条件:プロジェクトで ProGuard または R8 が構成されていること。@Keep アノテーションが使用できること。

  1. Application オブジェクトを変更して QuinoxlessApplicationLike を継承します。難読化を防ぐために、クラスに @Keep アノテーションを付与します。

    この例では、クラス名として MyApplication を使用します:

    @Keep  // 必須: このクラスが ProGuard/R8 によって難読化されるのを防ぎます
    public class MyApplication extends QuinoxlessApplicationLike implements Application.ActivityLifecycleCallbacks {
    
      private static final String TAG = "MyApplication";
    
      @Override
      protected void attachBaseContext(Context base) {
          super.attachBaseContext(base);  // 必須: mPaaS はここで base context にフックします
          Log.i(TAG, "attacheBaseContext");
      }
    
      @Override
      public void onCreate() {
          super.onCreate();
          Log.i(TAG, "onCreate");
          registerActivityLifecycleCallbacks(this);
      }
    
      @Override
      public void onMPaaSFrameworkInitFinished() {
          // mPaaS フレームワークの初期化が完了したときに呼び出されます
          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 オブジェクトに設定し、meta-data キー mpaas.quinoxless.extern.applicationMyApplication を登録します:

     <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 とホットパッチ機能には Apache HTTP クライアントが必要です。次のコードを AndroidManifest.xml ファイルに追加します。詳細については、「Use the Apache HTTP client」をご参照ください。

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