PhoneGapでスマホアプリを作る【Push通知】


前回ビルドまでしたときにテンプレートにプッシュ通知があることに気づきました。

プッシュ機能付きのプロジェクトをビルドして通知を受け取るまでに少してこずったので備忘録。

 

とりあえずそのままビルドしてみるとエラーメッセージ。

 

Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.

java.lang.IllegalStateException: compileSdkVersion is not specified.

* Where:

Script ‘PUSH\platforms\android\phonegap-plugin-push\pushsh-push.gradle’ line: 6

* What went wrong:

A problem occurred evaluating script. > PUSH\platforms\android\app\AndroidManifest.xml

メッセージを頼りに調べてgradleにdefaultConfigを追加してみたり、マニフェストを書いてみたり試しても変化なし。

そもそもphonegap-plugin-pushに問題があるようなフォーラムを見つけた。

デフォルトのバージョンが1.8だったので最新に入れなおす。

別のエラーメッセージが表示されるようになった。

 

* What went wrong:

Execution failed for task ‘:app:processReleaseGoogleServices’.

> File google-services.json is missing. The Google Services Plugin cannot function without it.

メッセージサービス設定用のjsonを用意しろと言われているので用意する。

それを以下のどこかに置けば勝手に見つけてくれるらしいです。

  • PUSH/platforms/android/app/src/nullnull/release/google-services.json
  • PUSH/platforms/android/app/src/release/nullnull/google-services.json
  • PUSH/platforms/android/app/src/nullnull/google-services.json
  • PUSH/platforms/android/app/src/release/google-services.json
  • PUSH/platforms/android/app/src/nullnullRelease/google-services.json
  • PUSH/platforms/android/app/google-services.json

nullnullというのは対象フォルダがない状態なのかわからないけど、一番最後の場所に置いておくのが自然に見える。

 

google-services.jsonを配置すると特に問題もなくビルドできた。

Firebaseを利用して通知をしてみるとちゃんと通知もできてました。

この辺のメモは次の記事に。


コメントを残す

メールアドレスが公開されることはありません。