تكامل Google BigQuery
يقوم تكامل Google BigQuery ببث أحداث رسائل Pushwoosh المحددة إلى مجموعة بيانات BigQuery الخاصة بك. استخدمه لتحليل أحداث دورة حياة الإشعارات الفورية والبريد الإلكتروني والرسائل القصيرة في BigQuery، أو إنشاء تقارير مخصصة، أو ربط البيانات بسير عمل التحليلات النهائية.
يرسل هذا التكامل البيانات في اتجاه واحد فقط، من Pushwoosh إلى BigQuery. لاستيراد شريحة من مستخدمي BigQuery إلى Pushwoosh بدلاً من ذلك، راجع الشرائح الخارجية.
نظرة عامة على التكامل
Anchor link toالمتطلبات الأساسية
Anchor link toقم بإعداد ما يلي قبل فتح إعداد التكامل.
-
استخدم مشروع Google Cloud مع تمكين الفوترة. يتم دعم أرصدة النسخة التجريبية المجانية. لا يكفي BigQuery Sandbox لأن واجهة برمجة تطبيقات Storage Write تتطلب الفوترة.
-
تأكد من أن لديك حساب Pushwoosh مدفوع.
التسعير
Anchor link toأنت تدفع لـ Google مباشرة مقابل استخدام BigQuery. لا يفرض Pushwoosh رسومًا على التكامل نفسه.
للحصول على الأسعار الحالية والمستويات المجانية والتفاصيل الإقليمية، راجع تسعير BigQuery.
يمكن أن تشمل التكاليف ما يلي:
- استيعاب البيانات: يقوم Pushwoosh ببث الأحداث باستخدام واجهة برمجة تطبيقات BigQuery Storage Write.
- التخزين: يخزن BigQuery الصفوف المكتوبة في جدول الوجهة الخاص بك.
- الاستعلامات: يفرض BigQuery رسومًا على الاستعلامات بناءً على نموذج التسعير الذي اخترته.
نوع التكامل
Anchor link toالمصدر: يتم إرسال البيانات من Pushwoosh إلى مجموعة بيانات BigQuery الخاصة بك.
المنصات المدعومة
Anchor link toيقوم Pushwoosh ببث الأحداث من منصات iOS و Android و Huawei و Chrome و Safari و Firefox و Web.
الكيانات المتزامنة
Anchor link toيتم بث أحداث دورة حياة الإشعارات الفورية والبريد الإلكتروني والرسائل القصيرة المحددة إلى BigQuery. يكتب Pushwoosh صفًا واحدًا لكل حدث محدد في جدول الوجهة.
حالات الاستخدام
Anchor link to- تحليلات الرسائل شبه الفورية: تحليل أحداث دورة حياة الإشعارات الفورية والبريد الإلكتروني والرسائل القصيرة في BigQuery بعد وقت قصير من معالجتها في Pushwoosh.
- التقارير المخصصة: إنشاء تقارير BigQuery لأنواع الأحداث والتطبيقات والحملات ومعرفات الرسائل المحددة.
- سير عمل البيانات النهائية: ربط بيانات أحداث Pushwoosh بسير عمل التحليلات أو التقارير أو معالجة البيانات.
كيف يعمل التكامل
Anchor link toبعد حفظ التكوين، يبدأ Pushwoosh في بث أحداث الرسائل المحددة إلى جدول BigQuery الخاص بك في الوقت الفعلي تقريبًا. لكل حدث رسالة يمر عبر Pushwoosh، يتحقق النظام مما إذا كان نوع الحدث محددًا في التكوين الخاص بك.
إذا كان كذلك، يضيف Pushwoosh صفًا جديدًا إلى جدول الوجهة الخاص بك. إذا لم يكن الجدول موجودًا بعد، يقوم Pushwoosh بإنشائه تلقائيًا باستخدام المخطط الموضح أدناه. تظهر الأحداث عادةً في BigQuery في غضون 30 ثانية من معالجتها في Pushwoosh.
إعداد التكامل في Google Cloud
Anchor link toاختر مشروع Google Cloud
Anchor link toسجل الدخول إلى Google Cloud Console، ثم اختر أو أنشئ المشروع الذي سيمتلك مجموعة بيانات BigQuery.

تمكين واجهات برمجة التطبيقات المطلوبة
Anchor link toفي Google Cloud Console، انتقل إلى APIs & Services → Library وقم بتمكين واجهات برمجة التطبيقات هذه:
- BigQuery API
- BigQuery Storage API

