教程:衡量 iOS 广告转化情况
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
第 1 步:实现登录体验
第 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;
}
arrow_back_ios简介
第 2 步:集成 Google Analyticsarrow_forward_ios
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[],[],null,["Step 1: Implement a sign-in experience\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------------------------------|\n| Introduction: [Measure iOS Ads conversions](/docs/tutorials/ads-ios-on-device-measurement/index-first-party) |\n| **Step 1: Implement a sign-in experience** \u003cbr /\u003e |\n| Step 2: [Integrate Google Analytics](/docs/tutorials/ads-ios-on-device-measurement/step-2) |\n| Step 3: [Initiate on-device conversion measurement using Google Analytics](/docs/tutorials/ads-ios-on-device-measurement/step-3) |\n| Step 4: [Troubleshoot and handle common issues](/docs/tutorials/ads-ios-on-device-measurement/step-4) |\n\n\u003cbr /\u003e\n\nThe first step is to implement a sign-in experience to allow users to provide\ntheir email addresses or phone number.\n\n**The authentication system that you use must provide an email address or\nphone number associated with the user.** The following steps outline the process\nfor securely collecting sign-in information using Firebase Authentication, but you\ncan skip this step if you already have an authentication system that collects\nuser emails or phone numbers and continue to [Step 2: Integrate Google Analytics](/docs/tutorials/ads-ios-on-device-measurement/step-2).\n\n\u003cbr /\u003e\n\n**Make sure you have the prerequisites for this tutorial**\n\n\u003cbr /\u003e\n\n- Your own app that can run on iOS 12 or higher\n\n- Your app registered as a Firebase App that's linked to Google Analytics\n and Ads\n\n- Your preferred IDE\n\n \u003cbr /\u003e\n\n\u003cbr /\u003e\n\nSet up an authentication system\n\nUse a Firebase Authentication sign-in method\n\nYou can use Firebase Authentication to allow users to sign in to your app using one or\nmore sign-in methods, including email address, phone number, password sign-in,\nand federated identity providers (like Google, Facebook or Twitter).\nPlease review [Get started with Firebase Authentication](/docs/auth/ios/start).\n\nIntegrate Firebase Authentication with a custom authentication system\n\nAlternatively, you can integrate Firebase Authentication with a custom\nauthentication system by modifying your authentication server to produce custom\nsigned tokens when a user successfully signs in. Your app receives this token\nand uses it to authenticate with Firebase. Please review [Get started with a custom\nauthentication system](/docs/auth/ios/custom-auth).\n\nGet the authenticated user's email address or phone number\n\nAfter you've set up an authentication system with Firebase Authentication, you can\nget the currently signed-in user.\n\nThe recommended way to get the current user is by setting a listener on the\n`Auth` object: \n\nSwift \n\n```swift\nhandle = Auth.auth().addStateDidChangeListener { auth, user in\n // Get the user's email address\n let email = user.email\n // or get their phone number\n let phoneNumber = user.phoneNumber\n // ...\n}\n```\n\nObjective-C \n\n```objective-c\nself.handle = [[FIRAuth auth]\n addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {\n // Get the user's email address\n NSString *email = user.email;\n // or get their phone number\n NSString *phoneNumber = user.phoneNumber;\n // ...\n }];\n```\n\nUnity \n\n```c#\nFirebase.Auth.FirebaseAuth auth;\nFirebase.Auth.FirebaseUser user;\n\n// Handle initialization of the necessary firebase modules:\nvoid InitializeFirebase() {\n auth = Firebase.Auth.FirebaseAuth.DefaultInstance;\n auth.StateChanged += AuthStateChanged;\n AuthStateChanged(this, null);\n}\n\n// Track state changes of the auth object.\nvoid AuthStateChanged(object sender, System.EventArgs eventArgs) {\n if (auth.CurrentUser != user) {\n bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null;\n user = auth.CurrentUser;\n if (signedIn) {\n // Get the user's email address\n string email = user.Email;\n // or get their phone number\n string phoneNumber = user.PhoneNumber;\n // ...\n }\n }\n}\n\n// Handle removing subscription and reference to the Auth instance.\n// Automatically called by a Monobehaviour after Destroy is called on it.\nvoid OnDestroy() {\n auth.StateChanged -= AuthStateChanged;\n auth = null;\n}\n```\n| **Note:** Find more code examples demonstrating Firebase Authentication in the [Firebase quickstarts](https://github.com/firebase/quickstart-ios).\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\n\u003cbr /\u003e\n\n[arrow_back_ios**Introduction**](/docs/tutorials/ads-ios-on-device-measurement/index-first-party)\n[**Step 2** : Integrate Google Analyticsarrow_forward_ios](/docs/tutorials/ads-ios-on-device-measurement/step-2)\n\n\u003cbr /\u003e\n\n*** ** * ** ***"]]