2

私は Mac と iPhone を持っていないので、Ionic Cloud を使用してネイティブ バイナリをビルドするしかありません。ただし、最初にそれを試して、Android ビルドでどのように機能するかを確認したかったのです。

私のアプリケーションはhttps://github.com/fechanique/cordova-plugin-fcmを使用しています

ionic cordova build androidそのため、問題なくアプリケーションをビルドしてエミュレータで実行できます。ただし、実行するionic package build androidionic package info、ビルドが失敗したというメッセージが表示されます。

ionic package BUILD_IDI get this messageでこの失敗を調べます。

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#resource-file

したがって、この google-services.json ファイルを次のようなパッケージに含めるように ionic に指示しようとしました。

<?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 通知を使用することはできません...

クラウドにアップロードするときに、この google-services.json ファイル (および .plist ファイル) を含めるように ionic に指示する方法はありますか。繰り返しますが、マシンでビルドを実行している間はすべて正常に動作するため、google-services.json ファイルや firebase プロジェクトに問題はありません。

4

1 に答える 1