addOnSuccessListener
、addOnFailureListener
、addOnCompleteListener
などのインターフェイスからコールバックを受信していません。
依存関係:
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
最近google-services.json
ファイルを変更した場合は、Androidプロジェクトからbuild
フォルダーを削除して、プロジェクトを再ビルドしてください。
同様の問題がありました。それは私のコードとは何の関係もありませんでしたが、APIキーとは関係なく、その側のすべてが機能していることを確認します。 (私の問題は、Google請求先アカウントに関するものでした)。
私はそれが非常に愚かであることを知っていますが、
See if google-services.json is correct.
別のプロジェクトのgoogle-services.jsonを使用していました。
返信が遅くなってすみませんが、正しい送信者はfirebaseから送信されます。
Firebaseに行きました->あなたのプロジェクトを選択してください->プロジェクト設定->クラウドメッセージング->送信者ID
Sender_idを取得し、それをコピーして、問題の解決に使用します。
これを解決するには、次のコード行を変更してください。
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'
詳細情報 こちら 。