🦋
PrivacyPolicyの設定
iOSリリースのために
例のPrivacyPolicyが要る。
なにを書くか、のほうは大して問題ないのだが、
アプリの中に書けば簡単なのに、どこかにupしてURLが必要なんだったよね。
初めてリリースした『はじめてのえにっき』のためにつくったが、
三年も前だからいい加減忘れている。
たしかgithub.ioにしたんだった。
前回のPrivacyPolicyを流用する
ほんとはAWSにあるServerpodのWebServerに上げればいいんだけれど、
やり方がよくわからないので(>_<)
前回同様github.ioを使おう。
でも、github.ioって、無料だとたしか5件しか使えないので、
もったいないから、前回のを増築して使うことにする。
index.html一つだったものに、
diary.html『はじめてのえにっき』用と
ChronoMap.html『四次元年表for mobile』用を追加して、
トップに分岐のリンクを張る。
Pagesで作った原稿を爺様にhtmlに変換してもらったので、一瞬だった。
pushすると、自動でdeployされたので、それも一瞬だった。
お世話になります(゚゚)(。。)ペコッ。
index.htmlはこんな感じ
<body>
<h1>Ecole la Porte Privacy Policy</h1>
<ul>
<li><a href="diary.html">はじめてのえにっき プライバシーポリシー</a></li>
<li><a href="chronomap.html">四次元年表 for mobile プライバシーポリシー</a></li>
</ul>
</body>
アプリ側はこんな感じ
『はじめてのえにっき』はindex.htmlを指定していたので、トップに飛ぶ。
『四次元年表』は、最初から.../chronomap.htmlで指定したので、直接飛ぶ。
専用Containerを別ファイルでつくって
import 'package:url_launcher/url_launcher.dart';
class LaunchUrlContainer extends StatelessWidget {
final String textContent = 'Ecole la Porte Privacy Policy';
const LaunchUrlContainer({
super.key,
});
Widget build(BuildContext context) {
return GestureDetector(
onTap: onLaunchUrl,
child: Padding(
padding: const EdgeInsets.fromLTRB(30, 12, 30, 12),
child: ShadowedContainer(
child: Container(
decoration: BoxDecoration(
color: Colors.lightGreen[100],
borderRadius: BorderRadius.circular(15),
),
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(textContent),
const Icon(Icons.open_in_new),
],
),
),
),
),
),
);
}
Future<void> onLaunchUrl() async {
final Uri url = Uri.parse('https://laporte727.github.io/ecole.la.porte/chronomap.html');
if (await canLaunchUrl(url)) {
await launchUrl(url);
} else {
// エラーハンドリング: URLを開けない場合の処理
print('Could not launch $url');
}
}
}
実際のページでは呼ぶだけ
const LaunchUrlContainer(),
さっ、リリース作業に入ろう!
四次元年表
三次元・四次元表示
四次元年表の使い方
Discussion