動作の変更: すべてのアプリ
以下の動作変更は、targetSdkVersion に関係なく、Android 12 で実行されるすべてのアプリに適用されます。Web インテントの解決
Android 12(API レベル 31)以降では、汎用的な Web インテントは、アプリがその Web インテントに含まれる特定のドメインに対して承認されている場合にのみ、アプリ内の Activity に解決されます。アプリがそのドメインに対して承認されていない場合、Web インテントは代わりにユーザーのデフォルトブラウザアプリに解決されます。 アプリは以下のいずれかの方法で承認を取得します。- Android App Links を使用してドメインを検証する。
- ユーザーがシステム設定で手動でアプリをドメインに関連付ける。
どのような影響がありますか?
キャンペーン(Push/InApp/Cards)で http(s) ディープリンクを使用しており、それらのリンクがアプリケーションで App Links として設定されていない場合、Android 12 を実行しているデバイスではユーザーがブラウザに遷移します。修正方法
MoEngage では、アプリケーションで App Links を設定することをお勧めします。または、同じ Activity に対してアプリスキーマのディープリンク(例: example://gizmos)がアプリケーションですでに設定されている場合は、キャンペーンを編集してリンクを更新してください。動作の変更: Android 12 をターゲットとするアプリ
以下の動作変更は、Android 12 以降をターゲットとするアプリ、つまり targetSdkVersion が API レベル 31 以上に設定されているアプリにのみ適用されます。PendingIntent の可変性
アプリが Android 12 をターゲットとする場合は、アプリが作成する各 PendingIntent オブジェクトの可変性を指定してください。この追加要件により、アプリのセキュリティが向上します。 詳細については、Android リリースノートを参照してください。どのような影響がありますか?
アプリケーションの targetSdkVersion が 31 で、MoEngage SDK が最新バージョン(11.4.00 以降)に更新されていない場合、Android 12 デバイスではプッシュ通知が表示されません。修正方法
targetSdkVersion を API レベル 31 に更新するとともに、最新の MoEngage SDK(11.4.00 以降)に更新してください。カスタム通知
Android 12 では、完全なカスタム通知の外観と動作が変更されます。以前のバージョンのカスタム通知は、通知領域全体を使用し、独自のレイアウトとスタイルを提供していました。その結果、ユーザーを混乱させるアンチパターンや、さまざまなデバイスでのレイアウト互換性の問題が発生していました。 Android 12 をターゲットとするアプリでは、カスタムコンテンツビューを持つ通知は通知領域全体を使用しなくなり、代わりにシステム定義の標準テンプレートが適用されます。どのような影響がありますか?
アプリケーションの targetSdkVersion が 31 で、rich-notification のバージョンが 2.2.01 以前の場合、Android 12 デバイスではテンプレートが切り詰められたり崩れたりして表示されます。修正方法
rich-notification を最新バージョン(2.3.00 以降)に更新してください。MoEngage では、アプリケーションの targetSdkVersion が 31 で、デバイスが Android 12 を実行している場合、テンプレートを一時的に無効にしています。 Android 12 の新しい仕様に対応したテンプレートの MoEngage サポートは、今後のリリースで提供される予定です。バックアップと復元の変更点
Android 12(API レベル 31)で実行され、それをターゲットとするアプリでは、バックアップと復元の機能が変更されています。Android のバックアップと復元には 2 つの形式があります。- クラウドバックアップ: ユーザーデータはユーザーの Google ドライブに保存され、そのデバイスまたは新しいデバイスでデータを復元するために使用されます。
- デバイス間(D2D)転送: ユーザーデータは、ケーブルを使用してユーザーの古いデバイスから新しいデバイスに直接送信されます。
D2D 転送機能の変更点
Android 12 以降で実行され、それをターゲットとするアプリの場合:- android:allowBackup:“false” を指定すると Google ドライブへのバックアップは無効になりますが、アプリの D2D 転送は無効になりません。
- XML 設定メカニズムによるインクルードおよび除外ルールの指定は、Google ドライブのバックアップには引き続き影響しますが、D2D 転送には影響しなくなりました。D2D 転送のルールを指定するには、新しい設定形式を使用する必要があります。
新しいインクルードおよび除外の形式
Android 12 以降で実行され、それをターゲットとするアプリは、異なる XML 設定形式を使用します。新しい形式では、クラウドバックアップと D2D 転送に対してインクルードおよび除外ルールを個別に指定することで、Google ドライブのバックアップと D2D 転送を区別します。 オプションで、新しい形式を使用してバックアップのルールを指定することもできます。その場合、古い設定は無視されます。どのような影響がありますか?
アプリケーションの targetSdkVersion が 31 の場合、バックアップには MoEngage SDK の識別子が含まれ、再インストール後に復元されます。識別子が復元されると、データが破損し、プッシュ通知でユーザーにリーチできなくなります。修正方法
更新された形式で設定を追加してください。詳細については、Exclude MoEngage Storage File from Auto Backup を参照してください。SDK バージョンを更新する際は、追加モジュールの互換性を確認し、それに応じて更新してください。