GoogleサービスなしでElement Android通知を修正する方法:UnifiedPushガイド

Element は開いている間は正常にメッセージを受信できますが、画面がロックされると通知されなくなります。Google Play 開発者サービスがインストールされていない Android スマートフォンでは、これは通常、Matrix アカウント自体ではなく配信経路に問題があることを示しています。このガイドの目的は、単にテスト通知を 1 つ表示させることではありません。良好な結果とは、再現性があることです。つまり、Element がバックグラウンドで実行されている間、スマートフォンがアイドル状態になった後、アプリを再度開く必要なくメッセージが届くことです。

このガイドでは、Element が新規ユーザーに推奨する最新の Android 版 Element X に焦点を当てています。2026 年 10 月 6 日現在、GitHub で公開されている最新のリリースは Element X And​​roid 26.09.4 で、最近のリリースには UnifiedPush コンポーネントがアクティブになっています。UnifiedPush は、Android アプリが Google の Firebase Cloud Messaging (FCM) 以外のディストリビューターを介してプッシュ メッセージを受信することを可能にするオープン プロトコルです。Element のプロジェクト ガイダンスには、UnifiedPush ディストリビューターをインストールすると、Element X がそれを検出してプッシュ プロバイダーとして提供できると記載されています。Element X And​​roid リポジトリ、Element X And​​roid リリース、およびGoogle Play サービスなしでの通知に関する Element チームの議論を参照してください。

成功した修復とはどのようなものか

設定を変更する前に、達成したい結果を明確に定義してください。通知設定が正常であるのは、以下のすべての条件を満たしている場合です。

  • Androidでは、Elementの通知が許可されています。
  • ntfy、Sunup、またはその他のサポートされているUnifiedPushディストリビューターがインストールされ、実行されている必要があります。
  • 要素Xは、その配信事業者がアクティブなプッシュ配信プロバイダーであることを示しています。
  • ディストリビューターはバックグラウンドで実行することが許可されており、Androidの制限付きバッテリー状態には配置されません。
  • Elementが完全にバックグラウンドで動作している状態で、別のMatrixアカウントから送信されたメッセージが届きます。
  • 同じテストは、電話機が数分間操作されていない状態でも有効です。

Elementを開いた後にのみメッセージが表示される場合は、同期は行われていますが、バックグラウンド配信が確実ではありません。アプリを開いている間はすぐにメッセージが表示されるのに、アプリを閉じると遅延する場合は、ルーム通知ルールではなく、プッシュ配信機能とAndroidのバックグラウンド制限に注目してください。

Googleサービスなしで通知が失敗する理由

ほとんどの一般的なAndroidアプリケーションは、新しいデータが利用可能になったときにアプリを起動するために、GoogleのプッシュサービスであるFCMを使用しています。Elementの通知に関するドキュメントによると、FCMにはGoogle Play開発者サービスが必要です。Googleサービスがインストールされていない端末では、FCMのみの設定では通常の起動パスを提供できません。また、Androidは、特にデバイスがアイドル状態になった場合、通常のアプリケーションがバックグラウンドで実行できる処理を制限しています。

UnifiedPushは、その依存関係をディストリビューターに置き換えます。ディストリビューターとは、プッシュ接続を維持し、受信した通知を登録済みのアプリケーションに渡すAndroidアプリです。UnifiedPushプロジェクトでは、ntfy、Sunup、NextPush、gCompat-UPなどのオプションが挙げられています。UnifiedPushの公式ディストリビューターリストを参照してください。

ステップ1:AndroidがElementの通知を表示することを許可されていることを確認します。

まずは最も単純なエラー箇所から確認しましょう。Android 13以降では、POST_NOTIFICATIONS通常の通知が表示される前に、アプリケーションに実行時権限が付与されている必要があります。Androidの設定を開き、「アプリ」の下にある「要素X」を探して、通知が許可されていることを確認してください。また、お使いのAndroidのバージョンやメーカーによっては、個別の通知カテゴリも確認する必要があります。

Element X の Android アプリ通知画面(通知を許可し、サウンドとバイブレーションを選択)
プッシュ通知のトラブルシューティングを行う前に、AndroidでElement Xの通知を許可する必要があります。Android 13以降では、プッシュ通知自体が正常に動作している場合でも、通知権限によってアラートがブロックされることがあります。

