IOSアプリをデバイスにローカルで開発およびインストールしました。
Info.plistでカスタムスキームをmydlink
として設定しました
関連ドメインをweelとして設定:applinks:<myapp>.app.goo.gl
Firebaseに次のようなダイナミックリンクを作成しました:
https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://iTunes.Apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D<app store id>%26mt%3D8&pt=<app store id>
ダイナミックリンクを開くかクリックすると、「App Store」アプリでアプリページが開き、インストールされているにもかかわらずアプリ自体は開きません。
ここで何が欠けていますか?
IOS 9を使用している場合、ユニバーサルリンクが使用されます。ユニバーサルリンクは、次のような多くの場合機能しません。
私はこれを試すのに多くの時間を費やし、信頼できる方法でシミュレータ上で動作させることは決してできませんでした。最終的には、リンクをメールで送信し、Inboxから開くことになります。その後、毎回動作します!
返信が遅くなってすみません-あなたの問題が解決され、これが同じ問題を経験している他の人に役立つことを願っています。
IOS 9以降では、実際に1つ以上の問題が発生する可能性があります。 Dynamic LinksはiOS 9以降でアプリを開くためにAppleのUniversal Linksに依存しており、これらの提案はUniversal LinksとFirebaseの問題を解決することを目的としており、SDKとは直接関係ありません。
「ibi」パラメーターは、iOS 9以降のインストール後のクリックでアプリを開くことには関係しませんが、「ius」パラメーターが設定されていない以前のバージョンにあります。
IOS 8については、アプリを実行し、アプリのインストール後にリンクをクリックしてみてください。 iOS 9より前のバージョンでは、リンクをコピーしてサファリに貼り付けることでテストできます。
同じ問題が発生しました。興味深いことに、Chromeでダイナミックリンクを開くと、アプリが直接正常に起動します。ただし、Safariでは、アプリがインストールされているにもかかわらず、常にAppStoreを開こうとします。この場合、Safariが動作しない理由はわかりません。
関連付けられたドメインの資格を間違えることがあります。スペースがあってはいけません
applinks:mydomain.page.link
同じ問題が発生しました。
私にとっての解決策は、
識別子->アプリID-> 'my.app.ID'->プレフィックス
次の場所にあります: https://developer.Apple.com/account/ios/identifier/bundle
使用した'DevelopmentTeam'
の.pbxproj
番号の代わりに、FirebaseコンソールでiOSアプリのTeam ID
に追加します。
また、新しい.plistをダウンロードしてプロジェクトに追加することを忘れないでください。
Firebaseのダイナミックリンクは、セットアップ中のFirebaseの仮定に問題があるため、ユニバーサルリンクを使用するiOS9では機能しませんでした。アプリの問題を修正した方法は次のとおりです。
Firebaseは、iOSアプリをFirebase Consoleプロジェクト設定に追加するときに「チームID」を要求し、一意のアプリIDがTeamID.com.foo.barの形式であると想定します
ただし、この例では、それは一意のアプリIDではありません。プロビジョニングプロファイル(developer.Apple.comでプロビジョニングプロファイルを見つけて[編集]をクリック)を見ると、一意のアプリIDが実際にはSomethingElse.com.foo.barであることがわかりました。
Firebase Consoleに移動して、チームIDでなくても、チームIDを要求した場所に「SomethingElse」と入力する必要がありました。その変更を行うと、Firebase Dynamic Linksは正常に機能し始めました。
Firebaseは、一意のアプリIDは常にチームIDで始まることを前提としているようですが、必ずしもそうではないようです。
チームIDの変更が有効になるまでにかなりの時間がかかることに注意してください。 app_idの適切なリンク( https://app_id.app.goo.gl/Apple-app-site-association )を確認することで、変更が行われたことを確認できます。
皆さんこんにちは、私は素晴らしい新しいです。
私はいつもそれが[〜#〜] impossible [〜#〜]であると聞いて、シミュレータでダイナミックリンクをテストします。
しかし、私たちはこれを発見し、now WE CANシミュレータでfirebaseダイナミックリンクをテストできます
リンクがサファリで開いている場合、「開く(プロジェクト名)」ボタンが表示されます。このボタンを2〜3秒間押すと、そのボタンを初めて別のアプリで開くように求められます。アプリ名も表示されます。アプリを選択すると、アプリが開きます。その後、このリンクを再度開いてサファリのボタンを押すと、常に正常に機能します。
これで問題は解決しました。
Firebase Dynamic Linksを統合した後、サンプルリンクはiOS 8を搭載したデバイスですぐに機能し始めました。iOS9デバイスでは、他の回答で述べられているようにユニバーサルリンクメカニズムが使用されます。つまり、Appleは、ディープリンクのデュアル認証を確認するために使用する資格データを更新する必要があります。Appleの App Search API Validation Tool によれば、これには48時間かかる場合があります。
ユニバーサルリンクのトラブルシューティングのヒントが他にもあります こちら 。
FirebaseコンソールにアプリのチームIDが設定されていることを確認してください。 (その後、.plistファイルをダウンロードしてインポートする必要があります)。
これで問題は解決しました。