LINEでパートナーに生理開始通知を送る

# はじめに
数年前まで、生理の記録はルナルナでしていたのですが、
パートナーと生活するようになってから、記録と共にパートナーにも通知ができると便利だなと思うようになりました。
いろいろ調べたのですがこれぞ、というものが見つけられず、iPhoneのショートカットでLINE通知を送る機能を自作したよという内容です。

# 調査
きっと世の中にはこのニーズはあるはず。。探してみました。
要望としては以下
・できれば無料で使える
・パートナー側での操作や設定はできるだけ少ない
・パートナー側にアプリのインストールをしたくない
・記録と同時に通知ができると嬉しい

## ルナルナ
ルナルナにもパートナー共有機能はあるのですが、有料版ということと、メールでの通知だと気が付かないのでは？と考え保留に。
https://pc.lnln.jp/pages/lnln_nakayoshibi_woman.html

## iPhoneのヘルスケア
ヘルスケアのカテゴリの中に、周期記録がありました。
また、共有もできるようです。
これこれ～、さすがApple様、と思っていたのですが、何故か共有ができない。
参加依頼を送っても送ってもパートナーに参加依頼のリクエストが届かず共有できませんでした。ちなみにパートナーの情報は私に共有できる。これについては誰かわかる方いたら助けてほしい。
ヘルスケアで共有ができるんだったらもうこれで解決だったかもしれません。

## ペアケア
ペアという名がついているだけあり、パートナーとの共有を打ち出したサービスです。
パートナーにLINE友達追加をしてもらえば、アプリをインストールしてもらう必要もなくLINEで通知できるというところが魅力的でした。
[【ペアケア】パートナー共有とは？無料でペアリングできるの？](https://paircare.jp/media/column/report/partner/#:~:text=%E3%83%9A%E3%82%A2%E3%82%B1%E3%82%A2%E3%83%97%E3%83%AC%E3%83%9F%E3%82%A2%E3%83%A0%E3%81%AB%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B%E3%81%A8%E3%81%95%E3%82%89%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%8C%E5%85%85%E5%AE%9F%EF%BC%81,-%E9%80%9A%E7%9F%A5%E3%81%AE%E5%9B%9E%E6%95%B0&text=%E7%84%A1%E6%96%99%E3%83%97%E3%83%A9%E3%83%B3%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E7%94%9F%E7%90%86,%E9%80%9A%E7%9F%A5%E3%82%82%E8%A8%AD%E5%AE%9A%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%80%82
)

他にもいろいろと調べてみましたが、有料だったりアプリをパートナーにもインストールしてもらう必要があったりする中で、ペアケアは私の要望を満たしているサービスだったため、サービスの利用を決めました。

