アプリに「LINEで送る」を実装する
こんな感じのボタンからメッセージをLINEアプリへダイレクトに送信します。
Webサイトに設置したい場合は、以下の公式サイトで確認できます。 media.line.me
今回は、OSの共有機能を利用するのでもなく、アプリから直接LINEを起動してメッセージを投稿する方法です。
実装のポイント
- LINEのDeveloper登録は必要ない
- SDKなどの導入も必要ありません
- URL Scheme(
line:/msg/text
)を利用するline://msg/text/<message>
の形式でURLを作成する
- URLエンコードする
- 日本語メッセージの送信には、URLを作成するためエンコードが必要です。
- 改行コードを指定する
- 受信した相手に見やすい表示にする
- iOSでは送信メッセージの確認ができない
- 送信前にメッセージの確認・編集ができないため、メッセージ内容には注意が必要です。
iOSの実装
Info.plistへの許可設定
iOS9からアプリ内で実行するURL SchemeをプロジェクトのInfo.plistに設定する必要があります。
Key: LSApplicationQueriesSchemes
value: (配列でURL Schemeを指定)
URLの作成とopen
- Swift 4.0
let urlscheme: String = "line://msg/text" let message = "iPhone X\n\n私たちはずっと変わらないビジョンを持ち続けてきました。\nすべてがスクリーンのiPhoneを作ること。\n\nhttps://www.apple.com/jp/iphone-x/" // line:/msg/text/(メッセージ) let urlstring = urlscheme + "/" + message // URLエンコード guard let encodedURL = urlstring.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) else { return } // URL作成 guard let url = URL(string: encodedURL) else { return } if UIApplication.shared.canOpenURL(url) { if #available(iOS 10.0, *) { UIApplication.shared.open(url, options: [:], completionHandler: { (succes) in // LINEアプリ表示成功 }) }else{ UIApplication.shared.openURL(url) } }else { // LINEアプリが無い場合 let alertController = UIAlertController(title: "エラー", message: "LINEがインストールされていません", preferredStyle: UIAlertControllerStyle.alert) alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default)) present(alertController,animated: true,completion: nil) }
- 改行コードは「
\n
」です - URLはエンコードします
- openURLはiOS10からメソッドが異なります
- 「LINE」アプリがインストールされていない場合を考慮します
画面遷移
アプリからURL Scheme実行 | LINEアプリが起動して送信先選択 | 送信完了 |
---|---|---|
Androidの実装
URLの作成とStartActivity
- java 8
@Override public void onClick(View view) { // URL Scheme String urlScheme = "line://msg/text"; // メッセージ String message = "iPhone X\n\n私たちはずっと変わらないビジョンを持ち続けてきました。\nすべてがスクリーンのiPhoneを作ること。\n\nhttps://www.apple.com/jp/iphone-x/"; // メッセージをURLエンコード String encodedMsg = null; try { encodedMsg = URLEncoder.encode(message, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } if (encodedMsg != null) { Uri uri = Uri.parse(urlScheme + "/" + encodedMsg); Intent i = new Intent(Intent.ACTION_VIEW,uri); startActivity(i); } }
- LINEアプリのインストール有無は
PackageManager
などで事前にチェックする必要があります - 改行コードは「
\n
」です - URLはエンコードします
画面遷移
アプリからURL Scheme実行 | LINEアプリが起動して送信先選択 | 送信メッセージの内容を確認可能 | 送信完了 |
---|---|---|---|
デザイン
「LINEで送る」のボタン画像は公式のサイトでリソースを配布しています。 https://media.line.me/ja/how_to_install#lineitbutton
まとめ
今回利用したURLスキームは、ネット上の情報を利用して動作確認まで行えました。
しかし公式のURLスキーム情報にたどり着けなかっため、今後利用できなくなる可能性もあります。
ともあれ、Developer登録やSDKの導入なしで利用できるURLスキームで連携できるのは便利でした。
iPhone Xで画面を下げるが。。
Rebuildを聴いていたら、NさんがiPhone Xで画面を下げて操作する話をしていたので、「その手があったか!これでコントロールセンターも通知センターも片手でいけるのでは!?」と思いました。
今まで、画面を下げるアクセシビリティなんて利用したことなかったので知りませんでしが、デフォルトでOFFなんですね。
「設定」⇨「一般」⇨「アクセシビリティ」⇨「簡易アクセス」をON にします。
これで、ホームインジケータを下にスワイプスると、画面がずり下がり片手操作がだいぶ楽になります。
設定しながら気がついてたんですが、画面が下がってもステータスバーが下がるわけではないので「コントロールセンター」「通知センター」を表示するには端末の最上部に指が届かないとダメです。
画面上部ではなく、ずり下がった上の部分を下にスワイプスると「コントールセンター」「通知センター」が表示されました!これで片手操作ができます!(11/19 追記)
画面が下がることでもう一つ気がついたのが、普段ノッチの裏に隠れているアプリの表示部分が露わになるということです。
ここは、アプリをスウィッチするか画面キャプチャを取らないと普段は見えない箇所なので画面を下げることで簡単に見えるとなると、ここに隠しコメントでも入れて置きたいなと思いました。
ノッチ裏が露わに |
---|
iPhone Xのキーボードはやはり使いずらいので小さくする
大きすぎるPlusサイズを避けて来ました。
理由は片手操作を諦めていなかったからです。
しかし、iPhone Xになり片手を。。。少なくとも「通知センター」「コントロールセンター」は諦めざるを得ません。
どう考えても指が届きません!
iPhone6,7 (4.7インチ) | iPhone X (5.8インチ) |
---|---|
しかし、キーボード操作は片手で操作したいのです。
「通知センター」や「コントロールセンター」はたまにしか操作しないので諦めることはできます。
でも、キーボード操作は諦められないのです。
iPhone Xは、PlusサイズよりもiPhone6、iPhone7のサイズに近いですが、若干横幅があることと厚みがあることで片手ではキーボード入力がかなり厳しいです。
そこで、iOS11からサポートされているキーボードを左右どちらかに寄せて幅を小さくする設定を行います。
設定は簡単で、キーボードの地球マークを長押してすると出てくるメニューから左右の設定を選択するだけです。
普段私は左手で操作するのでキーボードを左に寄せます。
地球マークを長押し | メニューから寄せる方向を選択 |
---|---|
右を選択してみる | キーボードが左に寄った! |
---|---|
これで片手入力がiPhone5、iPhoneSEのキーボードサイズで可能となりました。
これ、設定は簡単なのですが解除も同じくらい簡単です。キーボード操作中にいつのまにか解除してしまうことがあります。
簡単に元に戻らないように「設定」アプリから設定できるよにしてもらいたいです。
個人間送金アプリ「Kyash」を初めて利用してみた
スマートフォンだけで支払いができる「オサイフケータイ」機能は、Apple Play、Android Pay(さよならGoogle wallet)などの登場で世界中でも当たり前になっています。
そして現在では、スマホでの個人間におけるお金のやりとりが頻繁に行われています。
そこで利用されるのが個人間送金のアプリです。
私の周りを見ると利用している人はまだ少ない印象ですが、利用可能なサービスは様々なものが登場しています。
こちらで各サービスの詳細な比較が行われています。
今回はこの記事でもオススメされている「Kyash」を利用してみました。
Kyash
Kyashの特徴は、始める手軽さと利用範囲の幅広さです。
始める手軽さ
Kyashは他サービスと異なり、本人確認作業なしで送金が可能です。
利用可能になるために数日かかるということは無く、その場でアプリをインストールして利用し始めることもできます。
これはクレジットカードの登録だけで、銀行口座との紐付けが必要ないためです。 そのため、現金化(出金)はできません。
送金は、その場で金額を入力して送るだけですぐに相手のKyashアプリに届きます。
送信を受け取った表示 |
---|
Kyashアプリを利用していない相手にもFacebook Messager, LINEを利用して送金が可能です。
※ これは「送金」が可能なのであって、受け取る相手は最終的にKyashアプリをインストールする必要があることに注意です。
利用範囲の幅広さ
Kyashは、利用開始時にKyashのVISAカードが発行され、このカードはオンラインショッピングにて通常のクレジットカード同様に利用可能です。
ほとんどの人が普段の買い物でAmazon、楽天、ZOZOTOWNなどの様々なオンラインショッピンを利用することが多いと思います。
これらオンラインショッピングで利用可能ということであれば現金化ができないことは大した問題ではないと思います。
他のサービスは現金化が可能ですが、現金化には通常手数料が発生しますし、個人間でやり取りする残高金額であれば、オンライン利用用途の方が多いのではないかと思います。
こういった意味でも多くのオンライン店舗で利用可能なVISAカードが発行されるKyashは利用範囲が広いと言えます。
まだまだ日本では一般的とは言えない個人間送金ですが、今後は利用する人も増えてくるのでKyashには是非とも利用しやすいサービスを作っていってもらいたいと思います。
Apple Pay Cashは?
ここまで「Kyash」を褒めて来ましたが、Apple好きとしては
「Apple Pay Cash」はまだか!「Apple Pay Cash」はまだか!
という状況です。
個人間送金が可能となるサービス「Apple Pay Cash」はそろそろアメリカで利用可能になりますが、日本ではまだ先です。
仮に利用可能となってもiMessageアプリに閉じた世界なので、Appleユーザ以外は利用できません。
AppleユーザでもiMessageを利用している人がどれだけいるのか?という残念な問題は横に置いておいて、Apple Pay Cashを楽しみに待ちたいと思います。
個人 -> 店舗の支払いではApple Payは順調なようですが、個人 -> 個人ではどのような状況になるのでしょうか?
未来はワイヤレス
Apple Watch Series 3を購入後、iPhone Xを見据えてワイヤレス充電器を購入しました。
「さぁ、未来だ!」と意気込んで試したのですが、Apple Watchの充電ができない。。。
充電できないのです。実際は2秒くらいは反応しますが、すぐに反応が無くなり充電ができません。
すでに購入の時点でApple Watchは、市販のQi対応充電器で充電ができないという情報がいくつもあったようです。
調べてから購入すれば良かったです。
iphone-mania.jp applewatchjournal.net
Apple純正の「AirPower」を大人しく待たなかった罰だと反省し、クローゼットの奥にしまい込んだのでした。。。
そして月日は流れ11月3日、iPhone X 発売!
ゴソゴソと引っ張り出したワイヤレス充電器。
充電できることは知っていますが、ドキドキです。
iPhone X ワイヤレス充電 |
---|
The future is wireless |
未来です。