Androidの公式ドキュメントによると、Android 13以降に新しくインストールされたアプリは、ユーザーが許可するまで通常の通知を送信できません。Androidの通知権限に関するドキュメントを参照してください。

品質チェック: Androidで通知が無効になっている場合は、まずそれを修正して再テストしてください。通知は既に許可されているにもかかわらず、要素がバックグラウンドにある間に何も届かない場合は、プッシュ通知プロバイダーに進んでください。

ステップ2:UnifiedPushディストリビューターをインストールして有効化する

お使いのデバイスに適したソースからUnifiedPushディストリビューターをインストールしてください。ntfyは、公開サーバーまたはセルフホスト型サーバーの両方を使用できるため、よく利用されています。ntfyのUnifiedPushクイックスタートでは、ntfyをインストールし、必要な通知権限とバッテリー権限を付与した後、互換性のあるアプリケーション内でntfyをディストリビューターとして選択するようにユーザーに指示しています。ntfyの公式UnifiedPushクイックスタートを参照してください。

ntfyを開き、UnifiedPushのサポートが有効になっていることを確認してください。自己ホスト型のntfyサーバーを使用している場合は、Androidアプリがそのサーバーに接続されていること、およびサーバーがスマートフォンの現在のネットワークからHTTPS経由でアクセス可能であることを確認してください。

UnifiedPushを有効にしてサーバーを設定したntfy設定画面
ディストリビューターは、UnifiedPushを有効にし、サーバーへの接続がアクティブになっている必要があります。正確な表現はntfyのバージョンによって異なる場合がありますが、Elementがディストリビューターに登録する前に、ディストリビューターが準備完了している必要があります。

品質チェック: ntfyがインストールされているだけでは不十分です。ディストリビューターが有効で、アクセス可能である必要があります。インストール後にElementがディストリビューターを認識できない場合は、Element Xを完全に終了して再度起動し、サーバー側のMatrix設定を変更する前にアプリのアップデートを確認してください。

ステップ3:Element X内でUnifiedPushプロバイダーを選択します。

Element X の設定を開き、通知領域に移動します。互換性のある配信元が検出されると、Element X はプッシュ配信プロバイダーの選択肢を表示します。Firebase/FCM ではなく、インストールされている UnifiedPush 配信元を選択してください。Element のプロジェクト管理者は、Google サービスがインストールされていないデバイス向けにこのフローを明示的に説明しており、現在のソースコードには UnifiedPush プッシュ配信プロバイダー モジュールが含まれています。

Element Xの設定画面で、プッシュ通知プロバイダーとしてntfyが選択され、テスト通知オプションが表示されます。
Element Xで、インストールされているUnifiedPushディストリビューターを選択してください。お使いのバージョンに通知テストまたはトラブルシューターが含まれている場合は、バッテリー設定やサーバー構成を変更する前に実行してください。

ディストリビューターをインストールした後でも、ビルドにプロバイダーセレクターが表示されない場合は、ホームサーバーが故障していると決めつけないでください。まず、Element X を最新のサポート対象ビルドにアップデートし、Element X とディストリビューターの両方を再起動してください。UI のラベルは Element X のリリースごとに変更されているため、正確なメニュー名は異なる場合があります。

品質チェック:プロバイダー名が表示されるだけでは十分ではありません。Elementがバックグラウンドで動作している状態で、別のMatrixアカウントから実際のメッセージを送信してみてください。正常に動作するプロバイダーであれば、アプリを手動で開かなくても、デバイスがElementを起動し、メッセージ通知を表示するはずです。

ステップ4:配信元からバックグラウンド制限を解除する

UnifiedPushは、ディストリビュータが常に接続可能であることを前提としています。Androidがntfyまたは他のディストリビュータを制限付きバッテリー状態に設定すると、プッシュ接続が中断される可能性があります。Androidでは、多くのデバイスで3つの主要なバックグラウンドバッテリーモード(無制限、最適化、制限付き)が説明されています。制限付きモードでは、アプリが依存するジョブ、アラーム、およびフォアグラウンドサービスの動作が防止される場合があります。

ntfyのAndroidバッテリー使用状況画面で、「最適化」または「制限付き」ではなく「無制限」が選択されている場合
トラブルシューティングのために、UnifiedPushディストリビューターをバッテリー制限なしで実行できるようにしてください。これによりバッテリー消費量が増加する可能性があるため、デバイスの信頼性が大幅に向上する場合にのみこの設定を維持してください。