# ペアケアからのお知らせ（2024年11月）
ペアケアを使い始め、自分から生理が始まりました、と報告しなくてもいいことで心理的な負担を軽減でき、快適な日々を送っていました。
そんなある日、ペアケアからお知らせが。
[LINEでのパートナー通知の仕様変更について – PAIRCARE ヘルプ](https://paircare.zendesk.com/hc/ja/articles/11139387421199-LINE%E3%81%A7%E3%81%AE%E3%83%91%E3%83%BC%E3%83%88%E3%83%8A%E3%83%BC%E9%80%9A%E7%9F%A5%E3%81%AE%E4%BB%95%E6%A7%98%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

>パートナーへのLINE通知の無料提供回数を2回までに変更します。

>【変更後】
>
>パートナーへの通知：1通 生理2回目までのお届け

悲しいお知らせでした。。。
3回目以降に通知を受け取るにはプレミアム会員になる、またはアプリ版の通知を利用する必要があります。
もちろん持続的なサービスの提供に向けて、ということは頭では理解できます。
がしかし。
毎月金払うくらいなら自分で言うわ、、
月一回の通知のために生理記録のアプリインストールしてもらうの申し訳ないわ、、
というのが正直な気持ちでした。
仕様変更は2024年12月1日から。あと4カ月の猶予です。

# iPhoneのショートカット機能が使えそう！
今まで通りLINEで通知出来たらスムーズに移行できるな～、
ヘルスケアはうまくいかなかったけど、iPhoneは自分が知らないだけでいろいろな可能性を秘めているのかも。。
ということで調べてみたところ、iPhoneのショートカットという機能で自作できそう、というところまで行きつきました。

この記事を参照し、LINE Notifyを利用して通知を送るという方法を試してみました。
[ショートカットだけでLINEにメッセージを送る方法 – @htpasswdのTumblr](https://www.tumblr.com/htpasswd/634175369607610368/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%81%A0%E3%81%91%E3%81%A7line%E3%81%AB%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E3%82%8B%E6%96%B9%E6%B3%95
)
自分とパートナーとLINE Notifyの3アカウントのライングループに通知が送信される、という機能を実装することができました！
記録と同時に、ということができないのですが、まあまあ無料でできるのはここまでか、と自分を納得させました。
通知した後にルナルナを自動で開くというアクションを追加し、開いたアプリで手動で記録することにしました。

## LINEからのお知らせ（2025年1月）
ペアケアからの移行もスムーズにできたころ、今度はLINE Notifyのサービス提供終了のお知らせが。
https://developers.line.biz/ja/news/2024/10/07/line-notify-will-be-discontinued/
2025年3月31日にサービス終了とのことです。
なんだと？？とは思いませんでした。
実は、LINE Notifyでの通知を実装したときからサービス終了について情報を得ていました。
代替方法としてMessaging APIが推奨されていることも知っていました。
じゃあ最初からMessaging APIでやればよかったじゃん、と思う気持ちもわかります、しかし。
とりあえず上記の記事に書いてある方法で実装できるかやってみたかったんだよね。。
ここはMessaging APIで代替するとかそんな応用をするスキルはありませんでした。

ということで、すぐさまNotifyからMessaging APIでの通知に実装を修正することにしました。
でもこの作戦は成功でした。
Notifyでの設定をした経験がMessaging APIでの設定にも確実に役立ちました。
スモールスタート（？）は大事。今できることから始めよう。
前置きが長くなりましたが、次セクションからは実際にショートカットとLINE Messaging APIで通知を送る方法をご紹介します。

# 設定
## LINE Messaging APIとは
https://developers.line.biz/ja/services/messaging-api/

LINE公式アカウントからメッセージを配信することができます。
月200通までなら無料です。

https://www.lycbiz.com/jp/service/line-official-account/plan/

この機能を利用して、生理開始通知用のLINE公式アカウントを作成し、パートナーを友達追加して通知を送信します。

↓こんな感じで通知が送信されます
![S__47063052.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/d1e412c9-7fa9-4c93-8ffe-8e3caa913be4.jpeg)

## LINE Messaging APIを利用できるようにする
### 1. 公式アカウントを作成する
詳細はこちらの手順に記載がありますので、進めながら引っかかったポイントなどを記載します。

https://developers.line.biz/ja/docs/messaging-api/getting-started/

#### 1-1. LINEビジネスIDに登録する
[LINEビジネスID](https://account.line.biz/signup?redirectUri=https://entry.line.biz/form/entry/unverified
)に登録します。私はLINEアカウントで登録しました。

#### 1-2. LINE公式アカウントの作成フォームを入力する
今回は個人での使用のため、会社・事業者名は記載しませんでした。
業種は必須でしたので適当に選択しました。
フォームを送信するとLINE公式アカウントの作成完了です。
フォーム送信後にアカウント認証をリクエストすることもできますが、個人利用のためリクエストは行わなくて大丈夫です。（認証済みになるとTwitterみたいに青色のバッジが付いたり、商用利用に便利な機能が使えるみたいです）

#### 1-3. LINE公式アカウントを確認する
作成された公式アカウントは[LINE Official Account Manager](https://manager.line.biz/)で確認できます。

iPhoneではSafariの「デスクトップ用Webサイトを表示」を押してからリンクに遷移してログインします。
アカウントリストが表示されるので、先ほど作成したアカウントを選択します。
ちなみに「LINE 公式アカウント」というアプリをダウンロードすると、自動でアプリに飛ばされてしまうのでアプリはこの段階ではダウンロードしない方がいいです。

### 2. LINE公式アカウントでMessaging APIを有効にする
公式アカウントから通知を送信するために、Messaging APIを有効にします。
Messaging APIはLINEヤフー株式会社が提供するサービスとなります。利用するためには、LINE Developersで開発者としての登録が必要となります。

#### 2-1. Messaging APIの利用を有効にする
[LINE Official Account Manager](https://manager.line.biz/)で、画面右側の「⚙設定」をクリックすると、設定画面に遷移します。
設定のサイドバーから「Messaging API」をクリックし、「Messaging APIを利用する」をクリックします。
（iPhoneからの利用だと右上の設定が見つからず時間がかかったので詳しめに書いておきます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/995061f6-a5be-410c-8bad-9a4a2be82720.png)

ここで、開発者情報を登録する画面が表示されます。
名前とメールアドレスを入力して開発者アカウントを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/022bb916-6384-4d88-b3bd-80b86e802eb3.png)

続いて、LINE公式アカウントを管理するプロバイダーを作成します。
LINE Developersにおけるプロバイダーの定義は以下です。
>LINE Developersサイトでは、サービスを提供し、ユーザーの情報を取得する開発者個人、企業、または団体等をサービス提供者（LINEミニアプリではサービス事業主）と呼びます。

参照：https://developers.line.biz/ja/docs/line-developers-console/overview/#provider

こんな概念らしい。
![overview-01.ecdfd32c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/48b1e9a7-e27a-4d72-896e-d6b39a8a8d57.png)

まあ個人利用なので、パートナーに知られても問題ない適当な名前をつけて作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/97ce554d-c496-4ffd-81b2-f8ad632bb97f.png)

