元茹でガエルなエンジニアの記録

ちょっとやってみたことや考えたことなどを不定期に書き残していきます

中国でWeChatペイメントしてみた

12月に、また中国に行きました。前回は7月末だったのですが、今回は12月ということで、かなり寒いです。

さて、前回の中国出張のときから気になっていたWeChatでの支払い(WeChatペイメント)にチャレンジしてみました。

 

f:id:jiig999:20171214115631j:image

 

WeChatについて

何それ?

WeChatというのは、 中国のメッセージングアプリで、日本のLINEのようなものです。ですが、WeChatは単なるメッセージのやりとりだけでなく、タクシー配車サービスと連携していたり、以前の記事で書いたMobikeというシェアサイクルサービスを利用することもでき、さまざまなサービスのプラットフォームとなっています。

日本のLINEもプラットフォーム構想を打ち出していて、宅急便の再配達の申し込みなどができますが、WeChatはそれをさらに充実させて、かつ国民に広く普及している、という点が特徴です。中国ではスマホ所有者の90%以上がこのWeChatアプリを使っていると言われています。

 

日本では

日本では、LINEでもLINE Payという機能がリリースされていて、支払いに対応しているのですが、まだまだ普及はしていないように感じます。ApplePayやその他の電子マネーもいろいろありますが(多すぎるぐらい)、どれもまだまだ浸透しているとは言いにくい状況だと感じています。

 

使い方

使い始めるには

まず、WeChatアプリをインストールします。iPhoneですと、日本のアプリストアからインストールできます。 

ただし、注意点があります。日本のストアからインストールしたアプリはデフォルトでは制限がかかっているらしく、ペイメント機能に関するメニューが表示されません。また、本来は中国の銀行口座との紐付けが必要になります。ですが、誰かからWeChatで送金してもらうことで日本版アプリで、かつ銀行口座が無くてもWeChatPayが使えるようになります。

詳しくはこのあたりのサイトを参考にしてください。

clifehack.com

 

私は現地の知り合いに現金で100元を渡し、知人から私のWeChatアカウントあてに100元を送金してもらいました。

WeChatアプリ下部の「本人」タブを開き、[ウォレット]が表示されればOKです。

f:id:jiig999:20171218183342j:image

 

利用方法

WeChatに対応しているお店では、WeChatのアイコンが掲示されていたり、支払い用のQRコードが掲示されていたりするので分かります。

店員さんに「ウェイシン(=微信)」と言うと分かってくれます。"微信"とは、WeChatの中国での正式名称で中国人はみな、「WeChat(ウィーチャット)」とは言わずに、ウェイシンと言います。

 

お店にQRコードが掲示してある場合

この場合は、自分のWeChatアプリで店のQRコードを読み取り、表示された画面で支払い金額を入力し、確定ボタンをタッチします。支払パスワードを要求されるので、6桁のパスワードを入力すると、支払いが完了します。

f:id:jiig999:20171218184216j:image

コンビニなどの小さな店舗ではこのパターンが多かったです。

 

お店側に自分のQRを読み取ってもらう場合

こちらはお店側の人がスマホもしくはQRリーダ(バーコードリーダも)で読み取る場合です。セブンイレブンやスタバなど、ある程度ちゃんとしたお店だとこのパターンが多いようです。

この場合は、WeChatアプリを開き、本人->ウォレットの画面で、左上の[マネー]をタップして表示される画面を、店員さんに見せます。すると、店員さんが画面に表示されているコードを読み取り、支払いが完了します。

f:id:jiig999:20171218184442j:image

この画面を見せるだけ。

f:id:jiig999:20171218184520j:image

 

いずれの場合も、支払ったあとすぐにアプリに通知が来て、取引履歴が残ります。とても便利です。どこでいくら使ったかが、アプリ上で一目瞭然です。

 

友人に送金する場合

ごはん代を割り勘したときなど、日本だと1人2000円ずつね〜。みたいな感じで現金をやり取りしますが、これもWeChatで対応できます。

アプリから友人を選び、画面下部のプラスボタンをタップして、

f:id:jiig999:20171218183828j:image

送金をタップします。

f:id:jiig999:20171218184022j:image

