Langkah pertama adalah menerapkan pengalaman login untuk memungkinkan pengguna memberikan alamat email atau nomor telepon mereka.
Sistem autentikasi yang Anda gunakan harus memberikan alamat email atau nomor telepon yang terkait dengan pengguna. Langkah-langkah berikut menguraikan proses mengumpulkan informasi login dengan aman menggunakan Firebase Authentication, tetapi Anda dapat melewati langkah ini jika sudah memiliki sistem autentikasi yang mengumpulkan email atau nomor telepon pengguna, lalu lanjutkan ke Langkah 2: Mengintegrasikan Google Analytics.
Pastikan Anda memiliki prasyarat yang dibutuhkan untuk tutorial ini
Aplikasi Anda sendiri yang dapat berjalan di iOS 12 atau yang lebih tinggi
Aplikasi Anda terdaftar sebagai Aplikasi Firebase yang ditautkan ke Google Analytics
dan Google Ads
IDE pilihan Anda
Menyiapkan sistem autentikasi
Menggunakan metode login Firebase Authentication
Anda dapat menggunakan Firebase Authentication untuk mengizinkan pengguna login ke aplikasi Anda menggunakan satu atau beberapa metode login, termasuk alamat email, nomor telepon, login dengan sandi, dan penyedia identitas gabungan (seperti Google, Facebook, atau Twitter).
Tinjau Mulai menggunakan Firebase Authentication.
Mengintegrasikan Firebase Authentication dengan sistem autentikasi kustom
Atau, Anda dapat mengintegrasikan Firebase Authentication dengan sistem autentikasi kustom dengan mengubah server autentikasi Anda untuk menghasilkan token bertanda tangan kustom saat pengguna berhasil login. Aplikasi Anda akan menerima token ini dan menggunakannya untuk melakukan autentikasi dengan Firebase. Tinjau Memulai sistem autentikasi
kustom.
Mendapatkan alamat email atau nomor telepon pengguna yang diautentikasi
Setelah menyiapkan sistem autentikasi dengan Firebase Authentication, Anda dapat
mendapatkan pengguna yang saat ini login.
Cara yang direkomendasikan untuk mengetahui pengguna saat ini adalah dengan menetapkan pemroses pada objek Auth:
Swift
handle=Auth.auth().addStateDidChangeListener{auth,userin// Get the user's email addressletemail=user.email// or get their phone numberletphoneNumber=user.phoneNumber// ...}
Objective-C
self.handle=[[FIRAuthauth]addAuthStateDidChangeListener:^(FIRAuth*_Nonnullauth,FIRUser*_Nullableuser){// Get the user's email addressNSString*email=user.email;// or get their phone numberNSString*phoneNumber=user.phoneNumber;// ...}];
Unity
Firebase.Auth.FirebaseAuthauth;Firebase.Auth.FirebaseUseruser;// Handle initialization of the necessary firebase modules:voidInitializeFirebase(){auth=Firebase.Auth.FirebaseAuth.DefaultInstance;auth.StateChanged+=AuthStateChanged;AuthStateChanged(this,null);}// Track state changes of the auth object.voidAuthStateChanged(objectsender,System.EventArgseventArgs){if(auth.CurrentUser!=user){boolsignedIn=user!=auth.CurrentUser&&auth.CurrentUser!=null;user=auth.CurrentUser;if(signedIn){// Get the user's email addressstringemail=user.Email;// or get their phone numberstringphoneNumber=user.PhoneNumber;// ...}}}// Handle removing subscription and reference to the Auth instance.// Automatically called by a Monobehaviour after Destroy is called on it.voidOnDestroy(){auth.StateChanged-=AuthStateChanged;auth=null;}
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-25 UTC."],[],[],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*** ** * ** ***"]]