最近LINEミニアプリの開発・審査提出を行いました。
そこでつまずいたこと、知ったことについて書いていこうと思います。
※2022/11時点での情報のため、最新情報では異なる場合があります。
LINEミニアプリとは
LINEミニアプリは、LIFF(LINE Front-end Framework)上で実行されるウェブアプリです。LINEミニアプリを使えば、ユーザーはアプリをインストールしなくてもサービスを利用できます。
LINEミニアプリはウェブアプリですので、HTML5のほとんどの仕様が使用できます。詳しくは、「仕様」を参照してください。
https://developers.line.biz/ja/docs/line-mini-app/discover/introduction/
アプリと聞くとハードルが少し高く感じますが、LIFF化さえできていればミニアプリ化は簡単にできました。
開発編
外部サイトの遷移
外部サイトのリンクを特に何の捻りもなくこのように書いていました。
<a href="https://example.com">外部サイトはこちら</a>
ミニアプリ上でこの書き方のリンクに遷移すると、遷移先の画面上に「外部サイトに移動したため、機能が正常に動作しないか、セキュリティが保証されていない場合があります」と表示されてしまいました。
ミニアプリで外部サイトを開くのはあまりよろしくなさそうです。
そのため、以下のようにliff.openWindowを利用してLINE内ブラウザで開くようにして、ミニアプリで外部サイトを開かないように制御を行いました。
<a onClick={() => {liff.openWindow({url: "https://example.com", external: false});}}>
外部サイトはこちら
</a>
友だち登録
ミニアプリでは友だち登録を強制することができません。
そのため、友だち登録しないと利用できないような実装はNGのようです。
ただし、アクセス許可要求画面を利用することで、友だちになってもらうタイミングを用意することは可能でした。
アクセス許可同意画面では、ボットリンク機能による友だち追加を表示できるので、ここでチェックがついたまま同意してもらえれば友だちになってもらえるという動きです。
なるほどと思い設定していたのですが、ミニアプリを立ち上げてもアクセス許可同意画面が表示されず……
どうやら、チャネル同意の簡略化が"ON"になっていると初回起動時の権限許可画面がスキップされ、アクセス許可同意画面も表示されないようです。
以下のような処理を書いてあげることでチャネル同意の簡略化が"ON"でも、任意のタイミングでアクセス許可要求画面を表示させることができました。
liff.permission.query("profile").then((permissionStatus) => {
if (permissionStatus.state === "prompt") {
liff.permission.requestAll();
}
});
処理など詳しいことはこちらを参照
https://developers.line.biz/ja/docs/line-mini-app/develop/channel-consent-simplification/#detailed-workflow
審査提出編
審査提出前に
LINEミニアプリの審査依頼前の確認事項というページが用意されています。
審査提出前に今一度確認しておくと良さそうです。
審査環境と本番環境の用意が必要
審査提出時には、審査用のエンドポイントURLさえ設定していれば良いと思っていたのですが、本番用のエンドポイントURLの設定も必要でした。
審査提出は公開申請の立ち位置らしく、審査提出時に本番システムも稼働させておく必要があるようです。
審査通過後、30日後には自動的に公開されるようなので、そのせいもあるのかもしれませんね。
審査環境と本番環境に乖離は出さない
基本的には審査環境は本番環境の複製くらいに考えておいた方が良さそうです。
今回外部サイトへのリンクがあったのですが、その向き先をdev環境にしていたところツッコミをいただきました(リンク先にBASIC認証がかかっていたせいの可能性もありますが……)
LINEミニアプリの審査依頼前の確認事項でも、似たようなことが書かれていました。
本番用のチャネルのLIFF URLと、審査用のチャネルのLIFF URLが同じサービスを反映しているかどうかを確認してください
https://developers.line.biz/ja/docs/line-mini-app/submit/submission-guide/#review-request-checklist
さいごに
LINEミニアプリの開発・審査提出時につまずいたこと、知ったことについて書きました。
開発の手助けになれば幸いです。