29

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) が呼び出されているかどうかを調べるには?

ご協力いただきありがとうございます!

4

2 に答える 2