< 1 Min. Read

iOS 10.3におけるUniversal Linksの7つの課題とOneLinkソリューション

Avatar Gil Meroz Aug 07, 2017

iOS 9から、AppleはUniversal Linksと呼ばれるディープリンクの新しい方法を発表しました。Universal Linksはユーザーエクスペリエンスを高めながら、ユーザーフローを改善しつつ、ディープリンクのセキュリティ問題やURLの一意性を向上しました。一方でUniversal Linksは新たな制限をもたらし、マーケターと開発者にさらなる課題を生み出す結果となりました。

 

iOS 9以前のiOSディープリンク
Universal Linksが登場する以前、ディープリンクは「URLスキーム」を利用していました。アプリがインストールされていない場合のApp StoreやWebページへのフォールバックは、Safariブラウザを開きアプリ起動を促しました。しばらくして何も起こらなければ、ユーザーは希望のApp StoreやWebページにリダイレクトされました。

 

Universal Linksのリリース
Universal LinksはHTTPSリンクであり、iOSシステムにディープリンクとして認識されます。このディープリンクは、アプリ起動をしたり、アプリがインストールされていない場合にWebページをフォールバックで開いたりします。

Universal Linksをタップすると、iOSはアプリがインストールされているかどうか識別します。アプリがインストールされている場合、アプリが直接起動します。これにより、ユーザーはスクリーンの右上にあるボタンを利用して、直前のアプリに簡単に戻ることができます。

