التحضير لعملية النقل

يسرد هذا الموضوع ويصف خطوات الإعداد التي يجب اتخاذها قبل أن تتمكّن من بيع المنتجات في تطبيقك. وعلى مستوى عالٍ، تشمل عملية الإعداد هذه إنشاء حساب مطوِّر، وإنشاء المنتجات التي تريد بيعها وإعدادها وتفعيل وضبط واجهات برمجة التطبيقات التي تستخدمها لبيع منتجاتك وإدارتها. يوضّح هذا الموضوع أيضًا كيفية ضبط الإشعارات في الوقت الفعلي الخاصة بالمطوّرين ليتم إعلامك عند تغيّر حالة أحد المنتجات.

إعداد حساب مطوِّر على 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 في تطبيقك. توفّر هذه المكتبة إمكانية الوصول إلى واجهات برمجة تطبيقات Android التي تربطك بمتجر Google Play. ومن هناك، يمكنك الوصول إلى معلومات الشراء، والاستعلام عن التحديثات حول عمليات الشراء، ومطالبة المستخدم بإجراء عمليات شراء جديدة، والمزيد.

تتوفّر "مكتبة الفوترة في Google Play" في مستودع Maven من Google. أضِف التبعية إلى ملف build.gradle في تطبيقك على النحو الموضّح:

رائع

dependencies {
    def billing_version = "6.2.1"

    implementation "com.android.billingclient:billing:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "6.2.1"

    implementation("com.android.billingclient:billing:$billing_version")
}

وإذا كنت تستخدم لغة Kotlin، تتضمّن وحدة KTX لمكتبة الفوترة في Play إضافات وأدوات كورروتينية تتيح لك كتابة لغة Kotlin الاصطلاحية عند استخدام نظام الفوترة في Google Play. لتضمين هذه الإضافات في مشروعك، أضِف التبعية التالية إلى ملف build.gradle لتطبيقك كما هو موضّح:

رائع