金額入力画面が表示されるので、入力して送金を実行するだけ。細かいのがないからあとで、、みたいな事が無いので非常に便利です。

f:id:jiig999:20171218183853j:image

送金のやりとりもチャット上に残り、相手が受け取ったかどうか分かります。

 f:id:jiig999:20171221090355j:image

 

 

最後に

現金よりもWeChatな理由

日本は現金の信頼性が高く、治安も良いためか、現金での支払いが圧倒的に主流ですね。

アメリカではコンビニでのちょっとした買い物もクレジットカードで支払う人が多かった記憶があります。これは、現金を店に置きたくない、ということも理由の1つのようです。多額の現金を置いておくと強盗に狙われますので。

そして、中国では現金でもクレジットカードでもなく、WeChatやアリペイ(アリババの決済サービス)が主流という感じです。

その背景として、中国でもアメリカなどと同様に、現金はあまり扱いたくない(偽札や安全性の面で)が、かといって国民のかなりの層が、クレジットカードを持てない人たちであるといった事情があるのではないかと考えています。

クレジットカードは信用取引なので、使った分のお金を後払いする形です。でも、収入が安定しない人は信用が低く、カードを使った分、ちゃんと支払えるかが怪しいので、クレジットカードを持っていないのです。

 

その点、WeChat Payなどは、銀行口座と紐付けてチャージする形で電子マネーを使えるようになるので、借金ではありません。自分が現在所有しているお金以上の支払いはできません。銀行のデビットカードと同じですね。

現金を直接扱わず、かつ信用のない人々でも使えるところがここまで普及したポイントなのでしょう。

 

導入も簡単

もうひとつ、WeChat Payが広く普及している理由は、店舗やサービス提供側の導入コストの低さ、簡易さだと思います。

クレジットカードや日本の各種電子マネーWAONとかEdyとかいろいろ)の決済に使用するような専用リーダーは不要で、QRコードを読み取るだけなので、初期コストほぼゼロで導入できます。

また、最近は、店側にQRリーダーが無償で配布され、それをPOSにつないで使用している店舗もあるようです(たぶんスタバはこのパターン)。

 

日本でもWeChat Payのような便利なサービスが普及するといいですが、やはり有力候補はLINEになるのでしょうかね。個人的には、LINEかApplePayかなと思っています(Googleもかな?)。理由は、やはりできるだけ簡単に使えるから。AppleGoogleだとスマホそのものやOSと統合できるので少ない操作で決済できそうです。もしくはLINEのように普段から使うアプリで、わざわざインストールしなくても皆が使っているものが広がりやすいと思います。ですが、日本におけるLINE以上に、中国でのWeChatの普及率はすさまじいです。通信キャリアやOSに依存せず、かつ日本企業のプラットフォームアプリが出てくると面白いですね。(楽○は勘弁して。。。)

 

Amazon Echoがやってきた(後編)

後編として、開封の儀と、使ってみての米国版との違いなどを書いてみます。

 

開封の儀 

Amazonから荷物が届いたので、さっそく開封。

こんな感じの箱です。アメリカ版と基本的には同じですが、説明や対応企業などが、ちゃんと日本版になっています。

f:id:jiig999:20171118182826j:image

 

 箱の上部から開けます。ツマミのような部分を持って、ズズッと引き出すように取り出します。

f:id:jiig999:20171118182846j:image

 

中身を全部出したところ。マニュアルなんかは本当にペラペラです。最初の接続の説明ぐらいで、あとは基本的にはアプリの画面とechoがしゃべってくれる内容にしたがって初期設定を進めて行くだけです。

f:id:jiig999:20171118182857j:image

 

alexaアプリを起動し、画面の指示に従ってecho自体のWiFiにつなぎます。接続すると、画面が自動的に切り替わるので、家庭で使っているWiFi の接続情報を設定します。

テスト接続が成功すると、セットアップ完了となります。

f:id:jiig999:20171118182902j:image

 

「アレクサ」と呼びかけることで本体上部のリング状のライトが青白く光り、反応していることが分かります。ですが、別に反応を待たずにしゃべりきってしまって大丈夫です。

「アレクサ、今何時?」とか「アレクサ、タイマーで5分測って」とかしゃべることでやり取りできます。

 