アプリをWebサイトドメインにポイントさせ、またWebサイトドメインをアプリにポイントさせることで、AppleはディープリンクURLとアプリとの間に独自の ”ハンドシェイク” を導入しました。Universal Linksのリリース以前は、開発者はあらゆるディープリンクスキーム(例ebay://)を自身のアプリに登録することが可能でした。つまり、他のアプリで使われているリンクを開くことが自由にできたのです。双方向の合意なしに、同じディープリンクを複数のアプリで使用することが可能でした。Universal Linksは一意のWebサイトと紐づいており、開発者がドメインリンクで許可されたアプリの一覧をWebサイト上に登録する必要があるため、より安全なソリューションといえます。

Universal Linksの制限

  1. 複雑な実装と品質保証

    Universal Linksはいくつかのパラメータを適切に設定することが求められます。この複数のステップにより、設定フローに誤りが生じる可能性が高まり、特に以下の部分で注意が必要です。

     

    Universal Linksの設定プロセス

    1. アプリ開発者は、Apple Developer CenterのアプリプロビジョニングファイルでUniversal Linksを有効にします。
    2. アプリはこのプロビジョニングをアプリ内で更新します。
    3. アプリはWebサイトドメインを指定する必要があります。
    4. Webサイトには指定されたアプリがドメインを利用してディープリンクできることを示す、一意のファイルが必要です。

    開発段階で上記プロセスのどこかで漏れがあったり、誤った設定にしたりすることがよくあります。さらにWebサイトとモバイルアプリの担当チームが別のことが多く、トラブルシューティングに時間がかかるのも難点です。

  2. アプリがインストールされていない場合には App Storeへフォールバック

    多くの場合、マーケターは自身のアプリをインストールしたユーザーにApp Storeへリダイレクトしてもらいたいと考えます。

     

    iOS 9以降、デバイスにアプリがインストールされているかどうか、プログラムによって確認する方法がありませんでした。これまではSafariのURLスキームを開くことで確認しようとしていましたが、現在はURLスキームが応答しない場合にSafariは他のアクションを実行できません。

     

    このニーズに応えるため、iOS 10.1や10.2でも対応できるような、App Storeへリダイレクトする独自のソリューションを開発しました。フォールバックWebサイトとしてサーバーをセットアップし、必要なアプリの起動に失敗した場合、サーバーがユーザーをApp Stopeへリダイレクトさせるようにしました。

    ただし、AppleはiOS 10.3からさらに新しい制限を追加しました。他のアプリ(App Storeを含む)へのリダイレクトには新たな確認ダイアログが必要になったのです。


    このダイアログの導入と1クリックが追加されたことは、ユーザーエクスペリエンスとコンバージョン率の両方に悪影響を及ぼしました。この悪影響に拍車をかけるのが、ユーザーが上記「Cancel」ボタンをクリックした場合に、どこにもリダイレクトせず白紙ページが表示されてしまう点です。AppsFlyerでは、この流れを避けるため、OneLinkプラットフォームで設定したフォールバックWebページを読み込むことで、この状況を回避できるように設定を改善しました。

  3. ディープリンクを解除するナビゲーション矢印

    AppleがUniversal Linksをリリースしたすぐあと、画面の右上にナビゲーション矢印が追加されました。この新たな矢印によりユーザーはアプリを離れ、紐づくWebサイトへ移動できます。これは強力なユーザーエクスペリエンスを提供する一方で、ユーザーをApp Storeへリダイレクトしたい場合など、アプリ開発者としてはWebサイトへのリダイレクトを避けたい場合があります。

    この新しい矢印はプログラム的に避けることはできません。さらには、一度ユーザーがこの矢印をタップすると、 OSはUniversal LinksのデフォルトとしてWebサイトを「記憶」してしまいます。この瞬間から、ユーザーが特定のリンクをタップするとアプリ起動の代わりにフォールバックWebサイトへリダイレクトされてしまいます。WebサイトがApp Storeへ自動的にリダイレクトされることで、このユーザーエクスペリエンスはより悪化します。

    この状況は開発者とマーケター双方に、ディープリンクによりアプリが機能していないと混乱を招きがちです。

    正しいテスト方法としては、ディープリンクをテストする場合、忘れずにリンクをロングタップしてリンクごとに設定をリセットし、オプションから「Open in “My App”」を選択してください。

  4. HTTPリダイレクトと短縮リンクはUniversal Linksを破壊します

    Universal Linksは別のURLからのリダイレクトが起こった場合、定義上機能しません。この制限はセキュリティー対策であり、明確なユーザー意図なしではWebサイトからアプリを開かないようにするためのものです。リダイレクトは、ユーザーがリダイレクトURLと同じドメインからURLをタップした場合のみ、Universal Linksからアプリが起動します。

    アプリ開発者とマーケターはHTTPリダイレクトを使用してリンクを管理することに慣れています。HTTPリダイレクトは、サーバーサイドのルーティングロジックを変更します。HTTPリダイレクトはマーケティングやソーシャルメディアに適した短縮リンク作成によく利用されます。ほとんどの場合、Universal Linksはbit.lyなどの短縮アドレスサービスや、自動的に独自の短縮リンクを適応するTwitterなどのアプリを通じて実行されると機能しなくなります。これはユーザーが以前にリダイレクトされたURLと同じドメインからタップしていないことが原因です。

  5. ブラウザに直接貼り付けされた場合Universal Linksは機能しない

    Universal Linksでは、ユーザーがリンクを実際にURLをタップする必要があります。これはプログラムでハッキングすることはできません。

     

    このことも、開発者やマーケターが自身のリンクをテストする際に、混乱を招くことが多いです。ブラウザアドレスバーへリンクを貼り付けると、Universal Linksが読み込まれず、開発者やマーケターは技術的エラーが発生したと誤解することがよくあります。正しい確認方法は、リンクをロングタップしてリンクごとに設定をリセットし、オプションから「Open in “My App”」を選択してください。

  6. Universal Linksで他のアプリを開く

    多くのアプリでは、HTTPリンクがクリックされると内部ブラウザが開きます。ほとんどの場合、開発者とプロダクトマネージャーはこの機能を利用してユーザーが自身のアプリを使い続けるようにし、「戻る」を選ぶことで、ホーム画面や前のタブではなく、アプリが開くように設定します。

     

    このシナリオでは、Webviewのドメイン上でURLのタップが発生しないため、アプリがインストール場合と同様にURLを読み込んでWebサイトが開きます。これはSFSafariViewControllerまたはWebviewを利用して読み込まれたページの両方に当てはまります。

     

    ブラウザ内で実行されているJavascriptコードを使用して、ブラウザのアドレスを変更し偽ることができるため、Appleはこの対策を実装しました。URLの変更は、ウェブ上では正当なアクションですが、モバイルでは自動的に他のアプリが開くのは、より押しつけがましく悪用される恐れがあります。Appleはこの機能を制御し、ユーザーが対象のアプリを開こうとしていることを確認することにしました。

    この制限は、一部のソーシャルアプリやメールアプリがディープリンクに対応していない理由でもあります。ただ、この状況を回避できる方法は2つあります

    • HTTPリダイレクトを利用して、URLをApp Storeへ送信します。App Storeページに既にユーザーがアプリを持っている場合、ストアは「開く」ボタンを表示します。この解決方法では2度目のクリックが必要なため、コンバージョン率が少し下がる可能性があります。
    • Universal Linksがあるページにリンクポイントを置きます。ユーザーがブラウザ内のUniversal Linksをクリックすると、アプリが表示されます。この場合も同様に、2度目のクリックが必要なため、コンバージョン率が少し下がる可能性があります。

    OneLinkはこれらのオプションをサポートしています。

  7. ソーシャルアプリ

    前述の通り、Universal Linksは多くのソーシャルアプリで機能しません。ほとんどの場合、6で述べたように上記2つの解決策がお勧めです。

     

    人気ソーシャルアプリで直面している既知の制限は以下の通りです。

    • Facebook
      投稿からFacebookフィードへディープリンクすることができません。新しいフィード内のUniversal Linksをクリックすると、Facebookの内部ブラウザ(ネイティブSafariビューコントローラー)内でリンクが開き、Webぺージとしてリンクを開こうとします。
    • Twitter
      Twitterは、ツイート内のリンクを自動的に短縮リンクに変換します。リンクが変更されると、ディープリンクは機能しません。さらにTwitterはSafari Reader内のリンクを開き、アプリ内のディープリンクは無効となります。Twitterプロフィールからのリンクでも同様の状況となります。
    • WeChat
      WeChatは自社のビルトインWebviewを使用します。Webviewと連携したWeChatは、Universal Linksをサポートしていません。最も理想的な解決策は、ユーザーをApp Storeへリダイレクトすることです。
    • Instagram
      Instagramでは、ユーザープロフィールの内容にURLを設定することができます。これはインフルエンサーがユーザーを自身のWebサイトへ誘導する時によく使う方法です。残念ながら、アプリ内のInstagramプロフィールからディープリンクすることはできません。これらのリンクは上の制限を伴う内部ブラウザで開きます。

AppsFlyerではここ数年間、世界トップの開発者とマーケターにOneLink™のディープリンクの可能性を十分に認識していただき、ユーザーエクスペリエンスとコンバージョン率の向上に貢献することができました。iOS上でUniversal Linksを実装する際に開発者とマーケターが直面する7つの最も一般的な課題に関して、ご質問、ご提案、フィードバックをぜひお聞かせください。

無料で使えるOneLinkのディープリンク機能に関する詳しい情報は、AppsFlyer のデモを今すぐリクエストしてご確認ください。ご連絡お待ちしております!