web-dev-qa-db-ja.com

Firestoreトークンの取得に失敗しました:INVALID_SENDER

addOnSuccessListeneraddOnFailureListeneraddOnCompleteListenerなどのインターフェイスからコールバックを受信して​​いません。

依存関係:

        classpath 'com.google.gms:google-services:3.2.1'

        implementation 'com.google.firebase:firebase-firestore:16.0.0'
       // }
        apply plugin: 'com.google.gms.google-services'

コード:

 firestore = FirebaseFirestore.getInstance(); // required for first time 
    FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
            .setTimestampsInSnapshotsEnabled(true)
            .build();
    firestore.setFirestoreSettings(settings);

    final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Map<String, Object> user = new HashMap<>();
            user.put("Title", "Ada");
            user.put("category", "Lovelace");
            user.put("id", "123");

            firestore = FirebaseFirestore.getInstance();
            firestore.collection("quotes")
                    .add(user)
                    .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                        @Override
                        public void onSuccess(DocumentReference documentReference) {
                            Log.d("quotes", "DocumentSnapshot added with ID: " + documentReference.getId());
                            Snackbar.make(fab, "DocumentSnapshot added with ID: " + documentReference.getId(), Snackbar.LENGTH_INDEFINITE).show();
                        }
                    })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Log.w("quotes", "Error adding document", e);
                            Snackbar.make(fab, "OnFailureListener: " + e, Snackbar.LENGTH_INDEFINITE).show();
                        }
                    })
                    .addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
                        @Override
                        public void onComplete(@NonNull Task<DocumentReference> task) {
                            Snackbar.make(fab, "OnCompleteListener: " + task.isSuccessful(), Snackbar.LENGTH_INDEFINITE).show();

                        }
                    });

        }
    });

LOGCAT

E/FirebaseInstanceId: Token retrieval failed: INVALID_SENDER
E/FirebaseInstanceId: Token retrieval failed: INVALID_SENDER
E/FirebaseInstanceId: Token retrieval failed: INVALID_SENDER
5
Aks4125

最近google-services.jsonファイルを変更した場合は、Androidプロジェクトからbuildフォルダーを削除して、プロジェクトを再ビルドしてください。

17
Milan Sheth

同様の問題がありました。それは私のコードとは何の関係もありませんでしたが、APIキーとは関係なく、その側のすべてが機能していることを確認します。 (私の問題は、Google請求先アカウントに関するものでした)。

2
TarekAlzein

私はそれが非常に愚かであることを知っていますが、

See if google-services.json is correct.

別のプロジェクトのgoogle-services.jsonを使用していました。

2
best wishes

返信が遅くなってすみませんが、正しい送信者はfirebaseから送信されます。

Firebaseに行きました->あなたのプロジェクトを選択してください->プロジェクト設定->クラウドメッセージング->送信者ID

Sender_idを取得し、それをコピーして、問題の解決に使用します。

1

これを解決するには、次のコード行を変更してください。

classpath 'com.google.gms:google-services:3.2.1'

classpath 'com.google.gms:google-services:4.0.1'

そして

implementation 'com.google.firebase:firebase-firestore:16.0.0'

implementation 'com.google.firebase:firebase-firestore:17.0.2'

また、現在必須となっている次のディペンデンシーを追加することを忘れないでください。

implementation 'com.google.firebase:firebase-core:16.0.1'

また、Firebase Messagingを使用する必要がある場合は、次の依存関係も追加する必要があります。

implementation 'com.google.firebase:firebase-messaging:17.0.0'

詳細情報 こちら

1
Alex Mamo