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

Mobile Platform as a Service:FAQ

最終更新日:Jan 17, 2025

このトピックでは、メッセージプッシュサービスの統合と使用の過程で発生する可能性のある一般的な問題をまとめ、対応する解決策を提供します。

一般的な質問

権限の説明

Android 6.0 以後のバージョンでは、ユーザーは SD カードの読み取り/書き込みなど、電話への権限を手動で付与する必要があります。メッセージをより正確に送信するために、開発者はユーザーに通知に必要な権限を付与する方法のガイドを提供することをお勧めします。

ログが出力されない

Meizu スマートフォンで、log.dlog.i が出力されない場合は、[設定] > [ユーザー補助オプション] > [開発者向けオプション] を選択し、[高度なログ出力] をオンにしてください。

開発上の問題が発生した場合は、tag=mpush を設定してログをフィルタリングできます。

Android 関連の質問

ベースラインバージョン 10.1.60.5 ~ 10.1.60.7 でのポート解決の問題

プライベートクラウド環境では、443 以外のポートを使用したメッセージプッシュの場合、サーバー構成の解決に失敗し、接続エラーが発生します。

解決策:

  • パッケージ化に構成ファイルを使用する場合は、構成ファイルを次のように変更します。

      //構成ファイルの残りの部分を無視し、カスタムポート番号の前に \\{空白} を追加します。
      {
          "pushPort":"\\ 8000",
      }
  • パッケージ化に構成ファイルを使用しない場合は、AndroidManifest.xmlrome.push.port の値を次のように変更します。

      //ポート番号の前に \{空白} を追加します。
      <meta-data
          android:name="rome.push.port"
          android:value="\ 8000" />

Huawei、Xiaomi などのサードパーティチャンネルにアクセスした後にメッセージのプッシュに失敗する

mPaaS メッセージプッシュサービスコンソールで、対応するチャンネルの設定をオンにする必要があります。サンプルコード、使用方法、注意事項については、「コードサンプル」を参照してください。

プッシュ広告トークン (deviceId) の生成に関する注意事項

サーバーは IMSI と IMEI に依存して deviceId を生成します。そのため、ユーザーに「READ_PHONE_STATE」権限を付与するようにガイドすることをお勧めします。

通知バーへのメッセージプッシュには、EMUI と Huawei モバイルサービスのバージョン制限がありますか?

Emotion UI と Huawei モバイルサービスにはバージョン制限があります。Emotion UI (略称 EMUI) は、Android ベースの感情的なオペレーティングシステムであり、Huawei によって開発されています。

詳細なバージョン要件については、「Huawei 通知を受信するためのデバイスの条件」をご参照ください。

Huawei 製品の電話でログを出力できない

電話の発信 UI で、*#*#2846579#*#* と入力して [プロジェクト] メニュー > [バックグラウンド設定] > [ログ設定] に入り、[AP ログ] を選択します。電話が再起動すると、Logcat が有効になります。

Huawei 製品の電話でプッシュエラーコードを受信した場合はどうすればよいですか?

エラーコードの詳細については、Huawei 公式 Web サイトの「クライアントエラーコードの説明」および「サーバーエラーコードの説明」をご参照ください。

OPPO Push でサポートされているモデルとシステムバージョン

現在、ColorOS 3.1 以後のシステムを実行している OPPO 製品の電話モデル、OnePlus 5/5T 以後の電話モデル、および すべての realme 製品の電話モデルがサポートされています。

ColorOS は、OPPO による高度にカスタマイズされた、効率的でインテリジェントな、そして洗練されたデザインの Android ベースのモバイル OS です。

OPPO 製品の電話でプッシュエラーコードを受信した場合はどうすればよいですか?

OPPO プッシュが機能しない場合は、クライアントログで「OPPO onRegister error =」を検索してエラーコードを取得できます。次に、「OPPO エラーコード」を参照して、対応する原因を見つけてください。

vivo Push でサポートされているモデルとシステムバージョン

vivo Push でサポートされているモデルと最も古いシステムバージョンは、次の表に一覧表示されています。vivo プッシュに関するその他の質問については、「vivo Push に関する FAQ」をご参照ください。

1

vivo 製品の電話でプッシュエラーコードを受信した場合はどうすればよいですか?

vivo Push が機能しない場合は、クライアントログで「fail to turn on vivo Push state =」を検索して状態コードを取得し、「公開状態コード」を参照して具体的な原因を見つけてください。

一般的な Android の問題のトラブルシューティング手順

  1. Manifest ファイルが正しく構成されているかどうかを確認します。

  2. appId (Huawei、Xiaomi、または vivo)、appSecret (Xiaomi または OPPO)、appKey (OPPO または vivo)、および ALIPUSH_APPID (mPaaS) が、対応する開発プラットフォームのアプリ登録情報と一致しているかどうかを確認します。

  3. mpush というタグが付いた Logcat ログを確認します。

アプリがフォアグラウンドで実行されているときに、メッセージのバナーまたはサウンドアラートが表示されるかどうか

Apple のデフォルトのメカニズムでは、アプリがフォアグラウンドにある場合、メッセージは到着しますが表示されません。フォアグラウンドでメッセージを表示するには、手動で実装する必要があります。

メッセージの状態が NoBindInfo である

NoBindInfo は、ユーザーが UserId でメッセージをプッシュしたが、UserId に基づいて対応する情報が見つからないことを意味します。クライアントがバインディング API を呼び出したかどうか、および対応する appId と workspaceId が一致しているかどうかを確認してください。

メッセージの状態が BadDeviceToken である

この状態は iOS プッシュの場合にのみ表示され、実際にプッシュされたトークンが無効であることを示します。まず、証明書の環境が正しいかどうかを確認します。

  • アプリが開発証明書でパッケージ化されている場合、プッシュコンソール構成には開発環境証明書が必要ですが、Xcode は実デバイスでのデバッグに開発者証明書を必要とします。

  • アプリが本番証明書でパッケージ化されている場合、プッシュコンソール構成には本番環境証明書が必要です。

メッセージの状態が DeviceTokenNotForTopic である

この状態は iOS プッシュの場合にのみ表示され、トークンがプッシュで使用される証明書の BundleId と一致しないことを示します。証明書が正しいかどうか、および証明書の BundleId がクライアントパッケージで使用される BundleId と一致しているかどうかを確認してください。

iOS 製品の電話でメッセージを受信できないが、メッセージの状態は ACKED である

iOS プッシュの場合、メッセージの状態が ACKED である場合、メッセージは Apple Push Notification サービスに正常にプッシュされたことを意味します。プッシュ権限が有効になっているかどうか、およびアプリをバックグラウンドに切り替えたかどうかを確認してください。

Apple のデフォルトのメカニズムでは、アプリがフォアグラウンドにある場合、メッセージは到着しますが表示されません。フォアグラウンドでメッセージを表示するには、手動で実装する必要があります。

RPC 呼び出しの例外

リモートプロシージャコール ( RPC ) リクエストを介してリソースを呼び出すときに例外が発生した場合は、「Security Guard エラーコード」または「ゲートウェイ結果コード」を参照して問題のトラブルシューティングを行ってください。