通知が遅延したり、アイドル状態中に通知が表示されなくなったりする場合は、販売元のAndroid設定を開き、バッテリー使用設定を「制限付き」から「制限なし」に変更してください。また、Element X自体を調べて、明示的に制限されていないことを確認することもできます。メーカー固有のAndroidビルドでは、自動起動、バックグラウンドデータ、アプリのスリープに関する個別の制御が追加されている場合があります。

GoogleのAndroidドキュメントによると、ユーザーが「制限付き」状態を選択すると、一部のデバイスではアプリがバックグラウンドで実行されなくなる場合があるとのことです。Androidのバックグラウンド最適化に関するガイダンスを参照してください。

品質チェック:スマートフォンをロックして10~20分間放置した後、別のアカウントから複数のメッセージを送信してください。アラートが迅速かつ安定して届く場合は、アプリ起動直後に実行したテストよりもバックグラウンド処理の状態が良好です。

どの部分がまだ故障しているかを見分ける方法

観測結果最も可能性の高いエリア次のアクション
要素が開いている間も通知は表示されないルームルール、アカウント通知設定、またはAndroid通知権限まず、Elementのルーム/アカウント通知設定とAndroidの権限を確認してください。
通知は要素を開いたときにのみ表示されますプッシュプロバイダーまたはディストリビューターのバックグラウンド接続ElementがUnifiedPushを使用していることを確認し、販売代理店からバッテリー制限を解除してください。
数分間は動作するが、アイドリング後に停止する。Doze、OEMバッテリー制御、スリープアプリポリシーディストリビューターを「制限なし」に設定し、メーカー固有のバックグラウンド制御を確認してください。
要素には配信者が表示されますが、実際のメッセージは届きませんディストリビューターサーバー、マトリックスプッシュゲートウェイ、またはエンドポイントのレート制限Elementを再インストールする前に、別のディストリビューター/サーバーでテストしてください。
静かな部屋は1つだけ部屋ごとの通知ルール全体的なプッシュ通知設定を変更するのではなく、その部屋の通知レベルを確認してください。

現在の設定から切り替えるべきタイミング

設定は技術的には正しくても、実際にはうまく機能しない場合があります。Element のトラッカーには、特定の Matrix シナリオにおけるパブリック ntfy インフラストラクチャを含む、一部の UnifiedPush エンドポイントがレート制限されるケースが記録されています。つまり、登録は正しく見えても、通知が届かない場合があります。UnifiedPushエンドポイントのレート制限に関する Element の問題を参照してください。

権限、プロバイダーの選択、バッテリー設定がすべて正しくても配信が不安定な場合は、別のUnifiedPush配信者またはセルフホスト型のプッシュサーバーをお試しください。UnifiedPushには、ホスト型とセルフホスト型の両方の選択肢に関するドキュメントがあります。これは、配信チェーンの中で最も問題が発生しやすい部分を変更するため、要素データを繰り返しクリアするよりも優れた診断手順となることがよくあります。

セルフホスティングはより詳細な制御を可能にしますが、運用上の責任も増えます。ntfyの場合、Matrixゲートウェイはセルフホスティング展開に適した構成になっている必要があります。UnifiedPushの公式ntfyガイドにもこの要件が記載されています。テスト通知が1回遅延したという理由だけでセルフホスティングに移行しないでください。障害が再現可能で、Androidの制限が原因ではないことが確認できた場合にのみ切り替えを検討してください。

以前のElement Androidアプリはどうでしょうか?

以前の世代の Element Android アプリケーションも、FCM 以外の操作と UnifiedPush を実装していました。公式ドキュメントには、F-Droid のバックグラウンド ポーリングと UnifiedPush のサポートの両方が記載されています。ただし、Element は現在、新規ユーザーに Element X を推奨しているため、特定の互換性要件がない限り、現在の Element X を使用するのがより良い出発点となります。以前の実装の詳細は、Android のアイドル モード下でポーリングのみでは信頼性が低い理由を理解するのに役立ちます。Element Android の UnifiedPushについては、アーカイブ済み/現在のプロジェクト ドキュメントを参照してください。