يستخدم Pushwoosh واجهات برمجة التطبيقات هذه لإنشاء جدول الوجهة وبث الأحداث إلى BigQuery.
إنشاء حساب خدمة
Anchor link toيستخدم Pushwoosh حساب الخدمة لكتابة الأحداث إلى مجموعة بيانات BigQuery الخاصة بك.
-
انتقل إلى IAM & Admin → Service Accounts.
-
انقر فوق Create service account.
-
في Service account name، أدخل اسمًا، على سبيل المثال،
pushwoosh-bigquery.يقوم Google Cloud تلقائيًا بإنشاء Service account ID من الاسم.

-
انقر فوق Create and continue.
منح أدوار IAM
Anchor link to-
امنح حساب الخدمة أدوار IAM هذه:
- BigQuery Data Editor: يسمح لـ Pushwoosh بإنشاء الجدول وإلحاق الصفوف.
- BigQuery User: يسمح لـ Pushwoosh باستخدام واجهة برمجة تطبيقات Storage Write.

-
انقر فوق Continue.
-
انقر فوق Done.
إنشاء مفتاح JSON
Anchor link toيستخدم Pushwoosh مفتاح JSON للمصادقة كحساب خدمة.
-
افتح حساب الخدمة الذي أنشأته.
-
انتقل إلى Keys → Add key → Create new key.

- حدد JSON.
يقوم Google Cloud بتنزيل ملف مفتاح JSON على جهاز الكمبيوتر الخاص بك.

إنشاء مجموعة بيانات
Anchor link toمجموعة البيانات هي المكان الذي يخزن فيه Pushwoosh جدول الأحداث المتدفقة.
-
في Google Cloud Console، افتح BigQuery.
-
في Explorer، حدد المشروع الذي أعددته للتكامل.
-
انقر فوق Create dataset.

-
في Dataset ID، أدخل معرف مجموعة بيانات، على سبيل المثال
pushwoosh_data. -
في Data location، حدد منطقة مجموعة البيانات.

- انقر فوق Create dataset.
تكوين التكامل في Pushwoosh
Anchor link to-
في حساب Pushwoosh الخاص بك، انتقل إلى Settings → 3rd Party Integrations للتطبيق الذي تريد توصيله.
-
ابحث عن Google BigQuery في قائمة الخدمات المتاحة وانقر فوق Configure.

- املأ حقول التكوين.
- GCP Project ID: أدخل معرف المشروع من Google Cloud، على سبيل المثال
my-company-12345. - Service Account JSON: الصق المحتويات الكاملة لملف مفتاح JSON الذي قمت بتنزيله من Google Cloud.
- Dataset ID: بمجرد ملء GCP Project ID و Service Account JSON، يجلب Pushwoosh مجموعات البيانات التي يمكن لحساب الخدمة الخاص بك الوصول إليها. حدد مجموعة بيانات الوجهة. إذا كانت القائمة المنسدلة فارغة، تحقق من أن حساب الخدمة لديه حق الوصول وأن مجموعة البيانات موجودة في المشروع الذي حددته.
- Dataset region: حدد منطقة مجموعة بيانات BigQuery الخاصة بك.
- Table name: اتركها فارغة لاستخدام الجدول الافتراضي
pushwoosh_events. يقوم Pushwoosh بإنشاء الجدول بالمخطط الموضح أدناه. - Events: حدد الأحداث التي تريد بثها. يمكنك تغيير هذه القائمة لاحقًا.
- Stream events to BigQuery: قم بتمكين هذا التبديل. قم بإيقاف تشغيله لإيقاف البث مؤقتًا دون حذف التكوين.
- انقر فوق Test connection.
يتحقق Pushwoosh من صحة بيانات الاعتماد مقابل BigQuery دون كتابة البيانات.
قد ترى إحدى حالات الاتصال هذه:
- Connection successful: تعمل بيانات الاعتماد ويمكن لحساب الخدمة الوصول إلى مجموعة البيانات.
auth_failed: مفتاح JSON غير صالح أو تم إبطاله.dataset_not_found: معرف مجموعة البيانات غير صحيح أو لا يمكن لحساب الخدمة الوصول إليه.missing_permission: يفتقد حساب الخدمة أحد الأدوار المطلوبة.
- انقر فوق Apply.
يحفظ Pushwoosh التكوين ويبدأ في استخدامه في غضون 30 ثانية تقريبًا. بعد ذلك، تبدأ الأحداث المحددة في البث إلى BigQuery.
التحقق من التكامل
Anchor link to-
أرسل إشعارًا فوريًا تجريبيًا، أو قم بتشغيل رسالة أخرى تنتج أحد أنواع الأحداث التي حددتها.
-
انتظر حوالي 30 ثانية.
-
افتح BigQuery Studio.
-
انتقل إلى مشروعك، ثم افتح مجموعة البيانات وجدول الوجهة الذي قمت بتكوينه. إذا تركت Table name فارغًا، فافتح
pushwoosh_events. -
انقر فوق Preview.
يجب أن ترى صف الحدث في الجدول.

