私は 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
I 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 プロジェクトに問題はありません。