最終確認チェックリスト

  • Element X の Android 通知権限が有効になっています。
  • UnifiedPushディストリビューターがインストールされ、有効化され、接続されています。
  • 要素Xは、その分配器を使用するように構成されています。
  • ディストリビューターは、Androidのバッテリー制限モードには対応していません。
  • Elementがバックグラウンドで動作している場合でも、別のアカウントからのメッセージによって通知が表示されます。
  • 同じテストは、電話がしばらく操作されていない状態でも有効です。
  • それでも配送が失敗する場合は、Matrixアカウントをリセットする前に、別の販売代理店またはサーバーをテストしてください。

すべてのAndroidビルドで即時配信を保証する普遍的な設定は存在しません。デバイスベンダーは追加のバックグラウンド制限を課す可能性があり、ネットワークは永続的な接続を妨害する可能性があり、プッシュエンドポイントは一時的に利用できなくなったり、レート制限がかかったりする可能性があります。したがって、最も確実な結果は、単一の通知成功ではなく、複数のバックグラウンドおよびアイドルテストで再現性のある動作が得られることです。

コメントを残す

SSL更新後にZimbra管理コンソールで発生する404 Not Foundエラーを修正する

SSL更新後にZimbra管理コンソールで発生する404 Not Foundエラーを修正する

SSL更新後に発生するZimbra管理コンソールの404エラーを修正するには、正しいURLとポート、プロキシルーティング、サービスステータス、デプロイ済みの証明書、およびログを確認してください。

Nextcloudの「PHP OPcacheが正しく設定されていません」という警告を修正する

Nextcloudの「PHP OPcacheが正しく設定されていません」という警告を修正する

アクティブなPHP SAPI、サイズ制限、コメント、および再検証設定を確認することで、NextcloudのPHP OPcache構成警告を診断および修正する方法を学びましょう。

MySQLバージョンアップグレード後のKopanoデータベース移行エラーを修正する

MySQLバージョンアップグレード後のKopanoデータベース移行エラーを修正する

MySQLまたはMariaDBのアップグレード後にKopanoデータベースの移行が失敗した場合は、バックアップ、サーバーバージョン、SQLモード、文字セット、スキーマ状態、およびログを確認してトラブルシューティングを行います。

NextcloudでLDAPとActive Directory認証を設定する方法

NextcloudでLDAPとActive Directory認証を設定する方法

セキュアなトランスポート、ユーザーおよびグループフィルタ、ログイン属性、そしてテスト済みの展開機能を使用して、NextcloudをLDAPまたはActive Directoryに接続します。

GoogleサービスなしでElement Android通知を修正する方法:UnifiedPushガイド

GoogleサービスなしでElement Android通知を修正する方法:UnifiedPushガイド

UnifiedPush、Androidの権限設定、バッテリー設定、および信頼性の高い検証テストを設定することで、Googleサービスを削除した端末におけるElement Android通知の問題を修正します。

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudのデータベースインデックス不足警告を、公式のoccコマンドでクリアします。まずバックアップを作成し、変更内容をプレビューしてから修復を実行し、結果を確認してください。

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element Web 用の Keycloak SSO を設定するには、OIDC を Synapse に接続し、正確なコールバック URL を設定し、ユーザー クレームをマッピングし、ログアウトをテストします。

Zimbraの「LDAPサーバーが応答しません」起動エラーを修正する:実践的な復旧ガイド

Zimbraの「LDAPサーバーが応答しません」起動エラーを修正する:実践的な復旧ガイド

応答しないLDAPサーバーが原因で発生するZimbraの起動失敗を診断および修正する方法を学びましょう。これには、サービスチェック、DNS、ポート、証明書、LDAP URL、および復旧検証が含まれます。

ownCloud Infinite Scale 用の S3 オブジェクトストレージの設定方法

ownCloud Infinite Scale 用の S3 オブジェクトストレージの設定方法

ownCloud Infinite Scale向けに、s3ngドライバ、POSIXメタデータ、バケットポリシー、検証、および安全な本番環境チェックを使用して、S3互換のオブジェクトストレージを設定します。

Zimbraメールキューのバックログを修正する:Postfixを安全にフラッシュし、配信を確認する

Zimbraメールキューのバックログを修正する:Postfixを安全にフラッシュし、配信を確認する

Zimbra Postfixのバックログを検査する方法、延期されたメールと保留されたメールを識別する方法、安全なキューフラッシュを実行する方法、メッセージを削除せずに進捗状況を確認する方法を学びましょう。