Я могу отправлять push-уведомления на мой телефон и симулятор Android, когда мое приложение работает. (Я могу сказать, что они прибывают, потому что мое приложение падает.)
Так почему же в системном трее не появляются уведомления? Они сделали пару раз, когда я посмотрел на телефон несколько часов спустя. Я понятия не имею, почему это произошло.
Я отправляю их с экрана Firebase Cloud Messaging, и он говорит, что сообщения «Завершены».
Вот код ...
[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class FirebaseIIDService : FirebaseInstanceIdService
{
const string TAG = "MyFirebaseIIDService";
public override void OnTokenRefresh()
{
var refreshedToken = FirebaseInstanceId.Instance.Token;
Log.Debug(TAG, "Refreshed token: " + refreshedToken);
}
}
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class CCFirebaseMessagingService : FirebaseMessagingService
{
public override void OnMessageReceived(RemoteMessage message)
{
Log.Debug(TAG, "Hi Mum!");
}
}
Оба эти события могут быть прерваны в отладчике.
В манифесте ...
<application android:label="My app">
<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" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
</application>