Отправьте google-services.json с помощью сборок пакетов ionic

Поскольку у меня нет Mac и iPhone, единственный вариант для меня - это использовать Ionic Cloud для создания моих собственных двоичных файлов. Однако сначала я хотел поиграть с ним и посмотреть, как он будет работать со сборками Android.

Мое приложение использует https://github.com/fechanique/cordova-plugin-fcm

Так что я могу создавать приложения с ionic cordova build android и запустить его на моем эмуляторе без проблем. Однако, если я выполню ionic package build android а потом ionic package info Я получаю сообщение о том, что моя сборка НЕ ​​удалась.

Изучите эту неудачу с ionic package BUILD_ID Я получаю это сообщение:

Error: cordova-plugin-fcm: You have installed platform android but file 'google-services.json' was not found in your Cordova project root folder.

Итак, похоже, что мой google-services.json не загружается в облако. В результате поиска я нашел несколько сообщений людей, у которых была такая же проблема, но ни один из них не дал мне решения. Я также нашел это:

https://cordova.apache.org/docs/en/latest/config_ref/index.html

Поэтому я попытался сказать ionic, что нужно включить этот файл google-services.json в такой пакет:

<?xml version='1.0' encoding='utf-8'?>
<widget id="me.citybeep.partnerapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <!-- ... -->

    <platform name="android">
         <!-- ... -->
        <resource-file src="google-services.json" target="platforms/android/google-services.json" />
    </platform>

    <!-- ... -->

    <engine name="android" spec="^6.2.3" />
    <plugin name="cordova-plugin-device" spec="^1.1.4" />
    <plugin name="cordova-plugin-fcm" spec="^2.1.2" />
    <plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
    <plugin name="cordova-plugin-statusbar" spec="^2.2.2" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.1" />
    <plugin name="cordova-sqlite-storage" spec="^2.0.4" />
    <plugin name="de.appplant.cordova.plugin.local-notification" spec="^0.8.5" />
    <plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
</widget>

А также попробовал это:

<resource-file src="google-services.json" target="google-services.json" />

Но мы не добились успеха, однако теперь я получаю еще одно сообщение:

Adding android project...
Creating Cordova project for the Android platform:
    Path: platforms/android
    Package: me.citybeep.partnerapp
    Name: City_Beep_Partner
    Activity: MainActivity
    Android target: android-25
Subproject Path: CordovaLib
Android project created with cordova-android@6.2.3
Error: Source path does not exist: google-services.json

Я думаю, что эта ошибка только, что google-services.json не был загружен.

Сейчас я действительно зависим от этого плагина, и использование уведомлений Ionic Push на данный момент недоступно...

Таким образом, есть ли способ сообщить ionic, что нужно включить этот файл google-services.json при загрузке в облако (а также файл.plist). И я повторяю, это не проблема с файлом google-services.json или моим проектом firebase, так как при сборке на моем компьютере все работает нормально.

0 ответов

Я пробовал несколько решений, но единственное, что у меня сработало, - это указание src и target с относительным путем к google-services.json. В вашем случае измените

    <resource-file src="google-services.json" target="platforms/android/google-services.json" />

к

    <resource-file src="platforms/android/google-services.json" target="platforms/android/google-services.json" />

это должно работать.

Другие вопросы по тегам