1. مقدمة
تاريخ آخر تعديل: 2021-01-25
ما ستنشئه
في هذا الدرس التطبيقي حول الترميز، ستتعرّف على كيفية تنفيذ حدث مخصص باستخدام "إحصاءات Google لـ Firebase"، وإطلاق "حملات تحثّ على اتّخاذ إجراء" من خلال "إعلانات Google" لتطبيق Flutter.
سنستخدم تطبيق Flutter التلقائي مع أداة عدّاد بسيطة. سنعلن عن تطبيقنا للمستخدمين المحتملين الذين يُرجّح أن ينقروا على أداة العداد.

ما ستتعلمه
- كيفية إعداد "إحصاءات Google لـ Firebase" (GA4F) في Flutter
- كيفية إنشاء الأحداث والمَعلمات المخصّصة
- كيفية استيراد الأحداث من Firebase إلى "إعلانات Google"
- كيفية إطلاق "حملات تحثّ على اتّخاذ إجراء" باستخدام أحداث مخصّصة
المتطلبات
- الإصدار 3.6 من "استوديو Android" أو إصدار أحدث
- Xcode (لإتاحة استخدام التطبيق على أجهزة iOS)
- حساب Firebase
- حساب "إعلانات Google"
2. بدء مشروع Flutter جديد
أنشئ تطبيق Flutter بسيطًا يستند إلى نموذج. ستعدّل هذا التطبيق الأوّلي في هذا الدرس التطبيقي حول الترميز.
افتح "استوديو Android".
- إذا لم يكن لديك مشاريع مفتوحة، اختَر بدء تطبيق Flutter جديد من صفحة الترحيب. بخلاف ذلك، اختَر ملف > جديد > مشروع Flutter جديد.
- اختَر تطبيق Flutter كنوع المشروع، ثم انقر على التالي.
- تأكَّد من أنّ مسار حزمة تطوير البرامج (SDK) في Flutter يحدّد موقع الحزمة. (انقر على تثبيت حزمة تطوير البرامج (SDK) إذا كان حقل النص فارغًا).
- أدخِل اسم المشروع، ثم انقر على التالي.
- استخدِم اسم الحزمة التلقائي الذي يقترحه "استوديو Android"، ثم انقر على التالي.
- انقر على إنهاء.
- انتظِر إلى أن يثبِّت "استوديو Android" حزمة SDK وينشئ المشروع.
3- إنشاء مشروع Firebase وإعداده
لبدء استخدام Firebase، عليك إنشاء مشروع على Firebase وإعداده.
إنشاء مشروع Firebase
- سجِّل الدخول إلى Firebase.
في وحدة تحكّم Firebase، انقر على "إضافة مشروع" (أو "إنشاء مشروع")، وأدخِل اسمًا لمشروعك على Firebase، مثل Firebase-Flutter-Ads أو أي اسم آخر تريده.

- انقر على خيارات إنشاء المشروع. اقبَل بنود Firebase إذا طُلب منك ذلك. عليك تفعيل "إحصاءات Google" لهذا المشروع، لأنّك تحتاج إلى أحداث "إحصاءات Google" لتتبُّع أحداث الإجراءات وتحليل الإحالات الناجحة.

لمزيد من المعلومات عن مشاريع Firebase، اطّلِع على مقالة التعرّف على مشاريع Firebase.
4. إعدادات Firebase الخاصة بنظام التشغيل (Android)
ضبط إعدادات Android
- في "وحدة تحكّم Firebase"، اختَر نظرة عامة على المشروع في شريط التنقّل الأيمن، ثم انقر على زر Android ضِمن "البدء بإضافة Firebase إلى تطبيقك".
سيظهر لك مربّع الحوار الموضّح في الشاشة التالية.

- القيمة المهمة التي يجب تقديمها هي اسم حزمة Android، والتي ستحصل عليها باستخدام الخطوة التالية.
- في دليل تطبيق Flutter، افتح الملف
android/app/src/main/AndroidManifest.xml. - في العنصر
manifest، ابحث عن قيمة السلسلة للسمةpackage. هذه القيمة هي اسم حزمة Android (مثلcom.yourcompany.yourproject). انسخ هذه القيمة. - في مربّع حوار Firebase، الصِق اسم الحزمة المنسوخ في الحقل
Android package name. - لا نحتاج إلى مفتاح SHA-1 هنا، إلا إذا كنت تخطّط لاستخدام تسجيل الدخول باستخدام حساب Google أو روابط Firebase الديناميكية (يُرجى العِلم أنّ هذه الميزات ليست جزءًا من هذا الدرس العملي). إذا كنت تخطّط لاستيراد بيانات
in_app_purchaseمن Google Play، عليك ضبط المفتاح لاحقًا. - انقر على تسجيل التطبيق.
- في Firebase، اتّبِع التعليمات لتنزيل ملف الإعداد
google-services.json.

