web-dev-qa-db-ja.com

アプリがアンインストールされた状態でブランチリンクにアクセスすると「アドレスが無効なため、Safariでページを開けません」と表示される

アプリをBranch.ioと統合しているときにSafariで問題が発生しました(iOS 11でこれをテストしましたが、他のバージョンでも問題が発生する可能性があります)。

基本的に、アプリをインストールし、SafariまたはChromeでクイックリンクを開くと、すべてが正常に機能し、アプリでリンクを開くよう求めるプロンプトが表示されます。ただし、アプリをアンインストールして、Safariのリンクをタップすると、次のメッセージが表示されます。

error message on Safar

[OK]ボタンをタップすると、必要な動作であるAppstoreを開くためのプロンプトが表示されます。 「アドレスが無効なため、Safariでページを開くことができません」というメッセージが表示されないようにする方法はありますか?アプリをインストールせずにChromeでリンクを開いてみましたが、すべて正常に動作します。

公式のセットアップガイドを使用してURIスキームを入力しましたが、ユニバーサルリンクを自分で処理しているため無効にしました。これが問題を引き起こしている可能性がありますか?

13

アーロンfrom Branch.io here

アプリがインストールされていない場合、BranchはURIスキームを介してアプリを起動しようとしているため、おそらくこのエラーが発生しています。 iOS 9.2以降、AppleはディープリンクのURIスキームを公式にサポートしなくなりました。開発者は、iOSで同等の機能を得るためにユニバーサルリンクを実装することを強くお勧めします。

具体的には、カスタムURIスキームには重大な欠点があります。最も顕著なのは、次の2つの状況を簡単に処理できないことです。

  • アプリがインストールされていないとき。
  • 複数のアプリがmyapp://を要求する場合。

このため、ブランチダッシュボードでユニバーサルリンクを有効にすることをお勧めします。必要なことは、バンドルIDとアプリプレフィックスを指定するだけです。BranchがAASAファイルをホストします。

16
aaron

私もこの問題を抱えていましたが、Branch TestアプリのTestセクションの指示に従って、Safariの警告なしにアプリを開くことができました。

https://github.com/BranchMetrics/ios-branch-deep-linking/tree/master/Branch-TestBed-Swift#test

1. If the app was installed on the test device already:
    * Delete the app from the device
    * Clear Safari web content, history and cookies (Settings > Safari > Clear History and Website Data)
    * Reset the device's IDFA (Settings > Privacy > Advertising > Reset Advertising Identifier...)
2. Create a Marketing link from the Branch dashboard
3. Paste the link into Notes on an iPhone
4. Tap the link - you will get redirected to the web page
5. ...
11
Gary Kerr

それが誰かを助けることを願っています。

  1. 次へ移動します: https://dashboard.branch.io/link-settings/general

enter image description here

Appleダッシュボード: https://developer.Apple.com/account/ios/identifier/bundle からのこれらのIDとプレフィックス

  1. サーバーにASAAファイルを追加する

手順: https://developer.Apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//Apple_ref/doc/uid/TP40016308-CH12-SW2

短い場合は、ファイルhttps://yourdomain.com/.well-known/Apple-app-site-association(.jsonなし)を作成します。
ファイルの内容(それは私のもので、どちらのオブジェクトが正確に必要かわからないので、両方を追加しました):

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "YOURPREFIX.com.your.id",
                "paths": [ "*" ]
            },
            {
                "appID": "com.your.id",
                "paths": [ "*" ]
            }
        ]
    }
}
  1. 再び https://dashboard.branch.io/link-settings/general に移動し、次のように変更します。
    enter image description here

エラーがなく、アプリを自動的に開くことで、基本的な作品リンクの誰かを助けることを願っています。

1
Oleg Reym