タグ付けされた質問 「firebase-cloud-messaging」

Firebase Cloud Messaging(FCM)はGCMの新しいバージョンです。信頼性が高くスケーラブルなGCMインフラストラクチャに加えて、新機能を継承しています。これは、ユーザーが無料でメッセージと通知を確実に送受信できるクロスプラットフォームソリューションです。Android、iOS、デスクトップWebブラウザー、JavaScriptまたはWebPushを備えたモバイルWeb、およびモノのインターネット(IoT)デバイスをサポートしています。

25
アプリがFirebaseでバックグラウンドにあるときに通知を処理する方法
これが私のマニフェストです <service android:name=".fcm.PshycoFirebaseMessagingServices"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> <service android:name=".fcm.PshycoFirebaseInstanceIDService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> </intent-filter> </service> アプリがバックグラウンドで通知が届くと、デフォルトの通知が来て私ののコードを実行しませんonMessageReceived。 これが私のonMessageReceivedコードです。アプリがバックグラウンドで実行されているときではなく、フォアグラウンドで実行されている場合に呼び出されます。アプリがバックグラウンドでもこのコードを実行する方法は? // [START receive_message] @Override public void onMessageReceived(RemoteMessage remoteMessage) { // TODO(developer): Handle FCM messages here. // If the application is in the foreground handle both data and notification messages here. // …

25
アプリがバックグラウンドにあるときにFirebase onMessageReceivedが呼び出されない
Firebaseを使用して、アプリがバックグラウンドにあるときにサーバーからアプリへの通知の送信をテストしています。通知は正常に送信され、デバイスの通知センターにも表示されますが、通知が表示されたとき、またはクリックした場合でも、FCMEsagingService内のonMessageReceivedメソッドが呼び出されることはありません。 アプリがフォアグラウンドにあるときにこれをテストすると、onMessageReceivedメソッドが呼び出され、すべてが正常に機能しました。この問題は、アプリがバックグラウンドで実行されているときに発生します。 これは意図された動作ですか、またはこれを修正する方法はありますか? これが私のFBMessagingServiceです。 import android.util.Log; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; public class FBMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.i("PVL", "MESSAGE RECEIVED!!"); if (remoteMessage.getNotification().getBody() != null) { Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getNotification().getBody()); } else { Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getData().get("message")); } } }