音楽に関しては、狙いどおりの曲をかけるのはまだまだ難しいですね。着メロバージョンやインストゥルメンタルなどの複数バージョンあるとき、残念な結果になります。

 曲名などを一覧から選んだり、細かく指定するようなときはアプリのGUIを使うのが適していますね。

ボイスコントロールにもGUIにもそれぞれ長所があるので、無理にすべてを音声でやろうとするのがそもそも間違いなのでしょうね。

ちょっとしたことを手を使わずに「ながら」で実現できるのはかなり便利で、スマートホームとの相性は良いと思います。

 

米国版と比べてみて

さて、日本に上陸したAmazon Echoとalexaですが、もともと持っていて使っていた米国版とは、違いがあることに気づきました。

  •  個人の音声識別がまだ使えない
  • 設定リストが少ない
  • 動画サービスが選べない

などなど。

 

個人の音声識別が使えない

米国版では、家族で使う場合などに個々人の声を学習させておき、識別することができます。これにより、「私のカレンダーに登録して」や「私のタスクに追加して」というだけで、それぞれの予定やタスクに追加できます。

 f:id:jiig999:20171120002536j:image

 

また、ショッピング機能を特定のユーザーの発話に限定することもできて、子供やテレビによる誤発注を防止できます。

f:id:jiig999:20171120002606j:image

 

設定項目が少ない

米国版と比べると、使えない機能や設定がいろいろあります。

上は日本版です。メニューを開くと、ミュージック〜スマートホームの4つのコントロールが可能です。

f:id:jiig999:20171120002820j:image

 

同じ画面を米国版で見てみると、[ルーチン]という項目があります。これは、一連のアクションを事前に登録しておき、一括で呼び出せる機能です。

例えば、[出かける]のルーチンとして、天気予報と交通状況をアナウンスし、テレビと照明をオフにする、と設定しておけば、出かけるのルーチンを呼び出すだけで、これらを全て実行してくれます。便利。

f:id:jiig999:20171120003513j:image

 

[設定]メニューを開いたときも、こんなにいろいろな項目がありますが、[交通情報]など、日本版ではまだ表示されていない項目があることが分かります。

日本版でも順次使えるようになると思いますので、今後に期待ですね。

f:id:jiig999:20171120005215j:image

 

動画サービスが選べない

個人的にはこれが痛かったです。我が家ではKindle Fire TVを愛用していて、echoから音声で操作したかった。。

 

こちらは日本版の[ミュージック&本]メニューを開いた画面。現時点では、選べるのはミュージックのみ。

f:id:jiig999:20171120002845j:image

 

こちらは米国版アカウントの場合。ビデオ、ミュージック、本の3つのタイプのメディアに対して設定やコントロールができる。

f:id:jiig999:20171120002907j:image

 

まだまだこれから

米国版を触っていた自分にとっては少し残念な状況です。リストなどはToDoistアプリと連携するようにしていたので、日本版で出来ないとなると、面倒です。

とはいえ、ずっと対応されないということは無いと思うので、対応されるのを待つことにします。

GoogleHomeが日本でリリースされたので、Amazon Echoも予定を繰り上げてリリースをしたのではないでしょうか。なので、最低限の機能しか使えないのかなぁと。たぶんですが。

日本より1カ月ほど早くリリースされたインド版は、このあたりどうなんでしょうかね??

 

 

Amazon Echo (Newモデル)、チャコール (ファブリック)

Amazon Echo (Newモデル)、チャコール (ファブリック)

 
Amazon Echo Dot (Newモデル)、ブラック

Amazon Echo Dot (Newモデル)、ブラック

 

 

 

Amazon Echoがやってきた(前編)

f:id:jiig999:20171116201731j:image

11/8にAmazon.comAmazon Echoシリーズの招待メール申込みが始まりました。私も、アメリカで買ったEcho dotを持っているけど、あれは遊び用なので、ちゃんと家に置いて使う用に、即日申込みました。

Echo dotとノーマルEchoを申し込みましたが、11/13の週になってもメールはこず、まだかまだかとメールやらサイトやらをチェックする日々。

