0

我正在嘗試將FCM功能添加到我的PhoneGap應用程序中: 我在config.xml中添加了我的google-services.json,但是當我嘗試構建我的應用程序,我有這樣的錯誤:如何將FCM集成到PhoneGap應用程序中

*執行失敗的任務':processDebugGoogleServices'。

文件google-services.json丟失。沒有它,Google服務插件就無法運行。搜索的位置:
/project/src/debug/google-services.json
/project/google-services.json*

是否有解決這個問題的方法嗎? .json文件與我的config.xml文件位於www文件夾中的同一級別。 感謝您的關注。

+0

你使用過哪個插件? –

+0

**更新**:在添加cordova-plugin-fcm和cordova-plugin-fcm-config後,我的錯誤在「執行失敗的任務:processDebugGoogleServices'中發生了變化。>沒有找到匹配的包名'xxx' 「,但我的config.xml的id和json文件的包id是匹配的。怎麼了?我必須將我的json文件放在特定的文件夾中嗎? – moo

回答

0

這些文件需要放在www文件夾旁邊,問題在於Phonegap Build只允許您上傳所述文件夾的內容,因此您無法上傳文件。

幸運的是你可以做的事情; Build從npm直接安裝插件,並且插件可以認爲整個項目,所以你需要的是一個爲你複製文件的插件[google-services.json,GoogleService-Info.plist]。

大部分工作已完成:cordova-plugin-fcm-config

該插件將項目根目錄文件夾和Xcode項目中所需的FCM配置複製。它與偉大的cordova-plugin-fcm插件結合使用。 它不是爲此目的而建造的,但奇妙地工作。

雖然增加了複雜性;由於您無法上傳插件(您只能在config.xml中添加對它的引用),並且此插件需要您自己的應用配置文件,因此您必須:

克隆/將插件分叉到您的自己的倉庫。 替換配置文件。 將它上傳到某個地方Build可以找到。 你在哪裏上傳它?這可能會很棘手。基礎設施的構建圍繞插件用於一般目的的思想,並且可以在每個項目xml中進行配置,因此npm是有意義的。但在這種情況下,你的插件將包含非常具體的數據到你的項目,所以上傳到npm會污染我認爲的命名空間。

我不知道你,但我有一個付費帳戶,所以我發佈插件在我自己的存儲庫,並提交作爲一個私人插件。這是我推薦的。

相關問題