第 1 步:实现登录体验
简介:衡量 iOS 广告转化 |
第 1 步:实现登录体验 |
第 2 步:集成 Google Analytics |
第 3 步:使用 Google Analytics 启动设备上转化衡量 |
步骤 4:排查并处理常见问题 |
第一步是实现登录体验,以允许用户提供他们的电子邮件地址或电话号码。
您使用的身份验证系统必须提供与用户关联的电子邮件地址或电话号码。以下步骤概述了使用 Firebase 身份验证安全收集登录信息的过程,但如果您已有收集用户电子邮件或电话号码的身份验证系统,则可以跳过此步骤,然后继续执行步骤 2:集成 Google Analytics 。
您自己的应用程序可以在 iOS 11 或更高版本上运行
您的应用已注册为与 Google Analytics 和广告关联的 Firebase 应用
您首选的 IDE
建立认证系统
使用 Firebase 身份验证登录方法
您可以使用 Firebase 身份验证,允许用户使用一种或多种登录方法登录您的应用,包括电子邮件地址、电话号码、密码登录和联合身份提供商(例如 Google、Facebook 或 Twitter)。请查看Firebase 身份验证入门。
将 Firebase 身份验证与自定义身份验证系统集成
或者,您可以将 Firebase 身份验证与自定义身份验证系统集成,方法是修改您的身份验证服务器,以便在用户成功登录时生成自定义签名令牌。您的应用收到此令牌并使用它通过 Firebase 进行身份验证。请查看自定义身份验证系统入门。
获取经过身份验证的用户的电子邮件地址或电话号码
使用 Firebase 身份验证设置身份验证系统后,您可以获取当前登录的用户。
获取当前用户的推荐方法是在Auth
对象上设置侦听器:
迅速
handle = Auth.auth().addStateDidChangeListener { auth, user in // Get the user's email address let email = user.email // or get their phone number let phoneNumber = user.phoneNumber // ... }
Objective-C
self.handle = [[FIRAuth auth] addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) { // Get the user's email address NSString *email = user.email; // or get their phone number NSString *phoneNumber = user.phoneNumber; // ... }];
统一
Firebase.Auth.FirebaseAuth auth; Firebase.Auth.FirebaseUser user; // Handle initialization of the necessary firebase modules: void InitializeFirebase() { auth = Firebase.Auth.FirebaseAuth.DefaultInstance; auth.StateChanged += AuthStateChanged; AuthStateChanged(this, null); } // Track state changes of the auth object. void AuthStateChanged(object sender, System.EventArgs eventArgs) { if (auth.CurrentUser != user) { bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null; user = auth.CurrentUser; if (signedIn) { // Get the user's email address string email = user.Email; // or get their phone number string phoneNumber = user.PhoneNumber; // ... } } } // Handle removing subscription and reference to the Auth instance. // Automatically called by a Monobehaviour after Destroy is called on it. void OnDestroy() { auth.StateChanged -= AuthStateChanged; auth = null; }