- انتقِل إلى دليل تطبيق Flutter، ثم انقِل ملف
google-services.json(الذي نزّلته للتو) إلى دليلandroid/app. - في وحدة تحكّم Firebase، تخطَّ الخطوات المتبقية وارجع إلى الصفحة الرئيسية لوحدة تحكّم Firebase.
- أخيرًا، تحتاج إلى المكوّن الإضافي في خدمات Google لأداة Gradle لقراءة ملف
google-services.jsonالذي أنشأته Firebase. - في بيئة التطوير المتكاملة (IDE) أو المحرّر، افتح
android/app/build.gradle، ثم أضِف السطر التالي كسطر أخير في الملف:
apply plugin: 'com.google.gms.google-services'
- افتح
android/build.gradle، ثم أضِف تبعية جديدة داخل علامةbuildscript:
buildscript {
repositories {
// ...
}
dependencies {
// ...
Classpath 'com.google.gms:google-services:4.3.3'
}
}
- إذا كان تطبيقك لا يزال قيد التشغيل، أغلقه وأعِد إنشائه للسماح لـ Gradle بتثبيت التبعيات.
لقد انتهيت من ضبط إعدادات تطبيق Flutter على Android. بالنسبة إلى نظام التشغيل iOS، يمكنك الرجوع إلى هذا الدرس التطبيقي حول الترميز ( التعرّف على كيفية الاستفادة من منصة Firebase عند تطوير التطبيقات باستخدام Flutter)
5- ضبط "إحصاءات Firebase" في Flutter
في هذه الخطوة، ستبدأ في استخدام حزمة "إحصاءات Firebase" المسماة firebase_analytics، والتي تحتوي على ميزات "إحصاءات Firebase".
يدير ملف pubspec مواد العرض لتطبيق Flutter. في pubspec.yaml، أضِف firebase_analytics: ^6.2.0 (الإصدار 6.2.0 أو إصدار أحدث) إلى قائمة التبعيات:firebase_analytics
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
firebase_analytics: ^6.2.0 # add this line
أثناء عرض ملف pubspec في عرض المحرّر في "استوديو Android"، انقر على الحصول على الحِزم. يؤدي ذلك إلى سحب الحزمة إلى مشروعك. من المفترض أن يظهر لك ما يلي في وحدة التحكّم:
flutter packages get
Running "flutter packages get" in startup_namer...
Process finished with exit code 0
يؤدي تنفيذ Pub get أيضًا إلى إنشاء ملف pubspec.lock تلقائيًا يتضمّن قائمة بجميع الحِزم التي تم جلبها إلى المشروع وأرقام إصداراتها.
في lib/main.dart، استورِد الحزمة الجديدة:
import 'package:firebase_analytics/firebase_analytics.dart';
في الفئة MyApp، ابدأ العنصر FirebaseAnalytics عن طريق استدعاء الدالة الإنشائية.
class MyApp extends StatelessWidget {
static FirebaseAnalytics analytics = FirebaseAnalytics();
...
}
أنت الآن جاهز لتسجيل بعض سجلّات الأحداث المخصّصة.
6. تسجيل الأحداث المخصّصة باستخدام "إحصاءات Firebase"
إذا أردت إنشاء نموذج جديد في تطبيق Flutter، سيظهر لك المتغيّر _counter والطريقة _incrementCounter() داخل الفئة التلقائية State. الآن، تريد تسجيل أحداث مخصّصة عندما ينقر المستخدمون المتحمّسون على زر الزيادة أكثر من خمس مرات. سنطلق لاحقًا "حملة تطبيقات" لجذب المستخدمين المحتملين المتحمّسين
أولاً، نريد تمرير عناصر الإحصاءات التي بدأنا استخدامها إلى أداة Stateful. نبدأ بإضافة مَعلمة إحصاءات إلى الدالة الإنشائية MyHomePage.
MyHomePage({Key key, this.title, this.analytics}) : super(key: key);
ستضيف أيضًا مَعلمة إحصاءات عند استدعاء الدالة الإنشائية.
home: MyHomePage(
title: 'Flutter Demo Home Page',
analytics: analytics,
),
يمكنك الآن تسجيل الأحداث بسهولة باستخدام طريقة logEvent(). أضِف الطريقة وزِد قيمة المتغيّر _counter.
void _incrementCounter() {
setState(() {
_counter++;
//add this
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter");
}
});
}
أصبح تطبيقك الآن جاهزًا لتسجيل سجلّ الأحداث المخصّصة.
يمكنك أيضًا استخدام طرق مُعدّة مسبقًا لتفعيل الأحداث.

