web-dev-qa-db-ja.com

FirebaseダイナミックリンクがアプリiOSを開かない

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」アプリでアプリページが開き、インストールされているにもかかわらずアプリ自体は開きません。

ここで何が欠けていますか?

26
kalpeshdeo

IOS 9を使用している場合、ユニバーサルリンクが使用されます。ユニバーサルリンクは、次のような多くの場合機能しません。

  • シミュレーターを使用する場合
  • デバイスのサファリで直接リンクを開こうとする場合(ブラウザのアドレスフィールドに入力する)

私はこれを試すのに多くの時間を費やし、信頼できる方法でシミュレータ上で動作させることは決してできませんでした。最終的には、リンクをメールで送信し、Inboxから開くことになります。その後、毎回動作します!

12
Heinrisch

返信が遅くなってすみません-あなたの問題が解決され、これが同じ問題を経験している他の人に役立つことを願っています。

IOS 9以降では、実際に1つ以上の問題が発生する可能性があります。 Dynamic LinksはiOS 9以降でアプリを開くためにAppleのUniversal Linksに依存しており、これらの提案はUniversal LinksとFirebaseの問題を解決することを目的としており、SDKとは直接関係ありません。

  1. Assocファイルがhttps://app_id.app.goo.gl/Apple-app-site-associationで正しいことを確認します-似ているはずですto https://maps.app.goo.gl/Apple-app-site-association ただし、「details」には要素が1つだけ
  2. 別の回答で指摘されているように、FirebaseコンソールでチームIDが適切に設定されていることを確認してください。
  3. リンクを長押ししてから[Safariで開く]をクリックするか、ユニバーサルリンク経由でアプリを開いた後、アプリのステータスバーにある[goo.gl>]ボタンをクリックした場合、iOSはデフォルトで開きますSafariのユニバーサルリンク。これは、Safariで開いたページをプルダウンし、スマートバナーの[アプリで開く](または同様のボタン)をクリックすることで修正できます。

「ibi」パラメーターは、iOS 9以降のインストール後のクリックでアプリを開くことには関係しませんが、「ius」パラメーターが設定されていない以前のバージョンにあります。

IOS 8については、アプリを実行し、アプリのインストール後にリンクをクリックしてみてください。 iOS 9より前のバージョンでは、リンクをコピーしてサファリに貼り付けることでテストできます。

https://firebase.google.com/docs/dynamic-links/ios

8
iamthearm

同じ問題が発生しました。興味深いことに、Chromeでダイナミックリンクを開くと、アプリが直接正常に起動します。ただし、Safariでは、アプリがインストールされているにもかかわらず、常にAppStoreを開こうとします。この場合、Safariが動作しない理由はわかりません。

3
icould

関連付けられたドメインの資格を間違えることがあります。スペースがあってはいけません

applinks:mydomain.page.link
3
protspace

同じ問題が発生しました。

私にとっての解決策は、

識別子->アプリID-> 'my.app.ID'->プレフィックス

次の場所にあります: https://developer.Apple.com/account/ios/identifier/bundle

使用した'DevelopmentTeam'.pbxproj番号の代わりに、FirebaseコンソールでiOSアプリのTeam IDに追加します。

また、新しい.plistをダウンロードしてプロジェクトに追加することを忘れないでください。

2
Iris Veriris

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 )を確認することで、変更が行われたことを確認できます。

2
dacoinminster

皆さんこんにちは、私は素晴らしい新しいです。

私はいつもそれが[〜#〜] impossible [〜#〜]であると聞いて、シミュレータでダイナミックリンクをテストします。

しかし、私たちはこれを発見し、now WE CANシミュレータでfirebaseダイナミックリンクをテストできます

https://stackoverflow.com/a/56385506/62730

1
Jackson Smith

リンクがサファリで開いている場合、「開く(プロジェクト名)」ボタンが表示されます。このボタンを2〜3秒間押すと、そのボタンを初めて別のアプリで開くように求められます。アプリ名も表示されます。アプリを選択すると、アプリが開きます。その後、このリンクを再度開いてサファリのボタンを押すと、常に正常に機能します。

これで問題は解決しました。

1
Pankaj Jangid

Firebase Dynamic Linksを統合した後、サンプルリンクはiOS 8を搭載したデバイスですぐに機能し始めました。iOS9デバイスでは、他の回答で述べられているようにユニバーサルリンクメカニズムが使用されます。つまり、Appleは、ディープリンクのデュアル認証を確認するために使用する資格データを更新する必要があります。Appleの App Search API Validation Tool によれば、これには48時間かかる場合があります。

ユニバーサルリンクのトラブルシューティングのヒントが他にもあります こちら

0

上記の回避策のいずれも機能しない場合は、関連するドメインにアクティビティの継続を追加したかどうかを確認してください。

Followin image shows the exact place where you have to add that(if you havn't done that already)

0

FirebaseコンソールにアプリのチームIDが設定されていることを確認してください。 (その後、.plistファイルをダウンロードしてインポートする必要があります)。

これで問題は解決しました。

0