Ответ 1
Мой google-services.json был неправ. Я думаю, что я создал новый проект, но я, должно быть, не заменил google-services.json новым/текущим проектом.
Я использую этот плагин: https://github.com/arnesson/cordova-plugin-firebase У меня есть кнопка на home.html, которая вызывает функцию test() в home.ts
public test(): void {
// wrap in the platform.ready && platform.is('cordova')
this.fcm.getToken()
.then((token: any) => {
console.log("token: ", token);
});
this.fcm.onTokenRefresh()
.subscribe((token: any) => {
console.log("token onTokenRefresh: ", token);
});
}
К тому времени, когда я нахожусь на главном экране, все должно быть инициализировано, и я должен получить маркер из функции getToken(). Но я получаю токен: undefined в моем console.log. Я не получаю никаких ошибок, журнал чист, т.е. Никаких ошибок не возникает в отношении этого конкретного плагина.
Обновление 1:
import { Firebase } from '@ionic-native/firebase';
constructor(public navCtrl: NavController
, public fcm: Firebase) {
Обновление 2: Пробовал вот так: плагин cordova добавить https://github.com/arnesson/cordova-plugin-firebase --variable ANDROID_VERSION = 7.1.0 --save Но его все еще null.
private void getToken(final CallbackContext callbackContext) {
cordova.getThreadPool().execute(new Runnable() {
public void run() {
try {
String token = FirebaseInstanceId.getInstance().getToken();
System.out.println("token: " + token); // null....
callbackContext.success(token);
} catch (Exception e) {
callbackContext.error(e.getMessage());
}
}
});
}
Вышеуказанный метод не получает токен. Так кажется, это не проблема кордовы?
Мой google-services.json был неправ. Я думаю, что я создал новый проект, но я, должно быть, не заменил google-services.json новым/текущим проектом.