なぜプッシュテンプレートはAndroidでレンダリングの問題を抱えるのか?

プッシュテンプレート通知は、デフォルトの通知とは若干異なり、レンダリングの問題もあります。

プッシュテンプレート通知のサイズ

通知タイプ 折りたたみモードの高さ 拡張モードの高さ
ネイティブ通知(基本) 100 dp ~300 dp

カスタム通知

SDKバージョンが 11.4.02未満 で、Pushテンプレートモジュールバージョンが2.4.0未満です。

64 dp 256 dp

カスタム通知

SDK バージョン 11.4.02 以上およびプッシュテンプレートモジュールバージョン 2.4.0 以上

100 dp 287 dp

64 dp の高さのプッシュテンプレート

カスタムプッシュ通知の寸法は、 カスタム通知のためのAndroidガイドライン に沿っています。

カスタム通知の高さが低いため、デフォルトの通知の高さはカスタマイズされた通知よりも大きくなっています。この理由は、高さが64 dpを超えるカスタムプッシュ通知が一部のデバイスで失敗していたためです。動的レイアウトが実現不可能なため、MoEngageはAndroidガイドラインに従って高さを制限しました。

拡張モードでは、画像の利用可能な領域は次のとおりです:

利用可能な画像の高さ ボタンが存在します
192 dp No
152 dp Yes

拡張モードではスペースが制限されているため、ネイティブ通知では問題なく表示される画像でも、画像が切り取られる可能性があります。

100 dpの高さのプッシュテンプレート

  • 新しく改善されたプッシュテンプレートは、SDKバージョン 11.4.02 以上 とプッシュテンプレートモジュールバージョン 2.4.0 以上で利用可能です。
  • 改善された通知の見た目と感触は、フォントサイズ、間隔、およびパディングの点で基本通知に似ています。
  • MoEngageはアプリ名と色のカスタマイズをサポートしています。MoEngageは、より多くのオリジナル機器製造業者(OEM)をテストしており、OEMをホワイトリストに追加します。
  • 100 dp の通知は、ホワイトリストに登録された OEM のみで機能します。これは、100 dp のカスタマイズがすべてのデバイスで正しく表示されないためであり、主に OEM がオペレーティングシステムの上に行ったさまざまなスキンのカスタマイズが原因です。現在、 Google、OnePlus、Samsung、Oppo、Vivo、およびMotorola はホワイトリストに登録されています。MoEngageは、このリストにさらに多くのOEMを追加する作業を進めています。
  • これに加えて、ワークスペースレベルでのOEMのホワイトリスト化の規定があります。これは、あなたが追加のOEMをホワイトリストに登録するか、すでにホワイトリストに登録されているものをブラックリストに登録することを選択できることを意味します。あなたの側で適切な注意を払った後に。 サポートチケットを提出 して、ホワイトリストに登録されたOEMのセットを変更してください。
  • ホワイトリスト方式:
    • 各OEMについて、通知の動作が異なるスキンバージョンに関連して変化するため、最新の3つのスキンバージョンをテストしました。これにより、最新の3つのAndroidバージョン(Android 11、10、9)がカバーされます。Android 12は、通知レイアウトが非常に異なるため、考慮リストには含まれていません。
    • 100 dpが最新の3つのスキンバージョンすべてで正常にレンダリングされる場合、MoEngageはOEMをホワイトリストに追加します。そうでない場合は、各OEMをケースバイケースで検討します。
    • MoEngageがデバイス/OEMの100 dpをサポートしない場合、64 dpのカスタムプッシュ通知がレンダリングされます。

画像のレンダリングで最良の結果を得るには、すべての通知に対してこれらのガイドラインに従ってください:

  • 画像のアスペクト比を約2:1に保ってください。
    画像がこのアスペクト比に近い場合、トリミングは最小限に抑えられます。ただし、いくつかのデバイスでは、このアスペクト比に従っているにもかかわらず、トリミングが発生することがあります。これは以下の理由によるものです:
    • Androidにおけるデバイスサイズの違い。
    • 一部のOEMは、その上にさらなるカスタマイズを追加します。例えば、RedMiデバイスでは、プッシュ通知の周りに追加のパディングが追加されるため、プッシュ通知と画像がさらに切り取られます。
  • 画像を作成して、コンテンツが中央揃えになるようにしてください。
    これにより、マージン周辺でクロッピングが発生しても、主要なコンテンツが切り取られないようになります。

mceclip6.png

ユーザーは背景色なしでスタイライズされたプッシュ通知を受け取ります

一部のユーザーは、背景色なしでHTMLコンテンツを含むプッシュ通知を受信しました。この問題の可能性のある理由は次のとおりです:

プッシュテンプレート通知を設定するたびに:

  • HTMLテキスト(太字、斜体、下線、取り消し線、またはテキストの色が設定されている場合)および
  • 背景色
  • Image

SDKは通知を次の順序でレンダリングします:

  • HTMLテキストフィールドとアプリアイコンを使用して基本的なプッシュ通知をレンダリングします。
  • 次に、SDKは背景色を含むカスタムレイアウトを描画しようとします。画像を設定すると、SDKは画像を並行してダウンロードしようとします。

SDKは通知全体をレンダリングするのに約10秒しかかからないため、時々、インターネット接続が不良だったり、他のネットワークの問題が原因で、バックグラウンドレンダリングや画像レンダリング、またはその両方が失敗することがあります。両方が失敗した場合、スタイライズされたテキストのみで背景色のないプッシュ通知が表示されることになります。

背景色のレンダリング失敗の影響

  • テキストの色を白に設定すると、デバイスのテーマが ライトモード に設定されている場合、ユーザーは以下のように空白の通知を表示します:
    mceclip0.png
  • テキストの色を に設定すると、ユーザーのデバイステーマが ダークモード に設定されている場合、以下のように通知が空白になります:
    mceclip1.png

MoEngageは次のように提案しています:

  • 可能な限り、明るい背景と暗い背景に対して対照的なテキストカラーを使用してください。
  • MoEngageダッシュボードでキャンペーンを作成する際は、プレビューをダークモードとライトモードの両方で確認し、通知が両方のモードで正常に表示されることを確認してください。

ダークモードにおけるカラー反転(デバイス固有の問題)

ダークモードでスタイライズされたプッシュが送信されると、いくつかの色が反転します。これはAndroid 10を実行しているいくつかのOppoデバイスでのみ観察されています。これは、OPPOが作成したオペレーティングシステムであるColorOSのバグによるものであり、MoEngageの範囲を超えています。

パーソナライズの失敗

テンプレートとバックアップ通知の両方にパーソナライズを追加しましたが、パーソナライズのフォールバックは追加していません。この状況では、テンプレートまたはバックアップのいずれかでパーソナライズが失敗した場合、通知はユーザーに送信されません。これは、テンプレートとバックアップが1つのペイロードの一部と見なされているためであり、パーソナライズのフォールバックが存在しないため、MoEngageは失敗した場合にユーザーに送信する代替メッセージを持たないことになります。

この問題を避けるために、メッセージにパーソナライズバックアップを追加することを確認してください。パーソナライズの失敗に関する詳細については、 一般的なパーソナライズエラーとFAQ を参照してください。

この記事は役に立ちましたか?
5人中3人がこの記事が役に立ったと言っています

How can we improve this article?