يجيب هذا المستند عن الأسئلة الشائعة حول حِزم تطوير البرامج (SDK) والنشر في "ألعاب Google Play على الكمبيوتر".
تحقيق الربح
هل يمكن استخدام مسار الشراء بدون خادم الخلفية؟
من منظور الأمان، لا يُنصح بالمعالجة بدون خادم خلفية.
لمزيد من المعلومات، يُرجى الاطّلاع على المعالجة بدون خادم خلفية.
هل يُسمح باستخدام أنظمة الدفع الحالية المستندة إلى واجهة برمجة التطبيقات بعد تكامل حزمة تطوير البرامج (SDK) لتطبيق "ألعاب Google Play على الكمبيوتر"؟
يجب أن تتم جميع عمليات الدفع من خلال حزمة SDK الخاصة بـ "ألعاب Google Play على الكمبيوتر"، وذلك باستخدام خدمة "الفوترة في Google Play". لا يمكنك استخدام طريقة الدفع الحالية المستندة إلى واجهة برمجة التطبيقات في اللعبة نفسها.
كيف يمكننا استخدام عمليات الشراء في "وضع مطوّر البرامج"؟
يجب استخدام عملية الشراء في "وضع مطوّر البرامج" في غضون 3 دقائق، وإلا سيتم ردّ الأموال المدفوعة.
هل يتم دعم الدفعات أو الاشتراكات المتكرّرة؟
لا، ليس في المستقبل القريب، ولكن يُرجى تقديم حالات استخدام محدّدة لنتمكّن من إضافتها إلى خارطة الطريق المستقبلية.
ما هو خطأ الفوترة في طلبات الشراء؟
BillingError هي استجابة لنتيجة الدفع. ستعرض الدالة LaunchPurchaseFlow النتيجة على الفور بدون حظر، ولكن عليك الانتظار لمعرفة وقت انتهاء العملية والحصول على النتيجة.
كيف يمكنني استخدام ميزة التحقّق من عمليات الشراء من جهة العميل؟
ننصح باستخدام عملية الشراء من جهة الخادم وعملية التحقّق منها. تتطلّب معالجة عمليات الشراء من تطبيق العميل أن تكون لعبتك مدرَجة في قائمة السماح. يُرجى التواصل مع شريك Google إذا كانت لعبتك تتطلّب الوصول إلى هذه الميزة. لمزيد من المعلومات، يُرجى الاطّلاع على المعالجة بدون خادم خلفية.
ما هي الحدود القصوى لواجهة برمجة التطبيقات عند طلب تفاصيل المنتجات؟
الحد الأقصى لعدد المنتجات التي يمكن طلبها في طلب واحد من واجهة برمجة التطبيقات
QueryProductDetailsهو 50 منتجًا. وفي حال تجاوزت هذا الحد، عليك تقسيم الطلب إلى طلبات متعددة.ما هي المَعلمات المطلوبة عند استدعاء Query Purchases أو Launch Purchase Flow في Billing Client؟
تقبل الدالة
QueryPurchasesContinuation، وهي دالة معاودة الاتصال التي تحمل التوقيعstd::function<void(QueryPurchasesResult)>تعرض دالة معاودة الاتصال النتيجة مع كلProductPurchaseDetails. تتوفّر هذه المعلومات في ملفات رأس حزمة تطوير البرامج (SDK) في الملفincludes/billing/models.h.تحتوي
launch_purchase_flow_resultالناتجة على الدالتَينok()وcode(). تعرض الدالةok()ما إذا كان مسار الشراء ناجحًا. تعرض الدالةcode()تعدادBillingError(includes/billing/enums.h)، الذي يتضمّن 10 حالات خطأ محتمَلة، مثل إلغاء المستخدم أو خطأ في الشبكة.هل يتم دعم ترتيب مخصّص لمسار الشراء في Billing Client؟
في تصميم حزمة تطوير البرامج (SDK) الحالية، لا يمكن إرسال حمولة خاصة بك. ومع ذلك، يمكنك تقديم أي مجموعة من
obfuscated_account_idوobfuscated_profile_id. يمكنك عدم تقديم أي منهما أو تقديم أحدهما أو كليهما.الحقل
offer_tokenمطلوب ويحدّد عرض الشراء الذي يحاول المستخدم شراؤه في مسار الدفع. في الوقت الحالي، يتضمّن كل رمز SKU في Google Play عرضًا واحدًا فقط (على سبيل المثال، شراء منتج واحد مقابل 10 دولارات أمريكية). في المستقبل، سيقدّم فريق "الفوترة في Play" دعمًا لعروض متعددة.لضمان ربط البيانات الوصفية في حال حدوث انقطاعات في مسار الشراء، عليك تخزين البيانات الوصفية على خادم الخلفية قبل بدء مربّع حوار الشراء وربطها برقم تعريف حساب المستخدم ورمز SKU الذي يتم شراؤه والطابع الزمني الحالي. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة ربط عملية شراء ببيانات داخلية.
هل من المفترض أن يظهر خطأ في المهلة إذا أغلق المستخدم المتصفّح بدون الدفع أثناء مسار الشراء؟
نعم، هذه مشكلة معروفة وسلوك مقصود في المسار المستند إلى المتصفّح. نحن نعمل حاليًا على ميزة شراء سلسة (مستندة إلى WebView) ستحافظ على مسار الدفع داخل اللعبة وتحلّ مشكلة المهلة هذه.
ما هي المتطلبات الأساسية للتبديل من "الفوترة في Google" باستخدام OAuth إلى "الفوترة في Google" الأصلية باستخدام DLL؟
يمكن للألعاب مواصلة استخدام ميزة "تسجيل الدخول باستخدام Google" المستندة إلى OAuth لإدارة الحساب الذي تم تسجيل الدخول إليه، ولكن تنصح Google بالتوقّف عن استخدام واجهات برمجة التطبيقات القديمة لخدمة "الفوترة في REST". يمكن أن يكون التبديل من واجهات برمجة التطبيقات لخدمة "الفوترة في REST" (باستخدام ميزة "تسجيل الدخول باستخدام OAuth2") إلى مسار حزمة تطوير البرامج (SDK) عملية يتم تفعيلها باستخدام علامة ميزة، لذا يمكن أن يتعايش كلاهما لفترة من الوقت أثناء تبديل اللعبة.
هل تتم معالجة طلب واجهة برمجة التطبيقات Launch Purchase Flow من خلال متصفّح ويب؟
نعم، تتم معالجته حاليًا من خلال متصفّح. تخطّط Google لإكمال المسار بالكامل بدون مغادرة اللعبة، ويمكن تحقيق ذلك من خلال حزمة تطوير البرامج (SDK).
هل على المستخدم تسجيل الدخول بشكل منفصل لكل لعبة لإجراء عملية شراء؟
يتم استخدام حساب المقدّمة في "ألعاب Google Play" لكل جلسة لعب، لذا لن تحتاج إلى تسجيل الدخول مرة أخرى. الحساب الذي تستخدمه في "ألعاب Google Play" عند بدء جلسة اللعب هو الحساب الذي يتم من خلاله إصدار طلبات واجهة برمجة التطبيقات. عند بدء مسار شراء في المتصفّح، يجب أن تكون مسجّلاً الدخول وتستخدم الحساب نفسه الذي تستخدمه في جلسة اللعب. إذا سجّل المستخدم الدخول باستخدام حساب مختلف، يطلب منه مسار الويب التبديل إلى الحساب.
هل يمكن للعبة أن تتوافق مع كل من حزمة تطوير البرامج (SDK) الأصلية وأنظمة الدفع القديمة في الوقت نفسه؟
يعمل نظام الدفع بموجب نموذج مسار مزدوج استنادًا إلى إصدار ملف اللعبة الثنائي. يواصل المستخدمون الذين يستخدمون الإصدارات القديمة المسار الحالي، وينتقل المستخدمون الذين يستخدمون الإصدارات الجديدة إلى عمليات الدفع المستندة إلى حزمة تطوير البرامج (SDK). يتعايش المستخدمون في كلا مسارَي الدفع خلال فترة الانتقال.
Windows App Bundle
عند إرسال WAB باستخدام مشغّل تابع لجهة خارجية، هل يجب إرسال حِزمة اللعبة للمراجعة؟
يمكنك إرسال أداة التثبيت فقط، ولست بحاجة إلى إرسال حِزمة اللعبة بالكامل، وسيتمكّن المراجع من تنزيل حِزمة اللعبة باستخدام أداة التثبيت.
هل هناك أي قيود على حجم ملف حِزمة تطبيق Windows؟
يمكنك تحميل ملف يصل حجمه إلى 10 غيغابايت لحِزمة تطبيق Windows.
لماذا لا يتم تثبيت لعبتي أو ظهورها بعد تحميل حِزمة تطبيق Windows؟
إذا كانت عملية إعداد لعبتك تتم بدون إصدار سابق على الكمبيوتر (حِزمة تطبيق Windows لأول مرة)، قد يضعها النظام تلقائيًا في حالة الانتظار "النشر المُدار". يحدث ذلك لأنه لا توجد قاعدة أساسية حالية لتعديلها. لإصدار حِزمة تطبيق Windows بالكامل وإتاحة اللعبة للتثبيت، عليك الانتقال إلى Google Play Console وتنفيذ إجراء النشر المطلوب يدويًا (على سبيل المثال، النقر على "نشر التغييرات").
كيف يمكنني تحميل حِزمة تطبيق Windows للاختبار الداخلي؟
يُرجى مشاركة الحسابات المدرَجة في قائمة السماح مع Google لتتمكّن Google من تفعيلها للاختبار الداخلي. بعد حصول Google على القائمة، تتأكّد من تضمينها في عملية الإعداد.
أين يجب تحميل حِزمة تطبيق Windows؟
يمكنك تحميل حِزمة تطبيق Windows في الموقع المذكور في السؤال الأول. ومع ذلك، لا يمكنك نشرها يدويًا. عليك تزويد موظفي الخلفية في Google بوقت دقيق بتنسيق UTC (بالساعة). بعد ذلك، تضبط Google الجدول الزمني لإصدار الفيديوهات وتضمن نشره في الوقت المحدّد.
حزمة تطوير البرامج (SDK) للكمبيوتر
ما هي الاختلافات بين واجهة برمجة التطبيقات القديمة وحزمة تطوير البرامج (SDK) لتطبيق "ألعاب Google Play على الكمبيوتر"؟
- لا تقدّم واجهة برمجة التطبيقات القديمة سوى وظيفة "الفوترة".
- تتوافق حزمة تطوير البرامج (SDK) للكمبيوتر مع "خدمة Google للكمبيوتر المكتبي" وكامل الميزات المتاحة على الكمبيوتر.
- لا تتطلّب حزمة تطوير البرامج (SDK) للكمبيوتر ميزة "تسجيل الدخول باستخدام Google" المستندة إلى المتصفّح.
هل هناك طريقة بديلة لتهيئة حزمة SDK من خلال تشغيل اللعبة مباشرةً باستخدام مشغّل الألعاب، بدون برنامج "ألعاب Google Play على الكمبيوتر"؟
يجب تشغيل لعبتك من خلال برنامج "ألعاب Google Play على الكمبيوتر". لمزيد من التفاصيل، يُرجى الرجوع إلى مستند المطوّرين هذا.
هل تتوافق حزمة تطوير البرامج (SDK) الأصلية للكمبيوتر مع الأحرف المتعددة البايتات في ملف شهادة PEM؟
نعم، تتوافق حزمة تطوير البرامج (SDK) مع الأحرف المتعددة البايتات للشهادة.
كيف تتعامل حزمة تطوير البرامج (SDK) مع ميزة "تسجيل الدخول باستخدام حساب Google" لعدة مثيلات أو حسابات؟
يتم التعامل مع كل عملية تشغيل ضمن "ألعاب Google Play" على أنّها "جلسة لعب"، ويمكن ربط حساب بها. يمكن أن تكون الحسابات مختلفة. لذا، إذا شغّلت اللعبة باستخدام الحساب "أ"، ثم بدّلت إلى الحساب "ب" وأعدت تشغيل اللعبة، يمكن تشغيل الحسابَين في الوقت نفسه.
هل تتوافق عملية تكامل Play Install Referrer مع حزمة تطوير البرامج (SDK) للكمبيوتر؟
تتوافق حزمة تطوير البرامج (SDK) للكمبيوتر (الإصدار 25.5.409.0 والإصدارات الأحدث) مع واجهة برمجة التطبيقات Play Install Referrer API. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة Play Install Referrer API.
مشغِّل التطبيقات
إذا استخدم أحد اللاعبين مشغّلًا تابعًا لجهة خارجية بدلاً من برنامج "ألعاب Google Play"، هل تتم مزامنة حسابه على "خدمات ألعاب Play" تلقائيًا؟
لكي تعمل وظائف حزمة تطوير البرامج (SDK)، يجب تشغيل اللعبة مباشرةً من خلال برنامج "ألعاب Google Play". إذا بدأت عملية أخرى، مثل أداة تثبيت أو تطبيق مشغّل، تشغيل اللعبة، يجب أن يتم تشغيل هذه العملية نفسها من خلال برنامج "ألعاب Google Play". يجب أن تضبط اللعبة جميع المَعلمات التي تم تلقّيها من العميل ضمن عملية العميل.
كيف يمكنني التعامل مع عملية الإعداد إذا شغّل برنامج "ألعاب Google Play" مشغّل ألعاب تابعًا لجهة خارجية؟
لست بحاجة إلى دمج حزمة تطوير البرامج (SDK) مباشرةً في المشغّل. ومع ذلك، عليك تمرير جميع وسيطات سطر الأوامر التي يتلقّاها المشغّل من برنامج "ألعاب Google Play" مباشرةً إلى عملية الطفل التي تم إنشاؤها (ملف اللعبة القابل للتنفيذ). إذا تعذّر الإعداد (على سبيل المثال، من خلال عرض
kActionRequiredShutdownClientProcess)، يجب إنهاء جميع العمليات، بما في ذلك المشغّل، ليتمكّن برنامج "ألعاب Google Play" من محاولة الاسترداد وإعادة تشغيل اللعبة تلقائيًا. لمزيد من التفاصيل، يُرجى الاطّلاع على الخطوة 5 في دليل الإعداد.كيف يمكنني التعامل مع التحديثات والصيانة للعبة والمشغّل بعد طرحهما؟
يجب تنفيذ التحديثات والصيانة اللاحقة من خلال المشغّل. لا يتيح برنامج "ألعاب Google Play" وظائف التحديث، لذا يجب أن يكون المشغّل قادرًا على تحديث كل من اللعبة والمشغّل نفسه.
الإعداد
عند بدء لعبة باستخدام تطبيق "ألعاب Google Play"، هل تتم مزامنة تفاصيل حسابي على Google؟
بعد تشغيل اللعبة من خلال برنامج "ألعاب Google Play"، تتم مزامنة الحساب تلقائيًا، ولن تحتاج إلى تسجيل الدخول إلى Google مرة أخرى.
هل يمكن إعادة استخدام مَعلمات الإعداد عدة مرات؟
يمكنك ذلك طالما أنّ برنامج "ألعاب Google Play" قيد التشغيل ومعلومات تسجيل الدخول صالحة. ومع ذلك، في سيناريوهات مثل السيناريو الموضّح في الدليل، يجب إنهاء جميع العمليات التي تشغّلها اللعبة عندما يغلق المستخدم اللعبة أو يخرج منها بسبب تعذُّر إعداد حزمة تطوير البرامج (SDK)، مثل
kActionRequiredShutdownClientProcess.هل هناك أي طريقة لإنشاء اختصار لفتح اللعبة مباشرةً؟
يمكنك استخدام URI التالي لفتح اللعبة مباشرةً:
googleplaygames://launch/?pid=2&id=com.company.gamenameيتيح URI رصد ما إذا كان برنامج "ألعاب Google Play على الكمبيوتر" مفتوحًا. إذا لم يكن برنامج ألعاب Google Play مفتوحًا، يتم فتحه قبل تشغيل اللعبة أو المشغّل. عليك إدارة اللعبة أو المشغّل لمنع تشغيل عدة مثيلات.
هل هناك أي طريقة للتحقّق من تثبيت "ألعاب Google Play على الكمبيوتر" بدون استخدام حزمة تطوير البرامج (SDK)؟
يمكنك التحقّق من حالة تثبيت "ألعاب Google Play على الكمبيوتر" بدون دمج حزمة تطوير البرامج (SDK) من خلال التحقّق من وجود مفتاح "سجلّ Windows" التالي:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Servicesيشير وجود هذا المفتاح إلى أنّ خدمات "ألعاب Google Play" (المطلوبة لتشغيل الألعاب على الكمبيوتر) مثبّتة على الجهاز. إذا كان المفتاح غير موجود، عليك توجيه المستخدم إلى صفحة تثبيت "ألعاب Google Play على الكمبيوتر" لتنزيل البرنامج و تثبيته.
الاختبار
هل تتوفّر أي بيئات اختبار مفتوح أو مغلق مشابهة لبيئات الاختبار على الأجهزة الجوّالة؟
على الرغم من عدم توفّر بيئة اختبار شاملة مخصّصة، ندرك حاجة المطوّرين إلى بيئة اختبار مشابهة لبيئة الإنتاج. سيتم قريبًا توفير حل أكثر فعالية.
كيف يمكنني إضافة مختبِرين جدد؟
ينشئ جهة الاتصال من Google مجموعة بريد إلكتروني لكل مشروع على الكمبيوتر، ويجب إضافة حسابات Google الخاصة بالمختبِرين إليها. لا يُسمح إلا لأعضاء مجموعة البريد الإلكتروني هذه بتنزيل حِزم الاختبار ضمن "ألعاب Google Play".
متنوعة
هل يمكنني استخدام شبكة VPN؟
بالنسبة إلى المطوّرين الذين يحتاجون إلى اختبار لعبتهم في مناطق لا يتوفّر فيها برنامج "ألعاب Google Play على الكمبيوتر"، ننصح باستخدام شبكة VPN للحصول على عنوان IP من منطقة يتوفّر فيها البرنامج.
تأكَّد من تفعيل وضع TUN على شبكة VPN. يمكنك العثور على إرشادات حول تفعيل وضع TUN وضبط جدار الحماية في دليل تشغيل شبكة VPN.
بعد تفعيل وضع TUN، عليك تثبيت برنامج "ألعاب Google Play على الكمبيوتر" و الـ محاكي لأغراض الاختبار.
كيف يمكنني بدء التطوير لـ "ألعاب Google Play على الكمبيوتر" في Unity أو UE Editor؟
- فعِّل وضع مطوّر البرامج وتابِع عملية الاختبار.
- أضِف ملفَي
manifest.xmlو.dll. لمزيد من المعلومات، يُرجى الاطّلاع على مستند المطوّرين. - سجِّل المعرّف الفريد العالمي (GUID) لشريك برنامج الاستخدام قبل الإطلاق لأغراض الاختبار.
كيف يمكنني استخدام مفاتيح "سجلّ Windows" بشكل صحيح؟
عليك إنشاء مفاتيح السجل استنادًا إلى الخلية الجذرية. يمكنك ضبط الخلية الجذرية على
HKEY_LOCAL_MACHINEأوHKEY_CURRENT_USERاستنادًا إلى الغرض من البيانات وطبيعتها. يتم استخدام الخليةHKEY_LOCAL_MACHINEكمثال في الإرشادات.ما هي متطلبات مراجعة Google لحِزم الكمبيوتر؟
تخضع حِزم الكمبيوتر لعملية فحص بحثًا عن البرامج الضارة، وبعد ذلك يختبر المراجعون عمليات تثبيت اللعبة وبدء تشغيلها وإلغاء تثبيتها فقط.
هل من الضروري دمج جميع واجهات برمجة التطبيقات؟
ليست هناك حاجة إلى واجهات برمجة التطبيقات الأخرى، ولكنها تقدّم مزايا إضافية. تتطلّب عمليات الشراء داخل التطبيق وبيع المحتوى الرقمي استخدام
google::play::billing. يتطلّب تتبُّع بيانات الإحالة لمساعدتك في فهم مصادر الزيارات التي تجذب أكبر عدد من المستخدمين لتنزيل تطبيقك استخدامgoogle::play::install_referrer. ويتطلّب حماية تطبيقك من الجهات الضارة من خلال رصد الأجهزة التي قد تكون محفوفة بالمخاطر والمحاكيات غير المعروفة استخدامgoogle::play::games::integrity.لماذا يتم إنهاء بعض عمليات اللعبة عند إغلاق برنامج "ألعاب Google Play"، بينما لا يتم إنهاء عمليات أخرى؟
لا تتحكّم Google في العمليات الفرعية أو عمليات اللعبة قيد التشغيل. يعتمد السلوك على ما إذا كانت اللعبة لعبة محاكاة لنظام Android أو لعبة أصلية على الكمبيوتر. يتم تثبيت الألعاب المحاكاة داخل بيئتها الخاصة، لذا يعتمد سلوكها إلى حد كبير على عملية إعداد المحاكي وإيقافه.
هل عليّ استخدام إمكانية إلغاء تثبيت "ألعاب Google Play" أو أداة إلغاء تثبيت مخصّصة؟
تنصح Google باستخدام إمكانية إلغاء تثبيت "ألعاب Google Play".
مساعدة إضافية
إذا كنت بحاجة إلى مزيد من المساعدة غير المشمولة في هذه الأسئلة الشائعة، يُرجى التواصل مع google-play-games-pc@google.com