dependencies {
    def billing_version = "6.2.1"

    implementation "com.android.billingclient:billing-ktx:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "6.2.1"

    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 Billing Library، مثل التحقّق بأمان من عمليات الشراء وردّ الأموال إلى المستخدمين.

كجزء من دمج نظام الفوترة في Google Play في تطبيقك، عليك ضبط إمكانية الوصول إلى Google Play Developer API من خلال Google Play Console. للحصول على التعليمات، يُرجى الاطّلاع على بدء استخدام واجهة برمجة تطبيقات Google Play Developer API.

بعد ضبط إمكانية الوصول إلى واجهة برمجة التطبيقات Google Play Developer API، تأكَّد من منح إذن عرض البيانات المالية المطلوب للوصول إلى الوظائف المتعلّقة بالفوترة. للحصول على معلومات حول أفضل الممارسات ومزيد من المعلومات حول ضبط الأذونات، يُرجى الاطّلاع على إضافة مستخدمي حساب المطوِّر وإدارة الأذونات.

ضبط الإشعارات في الوقت الفعلي الخاصة بالمطوّرين

إنّ ميزة "إشعارات في الوقت الفعلي الخاصة بالمطوّرين" (RTDN) هي آلية لتلقّي إشعارات من 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. وتتوفّر هذه المكتبات بلغات مختلفة. ويمكنك أيضًا العثور على مزيد من المعلومات في قسم إنشاء اشتراك نشر/اشتراك في هذا الموضوع.

تحديد الأسعار والحصص

للحصول على تفاصيل عن الأسعار والحصص، يُرجى الرجوع إلى الأسعار والحصص.

تقدير استخدام البيانات

ويبلغ جزء البيانات من إشعار الاشتراك 1 كيلوبايت تقريبًا من البيانات لكل طلب. وتتطلّب كل عملية نشر وسحب طلبًا منفصلاً أو 2 كيلوبايت تقريبًا من البيانات لكل إشعار. يعتمد عدد الإشعارات شهريًا على دورة الفوترة وسلوك المستخدمين. ينبغي أن تتوقع إشعارًا واحدًا على الأقل لكل مستخدم خلال دورة الفوترة.

إعداد Cloud Pub/Sub

لتفعيل ميزة "إشعارات في الوقت الفعلي خاصة بالمطوّرين"، عليك أولاً إعداد خدمة Cloud Pub/Sub باستخدام مشروعك على Google Cloud Platform (GCP)، ثم تفعيل الإشعارات لتطبيقك.

لاستخدام Cloud Pub/Sub، يجب أن يكون لديك مشروع على Google Cloud Platform تم فيه تفعيل Cloud Pub/Sub API. إذا لم تكن على دراية بخدمة GCP وCloud Pub/Sub، يمكنك الاطّلاع على دليل البدء السريع.

إنشاء موضوع

لبدء تلقّي الإشعارات، يجب إنشاء موضوع يجب أن ينشر Google Play الإشعارات عليه. لإنشاء موضوع، اتّبِع التعليمات الواردة في إنشاء الموضوع.

إنشاء اشتراك نشر/اشتراك

لتلقي الرسائل المنشورة في موضوع ما، يجب إنشاء اشتراك نشر/اشتراك في هذا الموضوع. لإنشاء اشتراك في نشرة/اشتراك، اتّبِع الخطوات التالية:

  1. اقرأ دليل المشترِكين في Cloud Pub/Sub لتحديد ما إذا كنت تريد ضبط الاشتراك على أنّه اشتراك فوري أو اشتراك سحب.
    • يتيح الاشتراك المدفوع لخدمة Cloud Pub/Sub إرسال إشعارات إلى الخلفية الآمنة من خلال إصدار طلبات HTTPS.
    • يتطلّب اشتراك السحب أن يقوم خادم الخلفية الآمن بتقديم الطلبات إلى خادم Cloud Pub/Sub لاسترداد الرسائل.
  2. اتّبِع التعليمات الواردة في إضافة اشتراك لإنشاء اشتراك.

منح حقوق النشر حول موضوعك

يتطلب Cloud Pub/Sub منح امتيازات Google Play لنشر إشعارات عن موضوعك.

  1. افتح Google Cloud Console.
  2. اختَر مشروعك، ثم انقر على Pub/Sub (نشر/اشتراك) في شريط التنقّل الأيمن.
  3. ابحث عن الموضوع، وافتح تفاصيل الأذونات.

    الوصول إلى إعدادات موضوع الأذونات
    الشكل 1. الوصول إلى الإعدادات لموضوع الأذونات.
  4. أضِف حساب الخدمة google-play-developer-notifications@system.gserviceaccount.com، وامنحه دور ناشر النشر/الاشتراك.

    إضافة حساب خدمة Google Play كناشر pub/sub
    الشكل 2. إضافة حساب خدمة Google Play كناشر Pub/Sub.
  5. انقر على حفظ لإكمال عملية إعداد الموضوع.

    موضوع تم إعداده
    الشكل 3. موضوع تم إعداده.

تفعيل الإشعارات في الوقت الفعلي الخاصة بالمطوّرين بشأن تطبيقك

لتفعيل ميزة تلقّي الإشعارات في الوقت الفعلي الخاصة بالمطوّرين في تطبيقك، عليك اتّباع الخطوات التالية:

  1. افتح Google Play Console.
  2. اختيار تطبيقك
  3. انتقِل إلى تحقيق الربح > إعداد تحقيق الربح.
  4. انتقِل إلى قسم إشعارات في الوقت الفعلي خاصة بالمطوّرين في أعلى الصفحة.

    قسم الإشعارات في الوقت الفعلي الخاصة بالمطوّرين
    الشكل 4. قسم الإشعارات في الوقت الفعلي الخاصة بالمطوّرين.
  5. ضَع علامة في المربّع تفعيل الإشعارات في الوقت الفعلي.

  6. في حقل اسم الموضوع، أدخِل اسم موضوع Cloud Pub/Sub الكامل الذي ضبطته سابقًا. يجب أن يكون اسم الموضوع بتنسيق projects/{project_id}/topics/{topic_name} حيث يكون project_id هو المعرّف الفريد لمشروعك وtopic_name هو اسم الموضوع الذي تم إنشاؤه سابقًا.

  7. انقر على إرسال رسالة اختبار لإرسال رسالة اختبار. يساعد إجراء نشر تجريبي في ضمان إعداد كل شيء وتهيئته بشكل صحيح. إذا نجح النشر التجريبي، يتم عرض رسالة تفيد بإتمام النشر التجريبي. إذا كنت قد أرفقت اشتراكًا في هذا الموضوع، فيُفترض أن تتلقى رسالة الاختبار.

    للحصول على اشتراك في ميزة السحب، انتقِل إلى الاشتراك في Cloud Console وانقر على عرض الرسائل وتابِع عملية سحب الرسائل. عليك الإقرار بأيّ رسالة سحبتها لتجنّب تكرار التسليم من خلال خدمة Cloud Pub/Sub. بالنسبة إلى الاشتراك الفوري، تحقَّق مما إذا تم تسليم رسالة الاختبار إلى نقطة النهاية للدفع. سيكون رمز الاستجابة الناجح بمثابة إقرار بالرسالة.

    وفي حال تعذُّر النشر، سيتم عرض رسالة خطأ. تأكَّد من أنّ اسم الموضوع صحيح وأنّ حساب خدمة "google-play-developer-notifications@system.gserviceaccount.com" لديه إذن النشر/الاشتراك في الاشتراكات للوصول إلى الموضوع.

  8. اختَر أنواع الإشعارات التي تريد تلقّيها.

    • الحصول على إشعارات بشأن الاشتراكات وجميع عمليات الشراء المُلغاة: يمكنك تلقّي إشعارات في الوقت الفعلي خاصة بالمطوّرين تتعلّق بالاشتراكات وعمليات الشراء التي تم إلغاؤها. لن تتلقّى إشعارات بشأن عمليات شراء المنتجات التي تتم لمرة واحدة.
    • الحصول على جميع الإشعارات بشأن الاشتراكات والمنتجات التي يتم تحصيل سعرها مرة واحدة: يمكنك تلقّي إشعارات بشأن جميع أحداث الاشتراكات وعمليات الشراء المُلغاة. وستتلقّى أيضًا أحداث شراء منتجات لمرة واحدة، مثل ONE_TIME_PRODUCT_PURCHASED وONE_TIME_PRODUCT_CANCELED. يمكنك الاطّلاع على دورة حياة الشراء لمرة واحدة لمعرفة المزيد حول أحداث الشراء هذه.
  9. انقر على حفظ التغييرات.

التحقّق من الإعدادات

لتلقّي إشعارات في الوقت الفعلي الخاصة بالمطوّرين، يجب إنشاء خادم خلفية آمن للاطّلاع على الرسائل المرسَلة إلى موضوع Cloud Pub/Sub.

يمكنك اختبار الإعدادات باستخدام زر إرسال رسالة اختبار في Google Play Console كما هو موضّح في القسم السابق. إذا لم تكن قد ضبطت خادم خلفية لعرض الإشعارات، يمكنك استخدام أداة سطر الأوامر gcloud للتأكّد من صحة الإعدادات. للحصول على تعليمات حول معالجة الرسائل باستخدام gcloud، يمكنك الاطّلاع على سحب الرسالة من الاشتراك.

الخطوات التالية