iMessageを使ってURLを送ると自動的にRich Preview、いわゆるカード表示になります。今回はURLをそのまま文字列として送りたい場面があったので、いろいろテストしました。
結果、どうやらURLだけを送る場合ならURLを半角ドット.で囲ってあげるとプレーンテキストとして送ることができました。
.https://storange.jp.
→ https://storange.jp
半角ドットとURLの間にスペース(半角全角問わず)が入っても問題ありませんでした。
. https://storange.jp .
→ https://storange.jp
ただ、前後にテキストがある場合には半角ドットも含まれてそのまま表示されてしまうようです。
いろは .https://storange.jp. あいう
→ いろは .https://storange.jp. あいう
この場合は普通にURLを入力すれば良さそうです。よくよく思い出してみれば確かにインラインURLはそのままプレーンテキストとして送信されるのでした。
いろは https://storange.jp あいう
→ いろは https://storange.jp あいう
この場合、URLと前後のテキストの間に半角スペースを1つでも入れてあげないと、前後のテキストまでURLとして認識されてしまう場合があります。ご注意を。
いろはhttps://storange.jpあいう
→ いろは https://storange.jpあいう (RichPreview化)
テキストが前にしか無い場合、最後にのみ半角ドットを付与することでURLをプレーンテキストとして送ることができました。
いろは https://storange.jp.
→ いろは https://storange.jp
同じ考え方で、テキストが後にしか無い場合、最初にだけ半角ドットを付与すれプレーンテキスト化されました。
.https://storange.jp あいう
→ https://storange.jp あいう
まとめ: メッセージがURLを含む場合、前後に文字列があれば(スペースでURLと区切られている場合)すべてプレーンテキストで送られます。URLとテキストがスペースで区切られていないと特にURLの後ろのテキストはURLの一部として解釈されます。メッセージの始まり、または終わりがURLの場合、URL部分のみを別のバブル(別の吹き出し)として送信します。この場合、Rich Previewになります。もしメッセージの始まりや終わりに半角ドットを挟んでURLがいる場合、URLをプレーンテキストとして表示します。この場合半角ドットからURLまでの空文字列(特にスペース)はTrimされます。