我没有从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
答案 0 :(得分:17)
如果您最近更改了google-services.json
文件,则只需从android项目中删除build
文件夹,然后重新构建您的项目即可。
答案 1 :(得分:2)
我有类似的问题。它与我的代码无关,而是与API密钥无关,请检查该侧的所有内容是否正常运行。 (我的问题是有关Google结算帐户的。)
答案 2 :(得分: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'
更多信息here。
答案 3 :(得分:0)
我知道这很蠢,
Function Get-GraphOneDriveUsageAccountDetail {
$result = (Invoke-RestMethod `
-Method get `
-Uri "https://graph.microsoft.com/beta/reports/getOneDriveUsageAccountDetail(period='D180')?%24format=application%2Fjson&%24top=10000" `
-ContentType 'application/json' `
-Headers $script:APIHeader `
-ErrorAction Stop).value
return $result
}
我在另一个项目中使用google-services.json。
答案 4 :(得分:0)
很抱歉延迟回复,但您将获得正确的发件人来自firebase。
转到firebase->选择您的项目->项目设置-> Cloud Messaging->发件人ID
您将获得sender_id,将其复制并在您的项目中使用它将解决您的问题。
答案 5 :(得分:0)
您的buildVariant
应该与Firebase中的项目相同。检查buildTypes
和productFlavors。
答案 6 :(得分:0)
我有同样的问题。
原来是一个团队成员意外删除了Firebase项目。
答案 7 :(得分:-1)
删除项目(App_Folder_Name)/ app /“ build”
删除整个构建文件夹并重新构建它即可使用。如果只有杰森文件是正确的
答案 8 :(得分:-1)
等待 Firebase.initializeApp(
// name: 'DontUseThis',
// Note --^ Gives error of Dublicate App If using only 1 app.
并给出 [firebase_messaging] Failed to get FIS auth token 错误
FIS_AUTH_ERROR。不会重试
E/FirebaseInstanceId(8503):由于硬故障异常,主题同步或令牌检索失败:FIS_AUTH_ERROR。不会重试操作。
***避免使用“名称”参数字段。