RaccoonWalletはDeeplinkに対応している話

RaccoonWalletではDeeplinkを使用することができます

Deeplinkとは何か どのようなことができるか なぜ作ったか どのように使うか(開発者向け) をお伝えします


Deeplinkとは何か

Webにおいてトップページ以外をリンクするハイパーリンクのことを称してこのようにいいます。

具体的な例で話すと

nemlogで面白い記事を発見してツイッターで共有する際には
トップページURL:https://nemlog.nem.social/
を伝えるのではなく
該当URL:https://nemlog.nem.social/blog/3062
を伝えると効果的です。

/blog/XX はどのような意味を持つかというとブログカテゴリーのブログナンバー3062を表示してくれ、というURLです。

この仕組みがない場合だと「nemlogでRaccoonWalletの紹介記事が面白いから読んでみて!」と対象の記事を直接指定することができないということになります。

このようにユーザーの利便性を向上させる効果があるのがDeeplinkですが、皆さんもご存知の通りWebでは全然真新しくない技術です。

ではそれをなぜ今さら?となるかと思いますが現在はモバイルアプリでもこのURLでの起動というのがホットになってきています。

URLをタップすると必要なアプリページが開かれるということです。アプリでもHOMEじゃなくて必要なページ(重要)


どういうことができるか

RaccoonWallet Deeplink でできることはシンプルですが強力なことです。

決済をテキストベース(URL)で行えるようになりました

今まで自分のアドレスに入金してほしい時皆さんはどのように共有していたでしょうか。例えば私はモザワンを運営していましたがあれは該当のQRコードをお手元のNEMWallet等で読み取って入金(投票)してもらっていました。

QRコードは便利な技術でどんな端末でも標準で装備されていて、ほぼ環境は選びません。

しかし、不便なケースが簡単に何個か思い浮かびます。

QRコードを表示している端末でそのQRコードを読み取りたい

これは大問題です。もう一台スマホを引っ張り出してくるか友達にそのページを開いてもらうしかありません。

それをユーザーに強いるのはよくないですね。(モザワンでの私の反省ポイント)

ではDeeplinkを使うとどうなるか。

https://raccoonwallet.com/payment?addr=NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK&amount=1000000&msg=若造

上のURLを踏むと送金確認画面に飛びます
内容は以下です

対象アドレス:NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK 
送付XEM:1XEM 
メッセージ:若造

実際に上のリンクを踏むとどうなるか

起動リンクサンプル

Androidアプリが入っている人だとアプリが起動します

また、アプリが入っていない人はAndroidならGooglePlayStoreに。PC,iOSの人の場合はRaccoonWallet公式ページに飛ばすようなDeeplinkも存在します。可読性は落ちますが、

https://raccoonwallet.page.link/?link=https%3a%2f%2fraccoonwallet%2ecom%2fpayment%3faddr%3dNCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK%26amount%3d1000000%26msg%3dhello%2cRaccoonDeeplink%26name%3dyuki%2cyamada&apn=wacode.yamada.yuki.nempaymentapp

こういった形です。


なぜやったか

一口で言えば価値の創造です。

上でも言いましたが今までの送金はQRコードベースでの送金が主で不都合なケースも存在しました。

それがURLでできることになればLINEで↑のようなURLを相手に送ればテキスト上で請求ができるようになります。

最終的な目標はどの環境でも関係なくこれができるようになればいいと思っています。iOSやPCなどの環境に縛られることなく RaccoonWalletのDeeplinkを使えば決済を任せることができる、という状態になるのがRaccoonWalletの目標です。

決済の一部をRaccoonWalletに任せていただけるようになればサービスの開発ももっとスムーズになるのではないかという理想から機能を作りました。


開発者の皆様へ

RaccoonWalletDeeplink

RaccoonWalletはなんちゃってDeeplinkが扱えます。 URLは二種類存在します

種類

  • DynamicLink
  • 通常の起動リンク

DynamicLink

DynamicLinkはFirebaseの機能です。 こちらのURLは普通の起動リンクとは違います。

Raccoonがすでにインストールされている場合は期待通りの動きを、されていない場合はグーグルプレイストアに。 Android端末でなかったりする場合はWebPage https://raccoonwallet.com/ に飛びます。

こちらを推奨したいところですが少々めんどくさいです。 以下に例を記載します。

ex 対象アドレス:NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK 送付XEM:1XEM メッセージ:hello,RaccoonDeeplink 自分の名前:yuki

こちらをURLに起こします

https://raccoonwallet.com/payment?addr=NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK&amount=10&msg=hello,RaccoonDeeplink&name=yuki,yamada&apn=wacode.yamada.yuki.nempaymentapp

クエリにAPNを追加するのを忘れないでください。 &apn=wacode.yamada.yuki.nempaymentapp

でこちらにDynamiclinkの起動リンクのクエリにパーセントコーディングして追加します。

https://raccoonwallet.page.link/?link=

https://raccoonwallet.page.link/?link=https%3a%2f%2fraccoonwallet%2ecom%2fpayment%3faddr%3dNCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK%26amount%3d1000000%26msg%3dhello%2cRaccoonDeeplink%26name%3dyuki%2cyamada&apn=wacode.yamada.yuki.nempaymentapp

通常の起動リンク

通常の起動リンクは特にアプリが入ってなかったときが考慮されていない起動リンクです。 その代わり直観的にURLを生成することができます。

ex 対象アドレス:NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK 送付XEM:1XEM メッセージ:若造

https://raccoonwallet.com/payment?addr=NCMKWNFWUILEVCKBSON2MS65BXU4NJ2GBJTIJBTK&amount=1000000&msg=若造

https://raccoonwallet.com/payment? の後にクエリ形式で addr,msg,amount,name を追加していってください。