如何在iOS中测试firebase邀请?

时间:2016-10-19 08:13:24

标签: ios swift testing firebase firebase-invites

我正在使用firebase邀请邀请朋友使用推荐代码。我需要知道如何在iOS应用程序中处理以下场景。

我已按照this指南进行Firebase邀请实施。

案例1: iPhone上的应用未安装,用户通过邀请安装应用。我需要来自被邀请者的"deeplink"参数集的推荐代码。或已安装的应用程序和当前未运行用户点击来自电子邮件的邀请网址。

解决方案>> 据我所知,didFinishLaunchingWithOptions方法中的代码将处理此方案。

if let inviteUrl = launchOptions?[UIApplicationLaunchOptionsURLKey] as? NSURL {
      //App opened from invite url
      self.handleFirebaseInviteDeeplink(inviteUrl)
}

案例2 :已在iPhone上安装了应用程序且当前正在运行,用户点击了电子邮件中的邀请链接。

解决方案>> AppDelegate中的方法将处理我假设的代码。

@available(iOS 9.0, *)
func application(application: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
     return self.application(application, openURL: url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String, annotation: "")
}

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
     if let invite = FIRInvites.handleURL(url, sourceApplication:sourceApplication, annotation:annotation) as? FIRReceivedInvite {
        let matchType = (invite.matchType == FIRReceivedInviteMatchType.Weak) ? "Weak" : "Strong"
              print("\n------------------Invite received from: \(sourceApplication) Deeplink: \(invite.deepLink)," + "Id: \(invite.inviteId), Type: \(matchType)")
              if (matchType == "Strong") {
                  print("\n-------------- Invite Deep Link = \(invite.deepLink)")
                  if !invite.deepLink.isEmpty {
                       let url = NSURL(string: invite.deepLink)
                       self.handleFirebaseInviteDeeplink(url!)
                  }
              }
              return true
     }
     return GIDSignIn.sharedInstance().handle(url, sourceApplication: sourceApplication, annotation: annotation)
}

问题是我无法找到测试任何场景的方法。任何人都可以指出我正确的方向。

感谢您的帮助。

0 个答案:

没有答案