@AL. Работает нормально, если я использую старую версию 11.0.0. Но это очень старая версия.
отаю над проектом Android, в котором пользователь подпишется на тему Firebase. Я написал код, как показано ниже.
FirebaseMessaging.getInstance().subscribeToTopic("update")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (!task.isSuccessful()) {
Log.d("SUBSCRIPTION","FAILURE");
}else{
Log.d("SUBSCRIPTION","SUCCESS");
}
}
});
Но проблема в том, что метод onComplete в коде вообще не вызывается. Это даже не показывает случай отказа. В чем может быть проблема? Поскольку пользователь не подписан на эту тему, я не могу отправлять push-уведомления. Вот больше деталей ...
Файл манифеста: я добавил в приложение тег файла манифеста.
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
Gradle App:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-crash:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.3.0'
}
apply plugin: 'com.google.gms.google-services'
Gradle проект:
buildscript {
repositories {
jcenter()
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.0.1'
}
}
РЕДАКТИРОВАТЬ:
Я проверил подписку на тему, как показано ниже, используя почтальон
https://iid.googleapis.com/iid/info/xxxxxxxxxxxxxxxxx_V7dnQnfaT7f8cV-aNdDqrqyIJdI-fbnai0ec1Dyjm0uoJS0i1mxMfemE0iObR0j0f4mN_4Jyn-vSY4BTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?details=true
Authorization: key=xxxxxx //server key
method: GET
RESULT:
{
"applicationVersion": "109",
"connectDate": "2018-08-23",
"attestStatus": "NOT_ROOTED",
"application": "in.xxx.xxxxxxx",
"scope": "*",
"authorizedEntity": "45xxxxxxxxx8",
"connectionType": "MOBILE",
"appSigner": "e9a7xxxxxxxxx29fa0105d0xxxxxxxx33cc",
"platform": "ANDROID"
}
Приведенный выше результат не показывает никаких тем.