11/15にいよいよ招待メールが来たというツイートが出始め、そわそわして待っていましたが、結局来ず。。。しかーし、どうやら15日はdotの招待メールのみのようで、複数申込みした場合、どれか1つだけしか招待メールが来ないということのようです(これは、最初は、ということだと思います。落ち着いたら順次全ての申込みに対応がされると思います)。

と、いうことは、15日にメール来なかった私は、きっとdotではなく本命のノーマルechoの権利を得たのだと自分に言い聞かせていました。

 

そして、夕方の16時を過ぎた頃、ついにメールが!!

来ましたー。echoの招待メールです!

f:id:jiig999:20171116200459p:image

 

ソッコーで迷わずポチッとな。明日のお届け予定です、とあるので楽しみです。

 まあ、仕事なので受け取れるのは結局土曜日になりそうですが。

週末はAmazon Echoとおしゃべりですね。

 

 

Amazon Echo (Newモデル)、チャコール (ファブリック)

Amazon Echo (Newモデル)、チャコール (ファブリック)

 
Amazon Echo Dot (Newモデル)、ブラック

Amazon Echo Dot (Newモデル)、ブラック

 

 

 

Alexa Skill KitでAmazonEchoのスキルを自作する方法(2)

Alexa Skill KitでAmazonEchoのスキルを自作する方法(1)の続きになります。

redorereadblog.hatenablog.jp

 

だらだら書いているうちに、日本語スキル開発環境がリリースされてしまい、そちらの記事を書こうとしています。

なので、この記事は少し中途半端でインテントのSlotとLambdaには触れていません。。(言い訳) 

スキル作成の続き

 Intentとその発話サンプルをひととおり登録し終えたら、画面上部の[Build Model]をクリックし、入力した情報で対話モデルをビルドします。この処理は少し時間がかかります。ビルド処理はバックグラウンドで実行されるので、[Configuration]をクリックして設定画面に移動します。

すでにconfiguration画面で設定ができている場合は、ここから[Test]でスキルのテスト画面に移動することも出来ます。

f:id:jiig999:20171114163229p:plain

 

 

[Configuration]をクリックすると、Builderが終了してもとの画面のUIに戻ります。いずれは、設定やテストなどすべてBuilderのUIに統合されるのだと思いますが、今は対話モデル作成部分のみがベータ版として対応しているようです。

ここでは、Alexaから処理要求を受け取り具体的なスキルを実装するLambdaのARNを指定します。先にLambdaファンクションを作成しておき、そのARNを指定することになります。スキル本体の処理は、Lambdaを使わず自分でスクラッチしても良いです。その場合は[HTTPS]にチェックを入れ、エンドポイントを入力します。

その他の項目はデフォルトのまま[次へ]をクリックします。

f:id:jiig999:20171114163309p:plain

 

 

LambdaのARNなどのチェックが行われ、エラーが無ければこの画面に遷移します。

スキル情報〜テストまでの4つにグリーンチェックが入っていれば、スキルがテスト実行可能です。この時点で、Amazon Developerと同じアカウントを使っているEcho端末からもテストが可能です。公開するまでは、他のユーザーアカウントから呼び出すことはできません。

f:id:jiig999:20171114164505p:plain

 

 

画面中ほどに、サービスシミュレーターがあります。EchoやEchosim.ioからもテストできますが、この画面からだとしゃべるかわりに、文字を入力してテスト実行できます。

Alexa Skill Testing Tool - Echosim.io

 

発音の認識間違いなどに苦労せずにすむので、まずはこの画面からテストすることをおすすめします。

しゃべる内容を文字で入力し、XXXを呼び出すボタンをクリックすると、Alexaと会話したことになって処理が実行されます。

左下に、Alexaからスキルへのリクエスト内容が、右下にはスキルからのレスポンスが表示されるので、うまく動かないときはここを見ると良いです。

f:id:jiig999:20171114164517p:plain

 

上の例では「i wanna start meeting」と入力してみました。実はIntent作成時のサンプル発話としては登録していない表現ですが、Alexaがよきにはからってくれて、ちゃんと"StartMeetingIntent"と判定されています。

  

まとめ

今回はスキル本体となるLambdaと、IntentのSlotについてはすっ飛ばしました。すみません。

