mPaaS は、mPaaS 10.2.3.4 以降で targetSdkVersion 31 をサポートしています。アプリケーションで targetSdkVersion 31 が必要な場合は、「mPaaS プラグインを使用する」を参照して SDK を 10.2.3.4 以降にアップグレードしてから、以下の手順に従って適応と回帰テストを実行してください。
targetSdkVersion 31 への適応
前提条件
mPaaS は targetSdkVersion 28、targetSdkVersion 29、および targetSdkVersion 30 に適応されています。詳細については、「targetSdkVersion 28 への mPaaS の適応」、「targetSdkVersion 29 への mPaaS の適応」、および「targetSdkVersion 30 への mPaaS の適応」をご参照ください。
mPaaS は、「mPaaS 10.2.3 アップグレードガイド」に従ってベースライン 10.2.3 に適応されています。
targetSdkVersion の値の変更
ネイティブ AAR 統合モード
プロジェクトのメインモジュールにある build.gradle ファイルを開き、targetSdkVersion 属性の値を 31 に変更します。
コンポーネント化統合モード
ポータルプロジェクトのメインモジュールにある
build.gradleファイルを開き、targetSdkVersion 属性の値を 31 に変更します。バンドルプロジェクトでは、targetSdkVersion 属性の値は変更せずにそのままにすることができます。ただし、targetSdkVersion 属性の値は、ポータルプロジェクトの値以下である必要があります。
コンポーネントの安全なエクスポート
targetSdkVersion 31 のアプリケーションでは、intent-filter を含む Activity、Service、および BroadcastReceiver に対して exported 属性を明示的に宣言する必要があります。
ソーシャルシェアリング
QQ へのシェアを統合するには、
AndroidManifest.xmlに次の構成を追加します。<!-- QQ へのシェアを統合するには、target 31 適応をマージする必要があります。 --> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:exported="true" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- QQ シェア ID は「tencent + QQ シェア ID」の形式です。QQ シェア ID がコードで構成されているものと同じであることを確認する必要があります。そうでない場合、シェアのコールバックが例外になる可能性があります。--> <data android:scheme="xxxxx" /> </intent-filter> </activity>Weibo へのシェアを統合するには、AndroidManifest.xml に次の構成を追加します。
<!-- Weibo へのシェアを統合するには、target 31 適応をマージする必要があります。 --> <activity android:name="com.sina.weibo.sdk.share.WbShareResultActivity" android:configChanges="orientation|screenSize|keyboardHidden" android:exported="true" android:launchMode="singleTop" android:theme="@android:style/Theme.Translucent.NoTitleBar" tools:replace="configChanges"> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_STORY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
メッセージプッシュサービス (MPS)
メッセージプッシュサービス (MPS) を統合するには、「Android に MPS を統合する」を参照して、
com.alipay.pushsdk.BroadcastActionReceiverにexported属性を追加します。ベンダーチャネルによって Huawei プッシュ HMS5 を統合するには、「Huawei プッシュドキュメント」を参照して、適応済みバージョンにアップグレードします。バージョンをすぐにアップグレードできない場合は、
AndroidManifest.xmlに次の構成を追加します。<!-- Huawei プッシュを使用するには、target 31 適応をマージする必要があります。 --> <receiver android:name="com.huawei.hms.support.api.push.PushMsgReceiver" android:directBootAware="true" android:exported="true"> <intent-filter> <action android:name="com.huawei.intent.action.PUSH_DELAY_NOTIFY" /> <action android:name="com.huawei.intent.action.PUSH" /> </intent-filter> </receiver> <receiver android:name="com.huawei.hms.support.api.push.PushReceiver" android:directBootAware="true" android:exported="true"> <intent-filter> <action android:name="com.huawei.android.push.intent.REGISTRATION" /> <action android:name="com.huawei.android.push.intent.RECEIVE" /> </intent-filter> </receiver>ベンダーチャネルによって Huawei プッシュ HMS2 を統合するには、「Huawei プッシュの統合 - HMS2.x」を参照して、
com.huawei.hms.update.provider.UpdateProviderおよびcom.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiverにexported属性を追加します。.hms.update.provider.UpdateProvidercom.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiverベンダーチャネルによって OPPO プッシュを統合するには、「OPPO バージョンリリースノート」を参照して、適応済みバージョンにアップグレードし、「OPPO プッシュ」を参照して、
CompatibleDataMessageCallbackServiceおよびDataMessageCallbackServiceにexported属性を追加します。
UC カーネル
UC カーネルのクラッシュイベントをキャプチャする機能を使用するには、「UC カーネルのクラッシュイベントをキャプチャする」を参照して、ClientMonitorWakeupReceiver に exported 属性を追加します。
回帰テスト
完全な回帰テストには Android 12 以降のデバイスが含まれていることを確認してください。回帰テストでは、使用している場合は、次の表に示すコンポーネントとその機能に焦点を当てます。
コンポーネント | テスト項目 |
モバイルゲートウェイサービス (MGS) |
|
メッセージプッシュサービス (MPS) |
|
ミニプログラム |
|
モバイルデリバリーサービス (MDS) のアップグレード |
|
ソーシャルシェアリング |
|
インテリジェントデュアルレコーディングシステム |
|