2016-07-26 7 views
3

は、私は、Androidでプッシュ通知のためFirebaseクラウドメッセージング(FCM)APIを使用しています。私はその時間の完璧な作業を実装したが、今はGoogleのサービスを見つけることができません。アンドロイドFirebaseCouldMessaging:FirebaseInstanceId背景同期失敗しました - SERVICE_NOT_AVAILABLE

エラーは次のとおりです。

FirebaseInstanceId:バックグラウンド同期に失敗しました:SERVICE_NOT_AVAILABLE、

はどのように解決するために私を助けてください。私は、以下の依存関係をgradleファイルに使用しています。

dependencies { 
    compile files('libs/ksoap2-android-assembly-3.4.0-jar.jar') 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile files('libs/gson-2.2.4.jar') 
    compile files('libs/activation.jar') 
    compile files('libs/mail.jar') 
    compile files('libs/additionnal.jar') 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.facebook.android:facebook-android-sdk:4.14.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.2' 

    compile('com.google.android.gms:play-services:9.0.2') { 
     exclude group: "play-services-wallet" 
     exclude module: "play-services-wallet" 
     exclude group: "play-services-ads" 
     exclude module: "play-services-ads" 
    } 

} 

お読みいただきありがとうございます。

+0

コードはどこですか? Firebaseサーバ上のプロジェクトを正しく設定しましたか? – Talha

+0

はい私は私のプロジェクトをGoogleコンソールからfirebaseコンソールにインポートし、jsonファイルを生成してプロジェクトを追加しました。 –

+0

どの回線コードでエラーが発生していますか?あなたのJavaコードとlogcatを投稿してください。 – Talha

答えて

3

Googleプレイサービスが実行されていない場合、私は答えを見つけたFirebaseInstanceId background sync failed - SERVICE_NOT_AVAILABLEログ印刷、あなたはGoogleプレイサービスが正しく動作しているかどうかを確認できますか?

この情報はお役に立ちますか?

1

サービスは、その後1は、1つの公開されたメソッド(他の名前は=信頼できない難読化されている)にアクセスすることができますManifest.xml

<!-- Firebase InstanceId Service --> 
    <service 
     android:name="eu.acme.service.FireBaseInstanceIdService" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
     </intent-filter> 
    </service> 

にバインドする必要があります

package eu.acme.service; 

import com.google.firebase.iid.FirebaseInstanceId; 
import com.google.firebase.iid.FirebaseInstanceIdService; 

public class FireBaseInstanceIdService extends FirebaseInstanceIdService { 

    @Override 
    @android.support.annotation.WorkerThread 
    public void onTokenRefresh() { 

     /* obtain the current InstanceId token: */ 
     String token = FirebaseInstanceId.getInstance().getToken(); 
    } 
} 

1しか仕事ができるのその周りに、それを誘発しないことによって、例えば、。説明されているように、アクティブなネットワークが存在しないことを知っている間にAuthState Listenerを追加しないことで、ライブラリ内からスローされた例外をキャッチすることはできません。ネットワークに接続できません。

com.google.android.gms.iidcom.google.firebase.iidはほぼ同じです。

2

あなたはfirebaseconsolでこれを取得することができます

  • は、新しいものとあなたのgoogle-service.jsonを交換して接続

    1. はプロキシなしでオープンなインターネットを使用してインターネット接続を確認
    2. お使いのデバイスがグーグルを持って確認してください確認することができますそれにサービスを再生し、それがfirebaseサービスはGoogle Playせずに動作しない、仕事やない

    チェック - FireBaseInstanceId service does not get registered

  • 4
    1. を確認し、インターネット接続
    2. のAndroid SDKツール(ツール - >アンドロイド - > SDKマネージャ - > SDKツール]タブが)かどうかを確認し、最新バージョンのGoogleは、サービス再生 "をしていると、インストールされていない場合パッケージ。あなたがエミュレータを使用している場合 その後、エミュレータを停止し、それがagain.It
    0

    最も簡単な解決策を働く起動してください.Droidディレクトリの下のbinとOBJフォルダを削除することです。
    このように、毎回クリーンスタートがあります。

    関連する問題