أصبح كل شيء جاهزًا الآن. في "استوديو Android"، شغِّل ملف "main.dart".
(اختياري) إرسال معلومات إضافية إلى "إحصاءات Firebase" باستخدام المَعلمات
يمكنك إرسال معلومات إضافية من خلال المَعلمات. يمكن تسجيل المَعلمات المخصّصة لإعداد التقارير في تقارير "إحصاءات Google". يمكن استخدامها أيضًا كفلاتر في تعريفات الجمهور التي يمكن تطبيقها على كل تقرير. إذا كان تطبيقك مرتبطًا بمشروع BigQuery، يمكن العثور على المَعلمات المخصّصة أيضًا في BigQuery (راجِع BigQuery Export لخدمة Firebase).
نحن نضبط القيمة _counter كمَعلمة هنا.
void _incrementCounter() {
setState(() {
_counter++;
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter", parameters: {'count' : _counter});
}
});
}
التحقّق من الأحداث وتصحيح أخطائها
بعد بضع ساعات، يمكنك الاطّلاع على الأحداث المسجّلة في وحدة تحكّم Firebase. ما عليك سوى النقر على علامة التبويب الأحداث من قسم "إحصاءات Google" في "وحدة تحكّم Firebase". يمكنك أيضًا التحقّق من القيم داخل الحدث clicked_counter من خلال النقر على الحدث.

ضَع علامة clicked_counter كإحالة ناجحة من خلال تحريك مفتاح التبديل وضع علامة كإحالة ناجحة إلى اليسار.

إذا كان الحدث في علامة التبويب "الإحالات الناجحة"، يعني ذلك أنّه تمّ تصنيف الحدث بنجاح كإحالة ناجحة. ستتمكّن "إعلانات Google" الآن من استيراد هذا الحدث من Firebase.
لأغراض تصحيح الأخطاء، استخدِم أداة DebugView في Firebase. لمزيد من التفاصيل، راجِع مقالة تصحيح خطأ حدث.
7. استيراد أحداث الإحصاءات في "إعلانات Google"
بعد اكتمال عملية إعداد Firebase-Flutter، ستكون جاهزًا لإطلاق "حملات التطبيقات" التي تتضمّن أحداث الإجراءات. ابدأ بربط Firebase بحساب "إعلانات Google". من خلال ربط Firebase بحساب "إعلانات Google"، يمكن لحملات التطبيقات استيراد أحداث Firebase. تساعد هذه العملية أيضًا "إعلانات Google" في تعزيز "حملات التطبيقات" من خلال السماح لها بالتعرّف على المزيد من المعلومات عن شرائح الجمهور.
- انتقِل إلى إعدادات Firebase من خلال النقر على الزرّ بجانب نظرة عامة على المشروع.
- في علامة التبويب عمليات الدمج، ستظهر إعلانات Google وزر ربط. انقر على ربط، ثمّ انقر على متابعة.

- اختَر حسابًا على "إعلانات Google".
انتهى الآن الجزء المتعلّق بـ Firebase.
انتقِل إلى إعلانات Google.
- سجِّل الدخول، وانتقِل إلى الأدوات والإعدادات > القياس > الإحالات الناجحة لاستيراد الأحداث المخصّصة كإحالات ناجحة.
- انقر على الزرّ + لإضافة إجراءات إحالات ناجحة جديدة.

- اختَر مواقع "إحصاءات Google 4" (Firebase) وانقر على متابعة.

- يمكنك الاطّلاع على جميع أحداث "إحصاءات Google" التي تمّ تصنيفها كإحالات ناجحة. ابحث عن حدث
clicked_counterالذي نفّذناه سابقًا.

- ضَع علامة في المربّع بجانب الإجراء، ثمّ انقر على استيراد، ثمّ انقر على متابعة.

بعد ضبط clicked_counter كإجراء إحالة ناجحة، يمكنك إطلاق "حملات تحثّ على اتّخاذ إجراء" يمكنها استهداف المستخدمين الذين من المرجّح أن يبدأوا أحداث clicked_counter أكثر من 5 مرات.
8. إطلاق "حملات تحثّ على اتّخاذ إجراء داخل التطبيق" باستخدام أحداث مستورَدة
- انتقِل إلى علامة تبويب الحملة في حسابك الحالي، وابدأ حملة جديدة بالنقر على الزر +. انقر على [حملة جديدة]، ثمّ انقر على متابعة.
- أطلِق "حملة ترويج للتطبيق" باستخدام خيار عمليات تثبيت التطبيق.

- ابحث عن تطبيقك عن طريق كتابة اسم التطبيق أو اسم الحزمة أو الناشر.
- في قسم عروض الأسعار، اختَر الإجراءات داخل التطبيق من القائمة المنسدلة.
- ابحث عن الحدث المخصّص في القائمة المتوفّرة. حدِّد سقف التكلفة المحدد لكل إجراء، وأكمِل أي خيارات إضافية.

- أكمِل إعدادات حملتك.
9- تهانينا
تهانينا، لقد نجحت في دمج حسابك على Firebase مع حسابك على "إعلانات Google". سيساعدك ذلك في تعزيز أداء حملتك باستخدام أحداث Firebase المستورَدة.
لقد تعلّمت
- كيفية إعداد "إحصاءات Firebase" لتطبيق Flutter
- كيفية تسجيل الأحداث المخصّصة باستخدام "إحصاءات Firebase" في تطبيق Flutter
- كيفية استيراد الأحداث واستخدامها في "حملات تحثّ على اتّخاذ إجراء"
