第 1 步:实现登录体验
简介:衡量 iOS Ads 转化 |
第 1 步: 实现登录体验 |
第 2 步: 集成 Google Analytics |
第 3 步: 使用 Google Analytics 启动设备端转化衡量 |
第 4 步: 排查和处理常见问题 |
第 1 步是实现登录体验,以便用户提供其电子邮件地址或电话号码。
您使用的身份验证系统必须提供与用户关联的电子邮件地址或电话号码。以下步骤概述了使用 Firebase Authentication 安全地收集登录信息的过程,但如果您已经有收集用户电子邮件地址或电话号码的身份验证系统,则可以跳过此步骤,直接前往第 2 步:集成 Google Analytics 。
设置身份验证系统
使用 Firebase Authentication 登录方法
利用 Firebase Authentication,您可以允许用户通过一种或多种方式登录到您的应用,其中包括电子邮件地址、电话号码、密码登录以及联合身份提供方(如 Google、Facebook 或 Twitter)。请参阅 Firebase Authentication 使用入门。
将 Firebase Authentication 与自定义身份验证系统集成
或者,您也可以通过修改身份验证服务器,在用户成功登录时生成自定义的签名令牌,将 Firebase Authentication 与自定义身份验证系统集成。您的应用会接收此令牌并将其用于 Firebase 身份验证。请参阅自定义身份验证系统使用入门。
获取已通过身份验证的用户的电子邮件地址或电话号码
使用 Firebase Authentication 设置身份验证系统后,您可以获取当前登录的用户。
如需获取当前用户,建议针对 Auth
对象设置一个监听器:
Swift
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; // ... }];
Unity
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; }