BlogRELATIONS株式会社の開発ブログです。プッシュ通知こんにちは、RELATIONS株式会社の大川です。UI開発とRedashを使ったデータ分析をしています。これまで、2回に分けてExpoとFirebaseを組み合わせたプッシュ通知配信の検証をしていました。「ジオフェンス機能」が気になっていたので、検証のスピンオフとして位置情報をもとにしたプッシュ通知の表示を試していきます。新たにサポートされたバックグラウンド位置情報取得とジオフェンスについてバックグラウンドでの位置情報取得機能は、アプリの画面を開いていなくても位置情報が取得できる機能です。SDKではアプリ画面を開いている状態での位置情報取得だけがサポートされていました。)この機能のおかげで、例えばジョギングアプリで画面をOFFにしたまま自分が走ったコースを記録する、といったことが可能になりました。ジオフェンス(特定の場所に対する仮想的な境界線)を設定し、端末がそのジオフェンスへ出入りしたときにイベントを発生させることができるようになりました。(ジオフェンス機能も、アプリのバックグラウンド状態をサポートしています。Offline)アプリで特定の場所に近い端末にのみ情報を配信する(たとえばスーパーのお得情報など)ことが可能になっていました。Notification(スマートフォンがサーバーと通信せずに単体で配信されるプッシュ通知)を配信してみます。SDKがインストールされてしまいます。CLIを更新してからプロジェクトを作成します。呼び出して、iOS向けにパーミッション取得のための許可画面を表示します。(スタンドアローンのアプリには別途設定が必要なので、Locationのドキュメントもご覧ください。例外処理などを省いていますが、自分が実際にアプリに組み込む場合は以下のような実装になると思います。メソッドを呼び出します。}]);}startGeofencingAsyncの第1引数はジオフェンスへの出入りがあったときに実行されるタスクの名前です。別途同じ名前でタスク定義を行うのでGEOFENCING_ON_ENTERという文字列定数を用意しています。第2引数はリージョンオブジェクトの配列です。各リージョンオブジェクトは以下の内容を含みます。ジオフェンスから出た場合にタスクをトリガーするためのフラグ実行されるタスクの定義ジオフェンスへの出入りがあったときに実行されるタスクは、アプリがバックグラウンド状態でも実行できるようにグローバルスコープでTaskManager.defineTaskを呼び出して定義しています。タスクが実行されたときのコールバック関数には、eventTypeとトリガーになったリージョン情報が渡されます。Notificationを表示させています。}});//(以下、ルートコンポーネント)iOSシミュレーターでのデバッグ実装したExpoプロジェクトは、端末の移動をシミュレーションするためにiOSシミュレーターで実行します。端末の緯度・経度をジオフェンス内に指定することで、プッシュ通知が表示されるようになります。v32で新たにサポートされたバックグラウンドでの位置情報取得機能とジオフェンス機能を利用して、特定のエリアに近づいた端末にプッシュ通知を表示する検証をしました。SDKのアップデートによって色々なネイティブ機能がカバーされていくことで、そのデメリットが薄れていくんだろうなと感じました。これからも気になる機能があればどんどん試していこうと思います。使ってジオフェンスとプッシュ通知を組み合わせてみましたTweet関連記事2019-03-27Webエンジニアがスマホアプリをリリースするまでに学んだ32のコト(後編)こんにちは。RELATIONS株式会社の久原です。最近はAtomicDesig...2019-02-05Webエンジニアがスマホアプリをリリースするまでに学んだ32のコト(前編)こんにちは。RELATIONS株式会社の久原です。2019年も開発ブロ...2019-01-23ExpoとFirebaseを使った、サーバーレスでのプッシュ通知配信の検証続きあけましておめでとうございます!RELATIONS株式会社の大川です...2018-12-28マネジメント支援のSaaSプロダクト「Wistant」のバックエンド技術スタックを紹介しますこんにちは、RELATIONS奥宮です。今年も残りあとわずか。平成...2018-12-04ExpoとFirebaseを使って、サーバーレスで手軽にできるプッシュ通知配信を試しましたこんにちは、RELATIONS株式会社の大川です。はてなブログProRELATIONS株式会社のエンジニアメンバーによる開発ブログです。reserved.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。