Intentのサンプル発話をどれだけ網羅して設定しておく必要があるかは、正直なんとも言えません。Alexaはどんどん賢くなっているので、わりと適当に設定しても大丈夫な気がします。少なめに定義しておいて、うまく意図解釈してくれない(=Intent判定を誤る)ときに追加していけば良いかなぁという印象です。

 

Nature Remoが帰ってきたのでセットアップした

おかえり

過去記事で書いていましたが、購入した2台のRemoを湿度センサーの初期不良で返送していました。 部品交換ではなく、新品が2台届いたので改めてセットアップしました。

redorereadblog.hatenablog.jp

2台とも新品に。以前のものは箱に英語しか書いていませんでしたが、今回は日本向け正式販売が開始されたこともあって日本語で記載されていますね。

f:id:jiig999:20171112232707j:plain f:id:jiig999:20171112232853j:plain:w400

改めて開封の儀

付属品たち。クラウドファンディングで買ったときは各国の規格に合わせて電源プラグがたくさんついていましたが、今回は日本向けの形状のみです。

f:id:jiig999:20171112232905j:plain

本体アップで撮影。Natureのロゴがシンプルに刻印されています。 前身であるIRKitと違い、プロダクトとして十分な質感に仕上がっています。笑。

f:id:jiig999:20171112232915j:plain:w400

セットアップ

Remoの設定

Remoがひとつも登録されていない状態でアプリを起動すると、セットアップチュートリアルが開始されます。 まずは、電源ケーブルをつなぐように言われます。

f:id:jiig999:20171112232934j:plain:w300

次に、Remo自身のWi-Fiに接続するように言われます。普通にWiFi接続する手順でスマホの設定画面からRemoのネットワークを選んで接続します。 パスワードは「natureremo」固定です。私はiPhoneなのですが、もしかするとAndroidだとWiFi設定の切り替えはアプリが自動でやってくれるのかもしれません。iPhoneではアプリからのWiFi設定変更は許可されていませんが、Androidアプリでは可能だった記憶があります。 f:id:jiig999:20171112233910j:plain:w300

RemoのWiFiにつないでアプリ画面に戻ると、付近のWiFiサーチ処理が始まります。

f:id:jiig999:20171112233928j:plain:w300

Remoが使用するWiFiを選んで、パスワードを入力します。以後、RemoはこのWiFiを使ってネットワーク接続を行うようになります。

f:id:jiig999:20171112234609j:plain:w300

ここまで来たら、Remoにタッチするように言われるので、タッチします。Remo本体の上面にはタッチセンサーが搭載されていて、ユーザーのタッチを検出できるようになっています。 これはよく出来ているなと思いました。RemoのWiFi設定を変更しようと思うと、物理的に手で触れる場所にいないとダメということでセキュリティが高まります。

f:id:jiig999:20171112234641j:plain:w300

タッチすると、ピッと反応してくれます。

f:id:jiig999:20171112234832j:plain:w300

インターネットへの接続ができると、セットアップ完了です。

f:id:jiig999:20171112235121j:plain:w300

最後に、このRemoに名前をつけます。複数持っていて寝室とリビングにそれぞれ設置するときなどに区別することが出来ます。 右上の[保存]をタップしてRemo本体の初期セットアップが完了です。

f:id:jiig999:20171112235142j:plain:w300

機器の設定

エアコンの場合

Remo本体の設定が出来たら、次はRemoでコントロールする機器を追加していきます。エアコンに関してはかなりの機種が事前設定済みで、簡単に設定ができます。 アプリ画面の下部にある[コントロール]タブを選んで追加を始めます。画面の指示に従い、Remoに向けてリモコンのボタンを操作します。

f:id:jiig999:20171113004709j:plain:w300

赤外線信号が既知のパターンにマッチした場合、自動的にメーカーと機種が判定され、画面に表示されます。この画面で操作してちゃんと動作すれば判定が合っていると思われるので、次に進みます。 自動検出されない場合や、別メーカーに誤判定されてしまう場合は、マニュアルで設定をすることになります。

f:id:jiig999:20171113000334j:plain:w300

f:id:jiig999:20171113000541j:plain:w300

名前やアイコンは変更することが出来ます。分かりやすい名前に変更しておきましょう。

f:id:jiig999:20171113000642j:plain:w300

