0
公式のfirebaseのドキュメントでC#Xamarin.Androidプロジェクトにプッシュ通知を実装しました。通知を受け取った後にRuntimeExceptionがスローされました
firebaseコンソールで通知を送信することは可能です。今、別のC#サービスからメッセージを送信しようとしました。デバイスモニターに、GCMメッセージが配信されたことが示されます。
を参照してくださいAndroidデバイスモニタメッセージ:http://imgur.com/a/wNOV3
ここに私のコードです。なぜこれが起こるのだろうか?
のAndroidManifest.xml
<application android:label="myApp" android:icon="@drawable/icon">
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>
MyFirebaseMessagingService.cs
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class MyFirebaseMessagingService : FirebaseMessagingService
{
const string TAG = "MyFirebaseMsgService";
public MyFirebaseMessagingService()
{
Log.Debug(TAG, "Service called");
}
public override void OnMessageReceived(RemoteMessage message)
{
string msg = message.GetNotification().Body;
Log.Debug(TAG, msg);
}
}
で動作しました。この設定でOnMessageReceived – localhorst27
あなたはあなたのログを投稿できますか? – Leze
これで動作します。しかし、アプリが開いている場合、通知はありません。アプリが閉じている場合は機能します。 – localhorst27