2016-06-06 12 views
7

Android uygulaması yeniden başlatıldığında firebase dinamik bağlantısının yeniden başlatılmasında bir sorun var.Firebase dinamik bağlantıları iki kez işlendi

  1. tıklayın derin bağlantısı URL
  2. uygulaması (beklendiği gibi) derin bağlantı ile işaret görünüm
  3. uygulamayı kapatmak açılıyor (tamamen)
  4. açık: Aşağıdaki dizi sorunu üretir ikonu
  5. uygulama derin bağlantı ile işaret manzaraya açılır dan uygulaması (olsa bile bu olmamalı) sorunsuz çalışıyor bundan sonra

En son (9.0.2) kütüphaneleri kullanıyorum. Kod, örneklerde olduğu gibi oldukça fazladır (örneğin: https://firebase.google.com/docs/dynamic-links/android#add-an-intent-filter-for-deep-links), autoLaunchDeepLink yanlıştır.

  • Bunu neden bir hata olmuştur fark, ancak bu sürümde sabit olmalıdır: anlatıldığı gibi, iki kez AppInvite.AppInviteApi.getInvitation arayarak bir çözüm çalıştı https://github.com/googlesamples/google-services/issues/141

  • github hata raporunda. Başarı yok.

  • OnCreate uygulamasında, savedInstance öğesinin boş olup olmadığını ve yalnızca varsa derin bağlantıyı kontrol ettiğimi kontrol ediyorum.

  • Uygulama çalışırken işlemek için derin bağlantıyı da onNewIntent'te denetliyorum, ancak sorun oluştuğunda bu çağrılmaz. Açıklamamda, belirli protokol ve ana bilgisayara sahip olan amaç filtresi yalnızca ana etkinliğe dahil edilmiştir. Protokol, diğer etkinliklerde de diğer filtrelerde de kullanılır, ancak hiçbir etkisi olmayanlarda farklı protokoller kullanmayı denedim. Sadece ana aktivite niyetini almak için AppInvite.AppInviteApi.getInvitation kullanır. Diğer tüm filtreleri tüm etkinliklerden kaldırsam bile sorun oluşuyor.

Neyin yanlış olabileceğini veya neleri kontrol etmem gerektiğini düşündüğüm herhangi bir fikir var mı?

cevap

4

Hem başlatıcı etkinliğinizde hem de dinamik bağlantıyı işlediğini bildirdiğiniz etkinlikte, getInvitation() numaralı telefonu aramanız gerekir.

Ancak dinamik bağlantı kolları aktivitesinde

, sen boş yerine bu AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, null, autoLaunchDeepLink) gibi getInvitation(), ikinci parametre olarak faaliyetini geçme geçmesi gerekiyor.

+0

Bu, teşekkürler. Ancak, benim durumumda, başlatıcı aktivitesi ve dinamik bağlantıyı işlemek için bildirdiğim etkinlik aynıdır, yani bu gerçekten "Github hata raporunda belirtildiği gibi AppInvite.AppInviteApi.getInvitation öğesini iki kez çağırarak bir geçici çözüm denedim. . Başarı yok.". Sadece null'ı ikinci bir parametre olarak özlemiştim. – diidu

+3

Yani hata her şeyden sonra sabit değil gibi görünüyor. Çözüm hala gerekli. – diidu