Firebase Dynamic Link を使用してアプリ (>=IOS 9) を共有し、人々をイベントに招待しています (つまり、アプリを持っている場合は DeepLink でイベントに参加でき、持っていない場合は私がイベントに参加する前に、アプリをダウンロードするためにアプリストアに送られます)。
Firebase ドキュメントの手順に従います。
- 関連する JSON をhttps://app_code.app.goo.gl/apple-app-site-associationで取得しています。
- 私のアプリがインストールされている場合、DeepLink はうまく機能しています。
- アプリがインストールされていない場合、Deeplink からアプリストアに移動しますが、最初に開いたときに機能せず、イベントに参加できません。
最初のインストールでリンクを取得するための私のコードは次のとおりです。
でdidFinishLaunchingWithOption
:
FIROptions.default().deepLinkURLScheme = "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
FIRApp.configure()
Firebase docs に基づいて、最初に開いたときに、次の関数を使用しています。
//MARK: First entry
//when your app is opened for the first time after installation on any version of iOS.
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
print("00000000000000000")
FIRCrashMessage("Link during first installation")
downloadEventWithDeepLink = true
downloadUrl = url
return application(app, open: url, sourceApplication: nil, annotation: [:])
}
//same as previous but for older version ios 8 (not relevant)
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url)
if let dynamicLink = dynamicLink {
downloadEventWithDeepLink = true
downloadUrl = dynamicLink.url
return true
}
return false
}
私の場合、downloadEventWithDeepLink
ユーザーがアプリにログインした後にチェックするフラグ(グローバル)です(そこで downloadUrl 変数を使用します)。セットアップで何が間違っていますか?
また、デバッグ方法がわかりません。XcodeでAppstoreの最初のインストールをシミュレートする方法はありますか? 以前の関数 (Open Url) が呼び出されているかどうかを調べるには?
ご協力いただきありがとうございます!