エアコンの操作画面はこんな感じです。シンプルでわかりやすいですね。

f:id:jiig999:20171113000842j:plain:w300

コントロール画面です。テレビとエアコンが登録済みです。

f:id:jiig999:20171113000911j:plain:w300

テレビの場合(エアコン以外でも赤外線リモコン機器はなんでも設定可能)

エアコン以外でも手順は同じです。エアコンと違って自動判定されないので、家電の種類と、押したボタンが何なのか(電源ボタンとか、チャンネルボタンとか)をひとつひとつ登録していきます。地道な作業です。 モノによってはしっくりくるアイコンが無くて困ります。アイコン画像をユーザが自由に追加できる機能の追加を切望します。

家電の種類を選ぶ。

f:id:jiig999:20171113001123j:plain:w300

テレビを設定しました。

f:id:jiig999:20171113001338j:plain:w300

ボタン情報を設定します。

f:id:jiig999:20171113001535j:plain:w300

よく使うボタンたちを登録して、仕上げていきます。最終的にこんな感じになります。 この画面で、ボタン配置を変更することができるのですが、これがまた思った配置にするのが難しいです。iPhoneのアプリアイコン並べ替えも同じですが。。。

f:id:jiig999:20171113001625j:plain:w300

ほかにも

ジオフェンスによる自動コントロール(自宅付近300mに近づいたらエアコンONするとか)を設定することができます。また、他のIFTTTイベントをトリガーにした任意のコントロール実行を自由にカスタマイズすることが可能です。 AmazonEchoやGoogleHomeともIFTTT経由で連携でき、音声によるテレビやエアコンなどの家電操作が実現できます。 さらに、Remo本体には温度センサーや湿度センサー、他にもいくつかのセンサーが搭載されていますので、それらの値を使用したトリガーを仕込むことも今後可能になっていくと思われます。

公式サイトはこちら Nature

Uberの衝撃

Uberっちゃいました

やばいよやばい。Uberやばい。便利すぎ。 

 f:id:jiig999:20171102093032j:image

行き先の説明やお金の支払の心配も無し。

慣れない海外旅行でも、Uberがある国なら一人で旅行できそうだぜーっと変な自信がつくぐらい使えるサービスです。

 

Google MAPアプリなんかで、行き先調べると、その時点でもうUber呼べそうなアイコンが表示されます。

f:id:jiig999:20171102093044j:image

これ、最近は日本でGoogle MAP使ってても表示されるときがありますが、当時(2016年12月)は無かったので、見たことないアイコン出てる!?って驚きました。

 

Uber体験(というか使い方) 

行き先を入力。Google MAPで検索して、そのまま選んでもいいし、Uberアプリでも目的地を入力できます。

こちらはUberアプリの画面です。

POOLとかuberXとかはサービスの種類です。uberXはいわゆるタクシーです。POOLは、相乗りしてもいいよ、という乗り方で、料金がuberXよりも安くなります。

f:id:jiig999:20171102093054j:image

他にも、大人数が乗れる車種が来てくれるuberXLや、高級車が来てくれるuberBlackなどがあり、ニーズに応じて最適なサービスを選ぶことができます。しかも料金が事前に分かります。

安いからと行ってPOOLに乗ると、「近くに他の乗客いるからちょっと回り道して拾うわ!」みたいな感じで、思ったより時間がかかる事なんかもあったりするようです。空港に向かう時とか時間にシビアな移動にはPOOLは向かないかも知れませんね。

 

で、画面下部の[UBERX を依頼する]をタップすると、配車リクエスト完了です。これだけ。超簡単。

 

目的地までのドライバーが見つかると、下のような画面が表示されます。黒丸が自分。車アイコンがタクシー車両の現在位置です。ドライバーの名前、車種、ナンバーなどが表示されるので、その車が到着するのを待ちます。

GPSの本家アメリカだからか分かりませんが、現地では位置情報の精度が非常に高かった印象があります。画面上で、お、そこの角を曲がるところだなぁって思って目を向けると、ホントにそのタイミングで曲がって来てビックリしました。

f:id:jiig999:20171102093119j:image