#### 2-2. LINE Developersコンソールにログインする
LINE Developersコンソールとは、LINEの提供するプロダクトを使用して開発をする開発者向けの、ポータルサイトのことです。
Messaging APIで通知をする、ということは開発者となるということなんですね。
気が付けば開発者への道を歩んでいました。といっても映画でよく見るハッカーのような黒い画面に白い文字でコードを打ち込んでいくなんてことはしないのでご安心を。

さて、[LINE Developersコンソール](https://developers.line.biz/console/)にログインしてみましょう。
前回同様にLINEアカウントでログインします。

#### 2-3. チャネルを確認する
2-1で作ったプロバイダー名が表示されているので、クリックしMessaging APIチャネルを確認します。
![スクリーンショット 2025-04-01 150845.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/3a46b470-b662-42b2-b80b-a5e8cdaa3a34.png)

![console-home-ja.3b5aaa22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/6b9b5ee9-7466-41c3-8d71-31748418f2d3.png)

よし、チャネルができた！！！！もう少し🏋️‍♀️

#### 2-4. アクセストークンを取得する
2-3で確認したMessaging APIチャネルをクリックすると、設定画面に遷移します。
Messaging APIタブをクリックし、下の方にスクロールします。
![スクリーンショット 2025-04-01 153546.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/fada0147-a1d7-4603-8c6f-61e976b90c93.png)
画面下部にある「チャネルアクセストークン（長期）」の「発行」ボタンをクリックします。
チャネルアクセストークンが生成・表示されますので、コピーします。
次の手順でiPhoneでペーストしますので、ペーストできるよう保管しておいてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/4ee95253-a65e-4cd6-98e4-1022c883b5e6.png)


これでLINE側での操作は完了です。いったん休憩🍵
次からはiPhoneのショートカットでの設定となります。

### 3. iPhoneのショートカットを設定する
#### 3-1. ショートカットのレシピをダウンロードする
私が作成したものをアップロードしました。
内容としては、LINE MessagingAPIのチャンネルアクセストークンを指定して、そこに指定したテキストとLINEスタンプを送る、という至ってシンプルなものです。
私はルナルナで生理を記録しているので、通知後にルナルナのアプリを開く、というアクションを最後に行っています。

iCloud（Apple公式サイト）経由でダウンロード可能です。

https://www.icloud.com/shortcuts/256ef0dffce0456da8fc90f5269257cf

「ショートカットを追加」を押してダウンロード後、以下の手順で編集をします。

#### 3-2. チャネルアクセストークンを指定する
ダウンロードをすると、ショートカットが自動で開きます。
すべてのショートカットが表示される『ショートカット』タブに、『MessagingAPI パートナーへの月経開始通知 配布用』という名前のショートカットが保存されていることを確認します。
右上の・・・アイコンをクリックすると、編集画面が開きます。
![S__47063051.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/ddc4843f-63be-4966-b963-577ef94a7f87.jpeg)

一つ目のテキストの「ここにチャンネルアクセストークンを貼る」と書いてある箇所をクリックし、「ここにチャンネルアクセストークンを貼る」の文字列を消します。

![S__47063050.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/337fea76-558b-4ca8-b233-70a99a686ac4.jpeg)

ここに、2-4. で取得したアクセストークンをペーストします。

これで、ショートカットの設定は完了です。

#### 3-3. テスト＆カスタマイズ
右下の「▶」アイコンを押すと、ショートカットが実行されます。
公式アカウントから通知が送られるかテストしてみましょう。
うまく動いたら、お好きなようにアレンジしてみてください！
アイコンを好きなものに変更するもよし、
2つ目のテキストの要素を編集して通知内容を変えてもよし、
LINEのスタンプを変えるもよし。
最後のルナルナは、自分が使っているアプリに変更してください。

LINEのスタンプはLine Developersのサイトを見て指定しました。
https://developers.line.biz/ja/docs/messaging-api/sticker-list/

私は1タップで通知できるように、作成したショートカットをホーム画面に追加しています。

#### 3-3. パートナーにLINE公式アカウントを友達追加してもらう

[LINE Official Account Manager](https://manager.line.biz/)の左サイドバーの「友だちを増やす」>「友だち追加ガイド」をクリックすると、URLを作成したりQRコードを作成できます。
ここで作成したURLやQRコードをパートナーに送り、友達追加してもらいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4044646/711592fe-f5f9-4464-ba54-79e98dc31da1.png)

これで完成！！！意外と大変でしたね。。。
LINEがもう少し簡単に設定できればいいのですが。
ただ、ショートカット作成後、実際うまく動くのかな、と生理が待ち遠しくなるという謎のモチベーションも生まれました。
この記事で少しでも負担が軽減される方がいるととてもうれしいです。
最後までご覧いただきありがとうございました。