2016-07-06 63 views
0

在初學者中,我已閱讀此主題:Remove firebase analytics from android app completely - 但它沒有給我答案。在我開發的應用程序中,我不得不實施推送通知。我想從GCM開始,然後我發現了Firebase。我將它添加到我的項目中,然後實現了它的定價。我決定取消它,然後回到GCM。我從代碼中刪除了所有與Firebase相關的東西,我認爲一切都會好起來的。從項目中刪除Firebase而不會丟失GCM

最近我開始對應用程序的優化工作,並注意到調試日誌的某些信息:

07-06 07:03:39.310 13286-13474/com.example.myapp D/FirebaseInstanceId: background sync failed: MISSING_INSTANCEID_SERVICE, retry in 20s 

它的推移而上,加倍重試時間。我不確定它是如何影響我的應用程序的(低下,一旦我看到它每次發生時都會造成巨大的幀丟失),但我對於Firebase仍然在我的應用程序中完全不知所措。只有它的實例位於build文件夾中,這意味着我無法自己刪除它們。我試圖使用配置,我試圖排除這個獨家GCM,仍然沒有。

configurations { 
    all*.exclude group: 'com.google.firebase', module: 'firebase-core' 
    all*.exclude group: 'com.google.firebase', module: 'firebase-iid' 
    all*.exclude group: 'com.google.firebase', module: 'firebase-common' 
} 

這是正確的在我的build.gradle文件的開始。不確定它是否重要,但Android Studio告訴我它無法解析符號「排除」在這裏。我也試着把它編譯成GCM(當然沒有全部*),但它沒有改變任何東西。

tl; dr我想擺脫Firebase,並且仍然在我的項目中使用GCM。有任何想法嗎?

+0

從gradle(模塊)中刪除Firebase分析的依賴關係 –

+0

FCM是GCM的升級版本,它被谷歌建議使用FCM,反正你的疑問是不同的,刪除谷歌播放服務依賴性,並使用'com.google.android .gms:play-services-gcm:9.2.0' – Gaurav

回答

0

也從manifest.xml文件中刪除FirebaseMessagingServiceInstanceIDReceiver

從模塊清單文件中刪除以下內容。

 <service 
      android:name=".MyFirebaseMessagingService"> 
      <intent-filter> 
       <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
      </intent-filter> 
     </service> 
     <!-- [END firebase_service] --> 
     <!-- [START firebase_iid_service] --> 
     <service 
      android:name=".MyFirebaseInstanceIDService"> 
      <intent-filter> 
       <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
      </intent-filter> 
     </service> 

而且還刪除依賴從模塊級的gradle BUIL文件。

+0

清單文件已經過很長時間了。我可以在任何build.gradle文件中找到沒有依賴關係。 – n4zArh

+1

在你的問題中顯示你的清單和Gradle Build File。 – Saini

0

我有同樣的問題。我已經在谷歌搜索,做了一件小事,現在它的工作。

替換關聯的build.gradle(APP_NAME)

dependencies { 
    .... 
    classpath 'com.google.gms:google-services:1.5.0-beta2' 
    .... 
} 

而且

在app /的build.gradle

dependencies { 
    .... 
    compile "com.google.android.gms:play-services:8.3.0" 
    .... 
} 

清潔項目替換依賴關係和重建項目。

爲什麼classpath必須在1.5.0-beta2版本中?因爲之後的版本已經包含了Firebase。

我希望這可以提供幫助。

相關問題