車両が到着すると、お互いに声を掛け合って確認します。といっても、ドライバーに自分の名前を伝えるだけなので、英語力は不要。uber利用において声を発する必要があるのはこのときだけ。あとは会話ができなくても大丈夫です。

無事にカップリング(笑)が成功して乗り込むと、アプリの画面が乗車中モードに切り替わります。

f:id:jiig999:20171102093126j:image

あとは、目的地に着いたら降りるだけ。キャッシュレスなので、現金のやりとりも発生しません。これが助かるし、安心でした。

で、しばらくすると領収書がメールで届きます。何時にどこからどこまで乗って、いくらだだったか、が分かりやすく記載されています。

f:id:jiig999:20171102093132j:image

ダラダラと書いてしまったので、かえって分かりづらくなりましたが、とてもシンプルです。

  1.  目的地を入力する
  2. uberを依頼する
  3. あとは待つだけ

実際のところ、配車リクエストしたあとは、アプリを操作する必要はありません。乗って降りるだけ。

まとめ

開発者目線で言うと、デフォルトの動きをどうするか、という点について、よく考えられていると感じました。なので、特に細かい指定が無い場合はスマホ操作はわずか2-3タップで完了します。これが実にサクサク快適。

 

あとは、ソフトウェアでやるところと人間系でやるところの分担がほどよいと思います。とくに、乗り込む前の確認なんかがそうで、アプリを使わずに声をかけ合うだけで完了します。良い意味でソフトウェアでの対応をあきらめています。スマホアプリにQRコードを表示して、ドライバーに読み取ってもらうとか考えがちだし、やりがちですが、そうはしなかった。ベストなユーザ体験を追求し、人間系での声かけをシステムとして採用した、ということでは無いでしょうか。

 

Alexa Skills KitでAmazonEchoのスキルを自作する方法(1)

※2017/11/8 日本語スキル開発がリリースされたので、日本語版画面でこの記事を再更新する予定です。

※日本語スキル開発を少しやってみてハマった点。macChromeの組合せではサンプル発話を登録する際、スロットと日本語両方を含む発話が保存時にエラーとなってしまいます。safariだと問題なく保存できました。謎です。あと、{SlotName}の後ろに半角スペースを入れずに日本語を続けて入力するとこれまたエラーになるようです。“?“記号を使ってもいけないようです。

Alexa Skills Kitによるスキルの作成 | ASK

スキル作成の流れ

今回説明するのは以下の流れです。処理の実装はAWS Lambdaで作るのが必須というわけではありません。でも、私はいつもLambdaで開発しています。

  1. どんなスキルにするか決める
  2. Amazon DeveloperサイトでAlexa Skillを定義する
  3. AWS Lambdaで処理の実装をする

 

参考にしたのはこのあたりのサイトです

クラスメソッドさん:【Alexa初心者向け】Alexa Skill Kitを噛み砕いて解説してみる | Developers.IO

 

その前に解説 

Alexaの開発について

デベロッパーコンソールにログインすると、開発対象を次の2つから選択することになりますが、それぞれの説明を簡単に。

  • Alexa Skills Kit
  • Alexa Voice Service
Alexa Skills Kit

Amazon Echoから使用できるSkillを開発することができます。Skillというのはアプリのようなものです。 

Alexa Voice Service

Amazon Echoのように、音声で対話できるサービスやデバイスを作る開発者向けのサービスが用意されています。Echoではないデバイス音声認識や対話機能を持たせたいときに使用します。

 

スキルの種類について

2017年11月の時点で、スキル開発時には以下の4つから、自分の作りたいスキルの種類を選ぶ必要があります。

  • Custom Interaction Model
  • Smart Home Skills
  • Flash Briefing Skill
  • Video Skill
Custom Interaction Model

一般的なカスタムスキルです。対話モデルの定義から全てを自分で作成する必要がありますが、柔軟に開発することができます。自分で開発する必要がある代わりに、痒いところに手が届く、というタイプのスキルです。


Smart Home Skills

スマートホーム用デバイスをコントロールすることに特化したスキルです。スマートホームで使うコマンド定義( turn on/off , lock door など)があらかじめ用意されているので、対話定義を自分で作る必要がありません。

あと、Amazon Echoでは、デフォルトで使用するスマートホームスキルを選ぶことができ、その場合は "alexa," のあとにスキル名を言う必要がなくなり、より自然な指示が出せるようになります。

