バックグラウンドでアプリを動かすことができるプラグインは、OSにもよりますがどれも正式にライセンス登録されていて数もそれなりに多くどれを使えばいいか迷ってしまいます。
apacheCordovaの公式ページを使っていましたが、検索機能が使い物にならないのでコルドバのプラグインを探すときはこちらのhttps://www.npmjs.com/package/cordova-plugin-deviceを使っています。プラグインの用途や対応OSなども丁寧に掲載されているので、自分の作っているアプリに向いたプラグインを見つけることができます。npmという大きなロゴが目印です。余談でした。
さて、今自分が気になっているプラグインが三つ。
・cordova-plugin-background-push
・cordova-plugin-background-mode
・cordova-plugin-background-fetch
一通りの機能は見ましたが、性能的にはどれも一緒でしたね。しかもどのサイトを見回しても使っているユーザーがそこまでいないのも気になった感じ。cordova-plugin-background-modeに至ってはビルド時にエラーのままリリースされたみたいなので、導入したら自分の環境に合わせなくてはいけないという手間のかかりよう・・・。うーん。試してみないと分からないですけどね。
cordova-plugin-background-fetchは公式曰くandroid・iosともに対応しているようですが、スタックオーバーフローを見るとこのプラグインではiosでしか動きませんというグローバルなエンジニアさんの意見がちらほら・・・どっちやねん!!という話です。プラグインをほいほい簡単に入れられるならば別に構わないのですが、前回記事のを筆頭にgradle関係のエラーが多発してしまって面倒な目に会っているので筆者は少々ナーバスになっているのです。すみません。
残りのcordova-plugin-background-modeも余裕があれば入れて動かしてみたいと思います。(こいつだけやたら説明が長かったような・・・)
とりあえず使えそうなバックグラウンドプラグインを上げてみました。非公式プラグインであれば海外のエンジニアさんのブログでも取ってこれるので中国文字やキリル文字に耐えてそっちを使ってみてもいいかもです。(リリース時にリジェクトされるかもしれないですけど。)
とりあえず自分が心得ているプラグインを決めるときの大事な点は
・公式ライセンスを持っているか
・使用実績が多くgitなどのサイトでも取り上げられているか
・更新頻度が多く、比較的新しい日にちに更新されているか
の三つです。情報量の多いプラグインなら保守の難易度も大分下がりますし人に説明しやすいところも利点の一つだと思います。以上プラグイン初心者目線での議題でした。