مخطط الجدول
Anchor link toيكتب Pushwoosh كل حدث محدد كصف منفصل في جدول الوجهة. لجعل الاستعلامات أسرع وأسهل في التصفية، يتم تقسيم الجدول حسب اليوم باستخدام timestamp وتجميعه حسب app_id و event_kind.
| اسم الحقل | النوع | الوصف |
|---|---|---|
event_kind | STRING | نوع حدث Pushwoosh، على سبيل المثال Push Sent أو Email Opened. |
message_id | STRING | رمز رسالة Pushwoosh، مثل معرف الحملة أو الرسالة. |
device_id | STRING | معرف جهاز Pushwoosh الذي أنتج الحدث. |
user_id | STRING | معرف المستخدم الخارجي الخاص بك إذا كان معروفًا. فارغ للأجهزة المجهولة. |
timestamp | TIMESTAMP | وقت الحدث بالتوقيت العالمي المنسق. |
app_id | STRING | رمز تطبيق Pushwoosh. |
platform | STRING | المنصة المصدر، على سبيل المثال ios أو android أو web. |
properties | JSON | حقول أحداث إضافية. استخدم JSON_VALUE للاستعلام عن الحقول، كما هو موضح أدناه. |
خصائص الاستعلام
Anchor link toيخزن عمود properties حقول أحداث إضافية بتنسيق JSON. استخدم JSON_VALUE لاستخراج الحقول الفردية في استعلاماتك.
على سبيل المثال، لمعرفة الحملات التي أدت إلى أكبر عدد من الفتحات خلال الأيام السبعة الماضية، انقر فوق + لإنشاء استعلام جديد، والصق SQL أدناه، وانقر فوق Run.
SELECT event_kind, JSON_VALUE(properties, '$.campaign_id') AS campaign_id, COUNT(*) AS eventsFROM `your-project.your_dataset.pushwoosh_events`WHERE event_kind = 'Push Opened' AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)GROUP BY 1, 2ORDER BY events DESCلمراجعة أعداد الأحداث للساعة الأخيرة، قم بتشغيل هذا الاستعلام:
SELECT event_kind, COUNT(*) AS eventsFROM `your-project.your_dataset.pushwoosh_events`WHERE timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)GROUP BY event_kindORDER BY events DESCتحديث التكامل
Anchor link toتدوير مفتاح حساب الخدمة
Anchor link to-
في Google Cloud Console، انتقل إلى IAM & Admin → Service Accounts.
-
افتح حساب الخدمة الخاص بك.
-
انتقل إلى Keys وقم بإنشاء مفتاح JSON جديد.
-
احتفظ بالمفتاح القديم نشطًا حتى تتأكد من أن المفتاح الجديد يعمل.
-
في Pushwoosh، افتح نافذة تكوين Google BigQuery.
-
الصق JSON الجديد في Service Account JSON.
-
انقر فوق Apply.
يتحقق Pushwoosh من صحة المفتاح الجديد، ويستبدل بيانات الاعتماد المخزنة، ويبدأ في استخدامه بعد إعادة تحميل التكوين التالية، والتي تستغرق حوالي 30 ثانية.
بعد التأكد من أن الأحداث لا تزال تتدفق، احذف المفتاح القديم في Google Cloud Console.
تغيير مجموعة بيانات الوجهة أو الجدول
Anchor link to-
في Pushwoosh، انتقل إلى Settings → 3rd Party Integrations.
-
افتح إعدادات Google BigQuery.
-
حدد مجموعة بيانات مختلفة أو أدخل اسم جدول جديد.
-
انقر فوق Apply.
يعيد Pushwoosh فتح البث بالوجهة الجديدة في غضون 30 ثانية تقريبًا. تظل الصفوف المكتوبة بالفعل في الجدول القديم. لا يقوم Pushwoosh بملء البيانات التاريخية.
للحفاظ على مفتاح حساب الخدمة المخزن دون تغيير عند تحديث الإعدادات الأخرى، اترك Service Account JSON فارغًا قبل النقر فوق Apply.
استكشاف الأخطاء وإصلاحها
Anchor link to| المشكلة | ما يجب التحقق منه |
|---|---|
فشل اختبار الاتصال مع auth_failed | ملف JSON لحساب الخدمة مشوه أو تم إبطال المفتاح في Google Cloud. قم بإنشاء مفتاح جديد والصق ملف JSON الكامل مرة أخرى. يبدأ الملف بـ {، وينتهي بـ }، ويحتوي على كتلة private_key. |
فشل اختبار الاتصال مع dataset_not_found | معرف مجموعة البيانات مكتوب بشكل خاطئ أو غير موجود في المشروع الذي حددته. معرفات مجموعة البيانات حساسة لحالة الأحرف. حدد مجموعة البيانات من القائمة المنسدلة لتجنب الأخطاء المطبعية. |
فشل اختبار الاتصال مع missing_permission | يفتقد حساب الخدمة إلى BigQuery Data Editor أو BigQuery User. امنح كلا الدورين على مستوى المشروع، أو امنحهما على مستوى مجموعة البيانات للوصول الأكثر تقييدًا. |
| نجح اختبار الاتصال، ولكن لا تظهر أي صفوف في BigQuery | انتظر 30 ثانية على الأقل. تحقق من أن نوع الحدث الذي ترسله محدد في Events. على سبيل المثال، إذا تم تحديد Push Opened فقط ولم يفتح أحد الإشعار، فلن تظهر أي صفوف. |
| يبدو التكوين صحيحًا، لكن النافذة تظهر حقولًا فارغة | أعد تحميل الصفحة. يتم جلب التكوين عند كل فتح للنافذة ويتم تخزينه مؤقتًا لمدة 30 ثانية بواسطة الخدمة الأساسية. إذا قمت للتو بحفظ الإعدادات، فانتظر لحظة وافتح النافذة مرة أخرى. |
الأسئلة الشائعة
Anchor link toهل يمكنني استخدام حساب Google Cloud مجاني؟
Anchor link toنعم، طالما أن الفوترة مفعلة في المشروع. أرصدة النسخة التجريبية المجانية كافية لتشغيل هذا التكامل بأحجام نموذجية طوال فترة التجربة. لن يعمل BigQuery Sandbox بدون فوترة لأن واجهة برمجة تطبيقات Storage Write تتطلب الفوترة.
هل يرى Pushwoosh بيانات BigQuery الخاصة بي؟
Anchor link toلا. بيانات اعتماد حساب الخدمة التي تقوم بتحميلها تفوض Pushwoosh بالكتابة إلى مجموعة البيانات التي تختارها. لا يقرأ Pushwoosh من مجموعة البيانات الخاصة بك وليس لديه وصول إلى بقية مشروعك.
هل يمكنني التصدير إلى مجموعات بيانات BigQuery متعددة؟
Anchor link toيتم دعم وجهة واحدة لكل تطبيق. إذا كنت بحاجة إلى نفس الأحداث في مجموعتي بيانات، فقم بإعداد استعلام مجدول في BigQuery في مشروعك لنسخ البيانات من pushwoosh_events إلى جدول آخر.
هل يمكنني تغيير مخطط الجدول؟
Anchor link toالمخطط ثابت لجميع العملاء. إذا كنت بحاجة إلى أعمدة إضافية، فاستخرجها من خصائص properties JSON في طرق العرض الخاصة بك أو الاستعلامات المجدولة.
ماذا يحدث إذا قمت بتعطيل التكامل مؤقتًا؟
Anchor link toأوقف تشغيل Stream events to BigQuery وانقر فوق Apply. يتوقف Pushwoosh عن إلحاق الأحداث لهذا التطبيق في غضون 30 ثانية تقريبًا.
لا يتم تخزين الأحداث التي يتم إنتاجها أثناء إيقاف التكامل أو ملؤها مرة أخرى عند إعادة تشغيله. يحتفظ Pushwoosh بالتكوين، بما في ذلك بيانات الاعتماد ومجموعة البيانات واختيار الأحداث.
كيف أحذف التكامل بالكامل؟
Anchor link toاتصل بـ support@pushwoosh.com لحذف تكوين التكامل. تظل مجموعة البيانات والصفوف المكتوبة بالفعل في BigQuery في حساب Google Cloud الخاص بك.
هل هناك ضمانات للتسليم؟
Anchor link toيستخدم التكامل التسليم مرة واحدة على الأقل. في ظل التشغيل العادي، تكون التكرارات نادرة. يمكن أن تؤدي إعادة تشغيل العملية بين الإلحاق والتثبيت إلى إنتاج عدد صغير من الصفوف المكررة. قم بإزالة التكرارات في SQL إذا كان خط الأنابيب النهائي الخاص بك يتطلب نتائج مرة واحدة بالضبط.
لماذا لا يوجد حدث نقر على الإشعار (Push Clicked)؟
Anchor link toيعرض Pushwoosh حاليًا Push Sent و Push Delivered و Push Opened لإشعارات الدفع في هذا التكامل. لا تتوفر خطوة مخصصة لنقر الإشعار. البريد الإلكتروني والرسائل القصيرة لها أحداث دورة حياتها الخاصة.