يسرد هذا الموضوع خطوات الإعداد التي عليك اتّخاذها قبل أن تتمكّن من بيع المنتجات في تطبيقك، ويقدّم وصفًا لها. ويشمل هذا الإعداد بشكل عام إنشاء حساب مطوِّر وإنشاء المنتجات التي تريد بيعها وإعدادها وتفعيل واجهات برمجة التطبيقات التي تستخدمها لبيع منتجاتك وإدارتها. توضّح هذه المقالة أيضًا كيفية إعداد إشعارات في الوقت الفعلي خاصة بالمطوّرين لتلقّي إشعارات عند تغيير حالة منتج.
إعداد حساب مطوِّر على Google Play
لنشر تطبيقاتك وألعابك على Google Play، عليك استخدام Google Play Console. يمكنك أيضًا استخدام Google Play Console لإدارة المنتجات والإعدادات المتعلّقة بالفوترة.
للوصول إلى Google Play Console، عليك إعداد حساب مطوِّر على Google Play.
لبيع التطبيقات المدفوعة والمنتجات داخل التطبيقات على Google Play، يجب أيضًا إعداد ملف في مركز دفعات Google ثم ربط هذا الملف بحساب المطوِّر على Google Play. لمعرفة كيفية ربط ملفك الشخصي بحسابك أو كيفية التحقّق مما إذا كان لديك حساب وملف شخصي مرتبطَين، اطّلِع على مقالة ربط حساب مطوِّر على Google Play بملف الدفع.
تفعيل الميزات المتعلّقة بالفوترة في Google Play Console
بعد إعداد حساب مطوّر، عليك نشر إصدار من تطبيقك يتضمّن "Google Play Billing Library". هذه الخطوة مطلوبة لتفعيل الميزات المتعلّقة بالفوترة في Google Play Console، مثل ضبط المنتجات التي تريد بيعها.
إضافة اعتمادية مكتبة
لدمج نظام الفوترة في Google Play، أضِف أولاً عنصرًا تابعًا لملف مكتبة Google Play Billing Library في تطبيقك. تتيح لك هذه المكتبة الوصول إلى واجهات برمجة تطبيقات Android التي تربطك بحسابك على Google Play. ومن هناك، يمكنك الوصول إلى معلومات الشراء، والبحث عن آخر الأخبار حول عمليات الشراء، وحث المستخدم على إجراء عمليات شراء جديدة، وغير ذلك.
تتوفّر "Google Play Billing Library" من خلال مستودع Maven من Google. أضِف التبعية إلى ملف
build.gradle في تطبيقك كما هو موضّح:
رائع
dependencies { def billing_version = "8.3.0" implementation "com.android.billingclient:billing:$billing_version" }
Kotlin
dependencies { val billing_version = "8.3.0" implementation("com.android.billingclient:billing:$billing_version") }
إذا كنت تستخدم Kotlin، يحتوي وحدة Play Billing Library KTX على إضافات Kotlin ودعم إجراءات روتينية متزامنة تتيح لك كتابة رمز Kotlin اصطلاحي عند استخدام نظام الفوترة في Google Play. لتضمين هذه الإضافات في مشروعك، أضِف التبعية التالية إلى ملف build.gradle في تطبيقك كما هو موضّح:
رائع
dependencies { def billing_version = "8.3.0" implementation "com.android.billingclient:billing-ktx:$billing_version" }
Kotlin
dependencies { val billing_version = "8.3.0" implementation("com.android.billingclient:billing-ktx:$billing_version") }
تستفيد أمثلة الرموز البرمجية بلغة Kotlin الواردة في هذه الصفحة من KTX حيثما أمكن ذلك.
تحميل تطبيقك
بعد إضافة المكتبة إلى تطبيقك، أنشئ تطبيقك وانشره. ولإكمال هذه الخطوة، عليك إنشاء تطبيقك ثم نشره في أي مسار، بما في ذلك مسار الاختبار الداخلي.
إنشاء منتجاتك وإعدادها
بعد تفعيل ميزات "الفوترة في Google Play" لتطبيقك، عليك ضبط المنتجات التي تريد بيعها.
تتشابه خطوات إنشاء المنتجات التي يتم تحصيل سعرها مرة واحدة والاشتراكات. لكل منتج، عليك تقديم معرّف منتج فريد وعنوان ووصف ومعلومات التسعير. تتضمّن الاشتراكات معلومات إضافية مطلوبة، مثل تحديد ما إذا كان نوع التجديد للخطة الأساسية هو تجديد تلقائي أو دفع مُسبَق.
توفّر Google Play Console واجهة ويب يمكنك استخدامها لإدارة منتجاتك.
لإنشاء منتجات يتم تحصيل سعرها مرة واحدة وإعدادها، يُرجى الاطّلاع على إنشاء منتج مُدار. يُرجى العِلم أنّ Google Play Console يشير إلى المنتجات التي يتم تحصيل سعرها مرة واحدة باسم المنتجات المُدارة.
لإنشاء الاشتراكات وإعدادها، يُرجى الاطّلاع على إنشاء اشتراك.
كبديل لواجهة الويب، يمكنك أيضًا إدارة منتجاتك باستخدام مورد
inappproducts
REST للمنتجات داخل التطبيق ومورد monetization.subscriptions REST لمنتجات الاشتراك
في Google Play Developer API.
إعداد Google Play Developer API
Google Play Developer API هي واجهة برمجة تطبيقات بين الخوادم تكمل مكتبة Google Play Billing Library على Android. توفّر واجهة برمجة التطبيقات هذه وظائف غير متاحة في "مكتبة الفوترة في Google Play"، مثل التحقّق بشكل آمن من عمليات الشراء وردّ الأموال إلى المستخدمين.
كجزء من دمج نظام الفوترة في Google Play في تطبيقك، عليك ضبط إعدادات الوصول إلى Google Play Developer API من خلال Google Play Console. للحصول على التعليمات، يُرجى الاطّلاع على مقالة بدء استخدام واجهة برمجة التطبيقات Google Play Developer API.
بعد إعداد إذن الوصول إلى Google Play Developer API، تأكَّد من منح إذن عرض البيانات المالية، وهو الإذن المطلوب للوصول إلى الوظائف المتعلّقة بالفوترة. للحصول على معلومات حول أفضل الممارسات، بالإضافة إلى مزيد من المعلومات حول إعداد الأذونات، يُرجى الاطّلاع على مقالة إضافة مستخدمين إلى حساب المطوّر وإدارة الأذونات الممنوحة لهم.
ضبط الإشعارات في الوقت الفعلي الخاصة بالمطوّرين
الإشعارات في الوقت الفعلي الخاصة بالمطوّرين هي آلية لتلقّي إشعارات من Google عند حدوث تغيير في إذن وصول مستخدم داخل تطبيقك. تستفيد هذه الإشعارات من استخدام Google Cloud Pub/Sub، ما يتيح لك تلقّي البيانات التي يتم دفعها إلى عنوان URL تم ضبطه أو يتم استطلاعها باستخدام مكتبة عملاء. تتيح لك هذه الإشعارات التفاعل على الفور مع التغييرات في حالة الاشتراك، ما يجنبك الحاجة إلى فحص Google Play Developer API. يُرجى العلم أنّ الاستخدام غير الفعّال لواجهة برمجة التطبيقات Google Play Developer API قد يؤدي إلى فرض قيود على حصة واجهة برمجة التطبيقات.
Cloud Pub/Sub هي خدمة مراسلة في الوقت الفعلي مُدارة بالكامل يمكنك استخدامها لإرسال الرسائل واستلامها بين تطبيقات مستقلة. يستخدم Google Play خدمة Cloud Pub/Sub لنشر إشعارات فورية حول المواضيع التي تشترك فيها.
لتلقّي الإشعارات، عليك إنشاء خادم خلفية لاستهلاك الرسائل المُرسَلة إلى موضوعك. يمكن لخادمك بعد ذلك استخدام هذه الرسائل من خلال الرد على طلبات HTTPS إلى نقطة نهاية مسجّلة أو باستخدام مكتبات برامج Cloud Pub/Sub. تتوفّر هذه المكتبات بلغات مختلفة. يمكنك أيضًا العثور على مزيد من المعلومات في قسم إنشاء اشتراك في Pub/Sub ضمن هذا الموضوع.
تحديد الأسعار والحصص
للاطّلاع على تفاصيل حول الأسعار والحصص، يُرجى الرجوع إلى الأسعار و الحصص.
تقدير استخدام البيانات
يبلغ حجم جزء البيانات في إشعار الاشتراك حوالي كيلوبايت واحد لكل طلب. يتطلّب كل نشر وسحب طلبًا منفصلاً، أو حوالي 2 كيلوبايت من البيانات لكل إشعار. يعتمد عدد الإشعارات في الشهر على دورة الفوترة وسلوك المستخدمين. من المفترض أن يتلقّى كل مستخدم إشعارًا واحدًا على الأقل خلال دورة الفوترة.
إعداد Cloud Pub/Sub
لتفعيل ميزة "الإشعارات في الوقت الفعلي الخاصة بالمطوّرين"، عليك أولاً إعداد Cloud Pub/Sub باستخدام مشروعك على Google Cloud Platform (GCP)، ثم تفعيل الإشعارات لتطبيقك.
لاستخدام Cloud Pub/Sub، يجب أن يكون لديك مشروع على Google Cloud Platform تم تفعيل واجهة برمجة التطبيقات Cloud Pub/Sub فيه. إذا لم تكن على دراية بخدمة GCP وCloud Pub/Sub، يُرجى الاطّلاع على دليل البدء السريع.
إنشاء موضوع
لبدء تلقّي الإشعارات، عليك إنشاء موضوع يجب أن ينشر Google Play الإشعارات فيه. لإنشاء موضوع، اتّبِع التعليمات الواردة في مقالة إنشاء الموضوع.
إنشاء اشتراك في Pub/Sub
لتلقّي الرسائل المنشورة في موضوع، عليك إنشاء اشتراك Pub/Sub في هذا الموضوع. لإنشاء اشتراك في Pub/Sub، اتّبِع الخطوات التالية:
- اطّلِع على دليل المشتركين في Cloud Pub/Sub لتحديد ما إذا كان يجب ضبط الاشتراك على أنّه اشتراك بالدفع أو اشتراك بالسحب.
- تسمح اشتراكات الإشعارات الفورية لخدمة Cloud Pub/Sub بإرسال إشعارات إلى الخلفية الآمنة من خلال إصدار طلبات HTTPS.
- يتطلّب الاشتراك في وضع السحب أن يبدأ خادم الخلفية الآمن طلبات إلى خادم Cloud Pub/Sub لاسترداد الرسائل.
- اتّبِع التعليمات الواردة في مقالة إضافة اشتراك لإنشاء اشتراك.
منح حقوق النشر حول موضوعك
تتطلّب خدمة Cloud Pub/Sub منح Google Play امتيازات لنشر الإشعارات في موضوعك.
- افتح Google Cloud Console.
- اختَر مشروعك، ثمّ انقر على Pub/Sub في قائمة التنقّل اليمنى.
ابحث عن موضوعك وافتح تفاصيل الأذونات.
الشكل 1. الوصول إلى إعدادات الموضوع الأذونات أضِف حساب الخدمة
google-play-developer-notifications@system.gserviceaccount.com، وامنحه دور ناشر Pub/Sub.
الشكل 2. إضافة حساب خدمة Google Play كناشر في Pub/Sub انقر على حفظ لإكمال عملية إعداد مجموعة المواضيع.
الشكل 3. موضوع تم إعداده
تفعيل ميزة "الإشعارات في الوقت الفعلي الخاصة بالمطوّرين" لتطبيقك
لتفعيل ميزة "الإشعارات في الوقت الفعلي الخاصة بالمطوّرين" لتطبيقك، اتّبِع الخطوات التالية:
- افتح Google Play Console.
- اختيار تطبيقك
- انتقِل إلى تحقيق الربح > إعداد تحقيق الربح.
انتقِل إلى قسم الإشعارات في الوقت الفعلي الخاصة بالمطوّرين في أعلى الصفحة.
الشكل 4. قسم "الإشعارات في الوقت الفعلي الخاصة بالمطوّرين". ضَع علامة في المربّع بجانب تفعيل الإشعارات الفورية.
في حقل اسم الموضوع، أدخِل اسم موضوع Cloud Pub/Sub الكامل الذي ضبطته سابقًا. يجب أن يكون اسم الموضوع بالتنسيق
projects/{project_id}/topics/{topic_name}حيثproject_idهو المعرّف الفريد لمشروعك، وtopic_nameهو اسم الموضوع الذي تم إنشاؤه سابقًا.انقر على إرسال رسالة اختبار لإرسال رسالة اختبار. يساعد إجراء عملية نشر تجريبية في التأكّد من إعداد كل شيء وضبطه بشكل سليم. في حال نجاح النشر التجريبي، ستظهر رسالة تفيد بنجاحه. إذا أرفقت اشتراكًا بهذا الموضوع، من المفترض أن تتلقّى الرسالة الاختبارية.
بالنسبة إلى اشتراك السحب، انتقِل إلى الاشتراك في Cloud Console، وانقر على عرض الرسائل، ثم تابِع لسحب الرسائل. عليك تأكيد استلام أي رسالة تم سحبها لتجنُّب تكرار تسليمها من خلال خدمة Cloud Pub/Sub. بالنسبة إلى اشتراك الإشعارات الفورية، تحقَّق مما إذا تم تسليم رسالة الاختبار إلى نقطة نهاية الإشعارات الفورية. سيعمل رمز الاستجابة الناجحة كإقرار باستلام الرسالة.
إذا تعذّر النشر، سيظهر خطأ. تأكَّد من أنّ اسم الموضوع صحيح وأنّ حساب خدمة
google-play-developer-notifications@system.gserviceaccount.comلديه إذن الوصول إلى الموضوع Pub/Sub Publisher.اختَر أنواع الإشعارات التي تريد تلقّيها.
- تلقّي إشعارات بشأن الاشتراكات وجميع عمليات الشراء المُلغاة: يمكنك تلقّي إشعارات في الوقت الفعلي خاصة بالمطوّرين بشأن الاشتراكات وعمليات الشراء المُلغاة. لن تتلقّى إشعارات بشأن عمليات شراء المنتجات التي يتم تحصيل سعرها مرة واحدة.
- تلقّي جميع الإشعارات بشأن الاشتراكات والمنتجات التي يتم تحصيل سعرها مرة واحدة: يمكنك تلقّي إشعارات بشأن جميع أحداث الاشتراكات وعمليات الشراء المُلغاة. ستتلقّى أيضًا أحداث شراء المنتجات التي يتم تحصيل سعرها مرة واحدة، مثل
ONE_TIME_PRODUCT_PURCHASEDوONE_TIME_PRODUCT_CANCELED. يمكنك الاطّلاع على دورة حياة عملية الشراء لمرة واحدة لمعرفة المزيد عن أحداث الشراء هذه.
انقر على حفظ التغييرات.
التحقّق من الإعدادات
لتلقّي إشعارات في الوقت الفعلي خاصة بالمطوّرين، عليك إنشاء ملف شخصي آمن لخادم الخلفية لاستهلاك الرسائل المُرسَلة إلى موضوع Cloud Pub/Sub.
يمكنك اختبار الإعدادات باستخدام الزر إرسال رسالة اختبار في Google Play Console كما هو موضّح في القسم السابق. إذا لم يسبق لك إعداد خادم خلفي لتلقّي الإشعارات، يمكنك استخدام أداة سطر الأوامر gcloud للتحقّق من الإعداد. للحصول على تعليمات حول معالجة الرسائل باستخدام gcloud، راجِع سحب الرسالة من الاشتراك.