通常の場合:「alexa, ask "MyHomeSkill" to turn on TV.」でテレビがつく

Smart Home Skill 使用:「alexa, turn on TV. 」でテレビがつく


Flash Briefing Skill

RSSフィードを読み込んで、最新情報を読み上げてくれるスキルを作るときに使用。朝一に、よく見るいくつかのニュースサイトなんかをササッと読み上げる(=flash briefingというらしい)スキルを作りたければ、このスキルを選択するのが唯一の方法とリファレンスには記載されています。

 Video Skill

気がつけばいつの間にか追加されていました。TV番組や映画などの映像コンテンツを提供するためのスキルのようです。よく分かりませんが、Echo ShowなどのディスプレイがあるタイプのEchoデバイス用だと思います(たぶん)。

スキル作成手順

Amazon Developer Sign In

Amazon Developer のサイトから、[Developer Console]を開きます。アカウント未作成の場合は、さきにアカウント登録をしておく必要があります。

f:id:jiig999:20171106235632p:plain

すると、こんな画面が表示されるので、[ALEXA]タブに移動し、ASK(Alexa Skills Kit)の[Get Started]をクリックする。

f:id:jiig999:20171106235827p:plain

 

次の画面では、作成済みのSkill一覧が表示されますが、何も作っていないときは表示されません。新しくSkillを作るときは、右上の[Add a New Skill]をクリックします。

f:id:jiig999:20171106235934p:plain

Skill作成画面が表示されます。

[Custom Interaction Model]にチェックを入れ、Languageは[English (U.S.)] を選択します(Japaneseが選べるようになるのが待ち遠しいですね)。

Nameには、スキル名を入力します。Alexaアプリのスキル一覧や、公開した際のストアに表示される名前になります。

Invocation Nameは、呼び出すときの呼び方を指定します。スキル名と同じでも良いですし、全然違う名前を入力しても大丈夫です。下の例ではあえて違うようにしてみました。最後に[Save]をします。

f:id:jiig999:20171107010044p:plain

しばらくするとsaveが完了し、作成したスキルの情報が表示されます。[Next]をクリックして次の設定に進みます。

f:id:jiig999:20171107011347j:plain

 

Interaction Modelを定義する画面が表示されます。最近、Skill BuilderのBETA版が使えるようになりました。そちらを使用するほうが分かりやすいので、[Launch Skill Builder]をクリックしてビルダー画面を起動します。

※2017/11/08 時点では、Skill Builderでは日本語スキル開発ができません(画面の入力チェックが日本語対応できていないような動きをします)。ですので、日本語スキルを開発するときは、[Launch Skill Builder]をクリックしないで作業する必要があります。

f:id:jiig999:20171107012359p:plain

こちらがSkill Builderの画面。初期表示ではDashboard画面が表示されます。まず、インテントを作成するので、[Intents]の横の[ADD +]をクリックします。 

f:id:jiig999:20171107013434p:plain

Intent作成画面が表示されるので、[Create a new custom intent]にチェックを入れ、インテント名を入力して[Create Intent]ボタンをクリックします。インテント名は、大文字小文字を含めて空白なしで入力する必要があります。C#の変数名のような付け方にすることが多いようです。 

f:id:jiig999:20171107012341p:plain

 

次に、作成したIntentに対応する、Sample Utterances(発話サンプル)を登録していきます。Sample Utterancesというのは、ユーザが○○と言ったら、それはこの意図(=Intent)だよ、というのをAlexaに教えるものです。Utteranceは聞き慣れない単語ですが、"発話"とか"発言"という意味で、カタカナ発音だとアタランスといった読み方になります。

alexaはどんどん学習を繰り返して賢くなっている(これからも賢くなり続ける)ので、あらゆる発話パターンをここでSample Utterancesとして登録しておく必要はないようです。例えば、"turn light on"定義しておけば、"light on"や"turn the light on"のように若干違う言い方をしても、丸め込んで同じ意図として解釈してくれるようです。

 

f:id:jiig999:20171114162250p:plain

 

長くなったので続く。。。続きはこちらになります。

redorereadblog.hatenablog.jp