2016-08-22 24 views
14

Projemde FCM eklemek için firebase.google.com adresindeki talimatları izledim.
Her şey yolundaydı, "FirebaseApp başlatma işlemi başarılı" mesajı ve günlüklerimde yeni belirteç var. Ama işe yaramıyor ... Simgeye gönderdiğim sadece ilk itme bildirimi başarılı oluyor. İkinci itme ve dinlenme "NotRegistered" hatası alır.
Belgeleme o NotRegistered ise uygulama cihazdan kaldırıldı veya istemci uygulaması iletileri almak için yapılandırılmamış çünkü, sunucu veritabanından kayıt kimliğini kaldırmak gerekirFCM, hata döndürüyor: İlk iletiden sonra kaydolanmadı

söylüyor.

ancak uygulama kaldırılmadı ve istemci uygulaması ilk mesaj saatlerce mücadele istemci

+0

'onTokenRefresh()' yönteminin çağrıldığını kontrol edin. Bu, belirtecin güncellendiği ve yeni belirteci kullanmanız gerektiği anlamına gelir. Bildirimi göndermek için firebase konsolunu kullanıyor musunuz? veya kendi sunucu uygulamanızı kullanıyorsunuz. – GeorgeLBA

+0

GeorgeLBA, onTokenRefresh, programın ilk başlangıcında veya tüm uygulama verilerini temizledikten sonra yalnızca bir kez çağrılır. Kendi sunucu uygulamamı kullanıyorum –

+0

Nikita, İlk bildirimi gönderdikten sonra belirteci yazdırmayı deneyin. Sadece belirtecin değişmediğinden emin olmak için. FirebaseInstanceID.getToken() 'işlevini kullanın ve bildirimi gönderdikten sonra belirtecin aynı olup olmadığını doğrulayın. Boşsa, belirtecin bir nedenden dolayı kaldırılmasıdır. – GeorgeLBA

cevap

4

gelir çünkü mesaj almak üzere yapılandırılmış ama sorun buldum. Bulmak ve açıklamak gerçekten zordu. Ben çalışacağım:

Projem içerde başka bağımlılık ile bir bağımlılık vardır: My project > Dependency > Sub-dependency

alt bağımlılık <application> etiketiyle bir AndroidManifest.xml dosyasını içerir. Bunun gibi bir şey: Çünkü bu uygulama etiketinin

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.my_sub_library"> 

    <application android:allowBackup="true"> 

    </application> 

</manifest> 

, benim bağımlılık bunu yapmak için gerekli: değiştirmek

<manifest package="br.com.ilhasoft.support.databinding" 
    xmlns:tools="http://schemas.android.com/tools"> 
    <application tools:node="replace"/> 
</manifest> 

Çözümümün uygulama etiketi kaldırarak alt bağımlılık güncelleme ve kaldırma bağımlılığını güncellemek için oldu aksiyon.

Bir şekilde, firebase benim FirebaseMessagingService benim ihmal ve FCM kayıt belirteci iptal edildi.

Hangisinin uygulama etiketine sahip olduğunu görmek için bağımlılıklarınızı denetlemenizi ve güncelleştirip değiştirmenizi/değiştirmenizi öneririm. Benim için çalıştı!

+0

+100 Günümü kurtarıyorsun. –

+0

Bir npm paketindeki 'alt bağımlılık' değil mi? Öyleyse, nasıl güncellediniz? – jbarradas

İlgili konular