8
FirebaseInstanceIdServiceは廃止されました
firebase通知トークンが更新されるたびに通知トークンを取得するために使用されるこのクラスを知っているすべての人が、このクラスから更新されたトークンを取得します。 @Override public void onTokenRefresh() { // Get updated InstanceID token. String refreshedToken = FirebaseInstanceId.getInstance().getToken(); Log.d(TAG, "Refreshed token: " + refreshedToken); } FCMを実装するためにこれを使用するには、MyClassを FirebaseInstanceIdService ただし、FirebaseInstanceIdServiceが非推奨であることを示す 誰かがこれを知っていますか?、これは非推奨であるため、更新されたトークンを取得するためにこれの代わりにどのメソッドまたはクラスを使用する必要がありますか? 私は使用しています: implementation 'com.google.firebase:firebase-messaging:17.1.0' 私は同じことについて文書をチェックしましたが、これについて何も言及されていません。:FCMセットアップドキュメント 更新 この問題は修正されました。 Googleがを廃止したためFirebaseInstanceService、 私は方法を見つけるために質問をしました、そして私たちはFirebaseMessagingServiceからトークンを取得できることを知りました、 以前と同様に、質問したときにドキュメントは更新されていませんが、Googleドキュメントが更新されたので、詳細については、このGoogleドキュメントを参照してください:FirebaseMessagingService OLD From:FirebaseInstanceService(非推奨) @Override public void onTokenRefresh() { // Get updated InstanceID token. String refreshedToken = …


13
Firebaseコンソールを使用せずにFirebase Cloud Messaging通知を送信するにはどうすればよいですか?
通知用の新しいGoogleサービスから始めFirebase Cloud Messagingます。 このコードのおかげでhttps://github.com/firebase/quickstart-android/tree/master/messaging Firebase User ConsoleからAndroidデバイスに通知を送信できました。 Firebaseコンソールを使用せずに通知を送信するAPIまたは方法はありますか?たとえば、自分のサーバーから直接通知を作成するためのPHP APIなどです。


4
Firebaseメッセージング、サーバーキーはどこで入手できますか?
Firebaseでは、POSTリクエストを行うことで、独自のアプリケーションを介して通知メッセージを送信できます。 このチュートリアルでは、このリクエストを行う方法について説明します。ただし、Authorization自分のサーバーキーを配置する必要があるフィールドがヘッダーにあります。 このサーバーキーはどこで入手できますか?これに関する指示はありません。

10
新しいFirebase Cloud Messagingシステムの通知アイコン
昨日、GoogleはGoogle I / Oで、新しいFirebaseに基づく新しい通知システムを発表しました。私はGithubの例でこの新しいFCM(Firebase Cloud Messaging)を試しました。 特定のドローアブルを宣言したにもかかわらず、通知のアイコンは常にic_launcherです どうして ?以下はメッセージを処理するための公式コードです public class AppFirebaseMessagingService extends FirebaseMessagingService { /** * Called when message is received. * * @param remoteMessage Object representing the message received from Firebase Cloud Messaging. */ // [START receive_message] @Override public void onMessageReceived(RemoteMessage remoteMessage) { // If the application is …

9
Firebase FCMはonTokenRefresh()を強制的に呼び出します
アプリをGCMからFCMに移行しています。 新しいユーザーが私のアプリをインストールすると、onTokenRefresh()が自動的に呼び出されます。問題は、ユーザーがまだログインしていないことです(ユーザーIDなし)。 onTokenRefresh()ユーザーのログイン後にをトリガーするにはどうすればよいですか?

8
AWS SNSを使用したFCM
私はAWSAndroidプロジェクトのリソースを使用しAWS SNSています。プロジェクトにプッシュ通知サービスを追加する予定です。これらに関する質問は1つまたは2つを除いて見つかりませんでしたが、説明が不明確でした。 1. AWSサポートはありFCMますか?SNSで動作しGCMます。ただし、Googleではの代わりにFCMを使用することをお勧めしますGCM。私はAWS支持を見つけませんでしたFCM。 2. AWSプッシュ通知を送信した後でも、メッセージ(またはデータ)をデータベースに保存しますか? 3.SNSアプリケーションプラットフォームにFCM APIキーを入れてみましたが、なぜ無効なパラメーターが表示されますか?

16
Firebase(FCM)トークンの取得方法
FCMを使用するのは初めてです。 firebase / quickstart-androidからサンプルをダウンロードし、FCMクイックスタートをインストールします。しかし、アプリのLOG TOKENボタンを押しても、ログからトークンを取得できません。 次に、Firebaseコンソールでメッセージを送信し、アプリパッケージ名をターゲットに設定します。着信メッセージを受け取りました。 FCMを使用できるかどうか知りたいのですが、GCMはすべて問題ありません。 解決: 私はAndroid開発者ではないため、単なるバックエンド開発者です。だからそれを解決するのに少し時間がかかります。私の意見では、サンプルアプリにはいくつかのバグがあります。 コード: RegistrationIntentService.java public class RegistrationIntentService extends IntentService { private static final String TAG = "RegIntentService"; public RegistrationIntentService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { String token = FirebaseInstanceId.getInstance().getToken(); Log.i(TAG, "FCM Registration Token: " + token); } } MyFirebaseInstanceIDService.java public …

8
CURLを介してすべてのデバイスにFirebase通知を送信するにはどうすればよいですか?
(Androidの)すべてのアプリユーザーに通知を送信しようとしています。基本的に、Firebase管理コンソールを介して通知が送信されたときに何が起こるかを複製しています。これが私が始めたCURLコマンドです: curl --insecure --header "Authorization:key = AIzaSyBidmyauthkeyisfineL-6NcJxj-1JUvEM" --header "Content-Type:application / json" -d "{\" notify \ ":{\" title \ ":\" note -タイトル\ "、\" body \ ":\" note-Body \ ">}}" https://fcm.googleapis.com/fcm/send これがあなたの目に簡単になるように解析されたJSONです: { "notification":{ "title":"note-Title", "body":"note-Body" } } 返される応答は2文字だけです。 に それだけです、「to」という言葉。(ヘッダーは400を報告します)これは私のJSONに「to」がないことと関係があると思います。「to」に何を置くでしょうか?トピックが定義されておらず、デバイスは何も登録していません。それでも、Firebase管理パネルから通知を受け取ることはできます。 Firebaseの通知処理には驚くべき制限があるため、「データのみ」のJSONパッケージを試してみたいと思います。アプリがフォアグラウンドにある場合、通知はハンドラーによって処理されますが、アプリがバックグラウンドにある場合は、 Firebaseサービスによって内部的に処理され、通知ハンドラに渡されることはありません。明らかに、これはAPIを介して通知リクエストを送信する場合に回避できますが、データのみで送信する場合に限ります。(これにより、iOSとAndroidを同じメッセージで処理する機能が失われます。)JSONのいずれかで「通知」を「データ」に置き換えても効果はありません。 わかりました。次に、ここで解決策 を試しました。FirebaseJavaServerは、すべてのデバイスにプッシュ通知を送信します。「わかりました。管理コンソールからすべてのユーザーに通知できますが、APIからは実際にはできません。 「」回避策は、各クライアントにトピックをサブスクライブさせてから、そのトピックに通知をプッシュすることです。したがって、最初にonCreateのコードを作成します。 FirebaseMessaging.getInstance().subscribeToTopic("allDevices"); 次に、送信する新しいJSON: { "notification":{ "title":"note-Title", "body":"note-Body" …

10
FirebaseInstanceIdトークンの取得に失敗しましたSERVICE_NOT_AVAILABLE
私はAndroidアプリに取り組んでおり、Firebase認証、データベース、ストレージを使用しています。このエラーメッセージがlogcatに表示されるまで、すべて正常に機能していました。(firebaeコンソールで設定を改ざんしませんでした) E/FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE このエラーメッセージは、Firebase関連のすべてのコードにコメントした場合でも表示されます。そのため、認証やその他のFirebase関連のものを続行できません。 はい、インターネットに接続していて、Firebase Consoleから新しいGoogle-Services.jsonファイルを取得しましたが、まったく違いはありません。

9
AndroidのFirebaseから通知を送信するときに通知音が鳴らない
FirebaseからAndroidアプリケーションにプッシュ通知を送信しています。ただし、アプリがバックグラウンドにある場合、firebase onMessageReceivedメソッドは呼び出されず、代わりにfirebaseがシステムに通知を送信してシステムトレイに通知を表示します。通知はシステムトレイに表示されますが、システム設定でアプリの通知音を許可しても通知音が鳴りません。 Firebaseから通知を受け取ったときに通知音を再生するにはどうすればよいですか。 これは、firebaseからアプリのBlogpostリンクに通知を送信する方法です。 AndroidアプリケーションにFirebaseを追加する方法

29
FCMがMismatchSenderIdを取得する
プッシュ通知の送信にGoogleFCMを使用するアプリケーションがあります。 ユーザーのグループにプッシュ通知を送信するとMismatchSenderId、一部のユーザーに対しての応答があります。ただし、すべてのユーザーがまったく同じアプリケーションを使用しています。一部のユーザーは成功応答を取得し、他のユーザーはMismatchSenderIdを取得するにはどうすればよいですか? 私は多くの調査を行い、FCMが必要とするすべての前提条件を追加したことを確認しました。 助言がありますか? 編集: 応答例: {"multicast_id":5340432438815499122,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]} 編集2: サーバー側の送信コード(PHP)は次のとおりです。 $fields = array ( 'to' => $token, 'data' => $data ); $headers = array ( 'Authorization: key=AIza**************************', 'Content-Type: application/json' ); $ch = curl_init(); curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' ); curl_setopt( $ch,CURLOPT_POST, true ); curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.