الأسئلة الشائعة

يجيب هذا المستند عن الأسئلة الشائعة حول حِزم تطوير البرامج (SDK) والنشر في برنامج "ألعاب Google Play على الكمبيوتر".

كيف يمكنني إضافة شبكة VPN؟

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

تأكَّد من تفعيل وضع TUN على شبكة VPN. يمكنك الاطّلاع على إرشادات حول تفعيل وضع TUN وضبط جدار الحماية في دليل التشغيل الخاص بمزوّد خدمة VPN.

بعد تفعيل وضع TUN، عليك تثبيت برنامج "ألعاب Google Play على الكمبيوتر" والمحاكي لأغراض الاختبار.

هل يمكن استخدام مسار الشراء بدون خادم الخلفية؟

من منظور الأمان، لا يُنصح بشكل عام بإجراء المعالجة بدون خادم خلفية.

لمزيد من المعلومات، يُرجى الاطّلاع على المعالجة بدون خادم خلفية.

كيف يمكنني بدء التطوير لـ "ألعاب Google Play على الكمبيوتر" في Unity أو UE Editor؟

عند بدء لعبة باستخدام تطبيق "ألعاب Google Play"، هل تتم مزامنة تفاصيل حسابك على Google؟

بعد تشغيل اللعبة من خلال برنامج "ألعاب Google Play"، تتم مزامنة الحساب تلقائيًا، ولن تحتاج إلى تسجيل الدخول إلى Google مرة أخرى.

عند إرسال حِزمة تطبيق Windows باستخدام مشغّل تابع لجهة خارجية، هل يجب إرسال حِزمة اللعبة للمراجعة؟

يمكنك إرسال أداة التثبيت فقط، ولن تحتاج إلى إرسال حزمة اللعبة بأكملها، إذ سيتمكّن المراجع من تنزيل حزمة اللعبة باستخدام أداة التثبيت.

إذا كان أحد اللاعبين يستخدم مشغّلاً تابعًا لجهة خارجية بدلاً من "عميل Google Play"، هل ستتم مزامنة حسابه على "خدمات ألعاب Play" تلقائيًا؟

لكي تعمل وظائف حزمة تطوير البرامج (SDK)، يجب تشغيل اللعبة مباشرةً من خلال برنامج "ألعاب Google Play". إذا بدأت عملية أخرى، مثل أداة تثبيت أو تطبيق مشغّل، تشغيل اللعبة، يجب أن يتم تشغيل هذه العملية نفسها من خلال تطبيق "ألعاب Google Play". يجب أن تضبط اللعبة جميع المَعلمات التي تم تلقّيها من العميل ضمن عملية العميل.

كيف تعالج حزمة تطوير البرامج (SDK) عملية تسجيل الدخول إلى حساب Google لعدة مثيلات أو حسابات؟

يتم التعامل مع كل عملية تشغيل ضمن "ألعاب Google Play" على أنّها "جلسة لعب"، ويمكن ربط حساب بها. ويمكن أن تكون مختلفة. لذا، إذا شغّلت اللعبة باستخدام الحساب "أ"، ثم بدّلت إلى الحساب "ب" وأعدت تشغيل اللعبة، يمكن تشغيل الحسابَين في الوقت نفسه.

هل هناك أي قيود على حجم ملف WAB (Windows App Bundle)؟

يمكنك تحميل ملف يصل حجمه إلى 10 غيغابايت لتطبيق WAB.

هل يُسمح باستخدام أنظمة الدفع الحالية المستندة إلى واجهة برمجة التطبيقات بعد تكامل حزمة تطوير البرامج (SDK) لـ "ألعاب Google Play على الكمبيوتر"؟

يجب أن تتم جميع عمليات الدفع من خلال حزمة SDK الخاصة بـ "ألعاب Google Play على الكمبيوتر"، وذلك باستخدام خدمة "الفوترة في Google Play". لا يمكنك استخدام طريقة الدفع الحالية المستندة إلى واجهة برمجة التطبيقات في اللعبة نفسها.

هل تتوفّر أي بيئات اختبار مفتوح أو مغلق مشابهة للأجهزة الجوّالة؟

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

يتعذّر استخدام عمليات الشراء التي تمّت في "وضع مطوّر البرامج" بشكل صحيح؟

يجب تنفيذ عملية الشراء في "وضع مطوّر البرامج" في غضون 3 دقائق، وإلا قد يتم ردّ الأموال المدفوعة.

هل هناك أي اختلافات بين واجهة برمجة التطبيقات (الإصدار القديم) وحزمة تطوير البرامج (SDK) لتطبيق لـ "ألعاب Google Play" على الكمبيوتر؟

  • التركيز على الفوترة فقط في النظام القديم
  • ستتوافق حزمة تطوير البرامج مع "خدمة Google للكمبيوتر المكتبي" وكامل الميزات المتاحة على الكمبيوتر
  • واجهة حزمة تطوير البرامج (SDK) سهلة الاستخدام للمطوّرين
  • لا حاجة إلى تسجيل الدخول إلى Google من خلال المتصفّح

هل هناك طريقة بديلة لتهيئة حزمة SDK من خلال تشغيل اللعبة مباشرةً باستخدام مشغّل الألعاب، بدون برنامج "ألعاب Google Play على الكمبيوتر"؟

يجب تشغيل اللعبة من خلال برنامج "ألعاب Google Play على الكمبيوتر". لمزيد من التفاصيل، يُرجى الاطّلاع على مستند المطوّرين.

لا تتوفّر الدفعات المتكرّرة أو الاشتراكات. هل هناك أي خطط لتوفيرها؟

ليس لدينا خطط لإضافة خيارات شراء أخرى غير "الشراء داخل التطبيق"، ولكن يسعدنا تلقّي ملاحظاتك بشأن حالات استخدام محدّدة.

هل يحدث الخطأ billingerror عند بدء مسار الشراء أو عند الحصول على نتيجة الدفع؟

هي استجابة لنتيجة الدفع. ستعرض الدالة LaunchPurchaseFlow النتيجة على الفور بدون حظر، ولكن عليك الانتظار لمعرفة وقت انتهاء العملية والحصول على النتيجة.

هل هناك أي طريقة لإنشاء اختصار لفتح اللعبة مباشرةً؟

يمكنك استخدام معرّف الموارد المنتظم (URI) التالي لفتح اللعبة مباشرةً:

googleplaygames://launch/?pid=2&id=com.company.gamename

يتيح معرّف الموارد المنتظم (URI) رصد ما إذا كان برنامج "ألعاب Google Play على الكمبيوتر" مفتوحًا. إذا لم يكن عميل ألعاب Google Play مفتوحًا، فسيتم فتحه قبل تشغيل اللعبة أو المشغّل. عليك إدارة اللعبة أو مشغّلها لمنع تشغيل مثيلات متعددة.

QueryProductDetails حدود طلبات البيانات من واجهة برمجة التطبيقات

الحد الأقصى لعدد المنتجات التي يمكن الاستعلام عنها في طلب واحد إلى واجهة برمجة التطبيقات QueryProductDetails هو 50 منتجًا. في حال تجاوزت هذا الحدّ، عليك تقسيم الطلب إلى عدة طلبات.

لماذا لا يتم تثبيت لعبتي أو ظهورها بعد تحميل أول حزمة تطبيق Windows ‏ (WAB)؟

إذا كانت لعبتك في مرحلة الإعداد بدون توفّر إصدار مسبق للكمبيوتر الشخصي (أي "إصدار تجريبي لأول مرة")، قد يضعها النظام تلقائيًا في حالة تعليق ضمن "النشر المُدار". ويحدث ذلك لأنّه لا توجد مقاييس أساسية حالية لتعديلها. لإصدار حزمة تطبيق Android بالكامل وإتاحة اللعبة للتثبيت، عليك الانتقال إلى Google Play Console وتنفيذ إجراء النشر المطلوب يدويًا (على سبيل المثال، النقر على "نشر التغييرات").

كيف يتم التعامل مع عملية التهيئة إذا شغّلت "ألعاب Google Play" مشغّل ألعاب تابعًا لجهة خارجية؟

وليس مطلوبًا منك دمج حزمة تطوير البرامج (SDK) مباشرةً في مشغّل التطبيقات. ومع ذلك، يجب تمرير جميع وسيطات سطر الأوامر التي يتلقّاها مشغّل التطبيق من برنامج ألعاب Google Play مباشرةً إلى عملية التطبيق الفرعية التي تم إنشاؤها (ملف تنفيذ اللعبة). في حال تعذُّر بدء التشغيل (على سبيل المثال، من خلال عرض kActionRequiredShutdownClientProcess)، يجب إنهاء جميع العمليات، بما في ذلك المشغّل، حتى تتمكّن "ألعاب Google Play" من محاولة استرداد اللعبة وإعادة تشغيلها تلقائيًا. لمزيد من التفاصيل، يُرجى الاطّلاع على الخطوة 5 في دليل الإعداد.

هل من المفترض أن يحدث خطأ انتهاء المهلة إذا أغلق المستخدم المتصفّح بدون الدفع أثناء مسار الشراء؟

نعم، هذه مشكلة معروفة وسلوك مقصود في مسار العمل الحالي المستند إلى المتصفّح. تعمل Google حاليًا على تطوير ميزة شراء سلسة (مستندة إلى WebView) تتيح إكمال عملية الدفع داخل اللعبة وتجنُّب حدوث هذا الانقطاع.

هل تتيح حزمة تطوير البرامج (SDK) المخصّصة للكمبيوتر استخدام أحرف متعددة البايت في ملف شهادة الاعتماد (PEM)؟

نعم، يتيح حِزمة تطوير البرامج (SDK) استخدام أحرف متعددة البايت للحصول على شهادة الاعتماد.

ما هي المَعلمات المطلوبة عند طلب BillingClient::QueryPurchases أو BillingClient::LaunchPurchaseFlow؟

تقبل الدالة 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 حالات خطأ محتملة، مثل إلغاء المستخدم أو حدوث خطأ في الشبكة.

هل تتيح مكالمة BillingClient::LaunchPurchaseFlow() إدخال رقم طلب مخصّص؟

في تصميم حزمة تطوير البرامج (SDK) الحالي، لا يمكن إدخال حمولة خاصة بك. ومع ذلك، يمكنك تقديم أي مجموعة من obfuscated_account_id وobfuscated_profile_id. يمكنك عدم تقديم أي منهما أو تقديم أحدهما فقط أو كليهما.

حقل offer_token مطلوب ويحدّد عرض الشراء الذي يحاول المستخدم الاستفادة منه في مسار الدفع. في الوقت الحالي، يتضمّن كل رمز تخزين تعريفي (SKU) في Google Play عرضًا واحدًا فقط (على سبيل المثال، شراء منتج واحد مقابل 10 دولار أمريكي). في المستقبل، سيوفّر فريق "الفوترة في Play" الدعم لعروض متعددة.

لضمان ربط البيانات الوصفية في حال حدوث انقطاعات في مسار الشراء، خزِّن البيانات الوصفية على خادم الخلفية قبل إطلاق مربّع حوار الشراء واربطها برقم تعريف حساب المستخدم ورمز التخزين التعريفي الذي يتم شراؤه والطابع الزمني الحالي. لمزيد من المعلومات، اطّلِع على مقالة ربط عملية شراء بالبيانات الداخلية.

هل يعمل دمج واجهة برمجة التطبيقات Play Install Referrer؟

يتوافق أحدث إصدار من حزمة تطوير البرامج (SDK) (الإصدار 25.5.409.0 والإصدارات الأحدث) مع واجهة برمجة التطبيقات Play Install Referrer. لمزيد من المعلومات، يُرجى الاطّلاع على واجهة برمجة التطبيقات Play Install Referrer.

هل على المستخدم تسجيل الدخول بشكل منفصل لكل لعبة لإجراء عملية شراء؟

يتم استخدام حساب المقدّمة في &quot;ألعاب Google Play&quot; لكل جلسة لعب، لذا لن تحتاج إلى تسجيل الدخول مرة أخرى. الحساب الذي تستخدمه في "ألعاب Google Play" عند بدء جلسة اللعبة هو الحساب الذي يتم إصدار طلبات البيانات من واجهة برمجة التطبيقات منه. عند بدء مسار شراء في المتصفّح، يجب أن تكون مسجّلاً الدخول وتستخدم الحساب نفسه المستخدَم في جلسة اللعبة. إذا كان المستخدم مسجّلاً الدخول باستخدام حساب مختلف، سيطلب منه مسار الويب التبديل إلى حساب آخر.

ما هي المتطلبات الأساسية للتبديل من نظام الفوترة في Google باستخدام OAuth إلى نظام الفوترة الأصلي في Google باستخدام DLL؟

يمكن للألعاب مواصلة استخدام ميزة "تسجيل الدخول باستخدام حساب Google" المستندة إلى OAuth لإدارة الحساب الذي تم تسجيل الدخول إليه، ولكن تنصح Google بالتوقّف عن استخدام واجهات برمجة التطبيقات القديمة المستندة إلى REST الخاصة بالفوترة. يمكن أن يكون التبديل من واجهات برمجة تطبيقات الفوترة المستندة إلى REST (مع تسجيل الدخول باستخدام OAuth2) إلى عملية تستخدم علامة ميزة في حزمة تطوير البرامج (SDK)، وبالتالي يمكن أن يتعايش كلاهما لفترة من الوقت أثناء انتقال اللعبة.

هل تتم معالجة Payment Request API (LaunchPurchaseFlow) من خلال متصفّح ويب؟

نعم، تتم معالجة الطلب حاليًا من خلال متصفّح. تخطّط Google لإكمال العملية بأكملها بدون مغادرة اللعبة، ويمكن تحقيق ذلك من خلال حزمة تطوير البرامج (SDK).

هل يمكن إعادة استخدام مَعلمات الإعداد عدة مرات؟

ويكون ذلك ممكنًا ما دام تطبيق "ألعاب Google Play" قيد التشغيل ومعلومات تسجيل الدخول صالحة. ومع ذلك، في سيناريوهات مثل تلك الموضّحة في الدليل، يجب إنهاء جميع العمليات التي تشغّلها اللعبة عندما يغلق المستخدم اللعبة أو عندما يتم إغلاقها بسبب تعذُّر تهيئة حزمة SDK، مثل kActionRequiredShutdownClientProcess.

هل يمكن استخدام مفاتيح التسجيل ضمن HKEY_CURRENT_USER بدلاً من HKEY_LOCAL_MACHINE؟

يجب إنشاء مفاتيح التسجيل استنادًا إلى خلية الجذر. يمكنك ضبط خلية الجذر على HKEY_LOCAL_MACHINE أو HKEY_CURRENT_USER حسب الغرض وطبيعة البيانات. يتم استخدام HKEY_LOCAL_MACHINE hive كمثال في الإرشادات.

هل يمكن أن تتوافق إحدى الألعاب مع حزمة تطوير البرامج (SDK) الأصلية وأنظمة الدفع القديمة في الوقت نفسه؟

يعمل نظام الدفع وفقًا لنموذج التدفق المزدوج، وذلك حسب إصدار رمز اللعبة الثنائي. سيواصل المستخدمون الذين يستخدمون إصدارات قديمة اتّباع مسار الدفع الحالي، وسيتم نقل المستخدمين الذين يستخدمون إصدارات جديدة إلى نظام الدفع المستند إلى حزمة تطوير البرامج (SDK). يتعايش المستخدمون في كلا مساري الدفع خلال الفترة الانتقالية.

كيف يمكن تحميل حزمة WAB لإجراء اختبار داخلي؟

شارِك حسابات القائمة المسموح بها مع Google حتى تتمكّن Google من تفعيلها لإجراء اختبار داخلي. بعد أن تتلقّى Google القائمة، تتأكّد من تضمينها في عملية الإعداد.

أين يمكن إضافة مختبِرين جدد؟

ينشئ جهة الاتصال في Google مجموعة بريد إلكتروني لكل مشروع في &quot;برنامج التشغيل على الكمبيوتر&quot;، ويجب إضافة حسابات المختبِرين على Google إلى هذه المجموعة. لا يمكن سوى لأعضاء مجموعة البريد الإلكتروني هذه تنزيل حِزم الاختبار ضمن تطبيق "ألعاب Google Play".

أين يجب تحميل حزمة الكمبيوتر الرسمية قبل الإطلاق الرسمي؟

يمكنك تحميل حزمة WAB في الموقع الجغرافي المذكور في السؤال الأول. ومع ذلك، لا يمكنك نشره يدويًا. يجب تزويد فريق الدعم الفني في Google بوقت دقيق بالتوقيت العالمي المنسّق (حتى الساعة). بعد ذلك، تضبط Google الجدول الزمني لإصدار الفيديوهات وتضمن نشره في الوقت المحدّد.

كيف يتم التعامل مع عمليات الترقية والصيانة بعد الإطلاق الرسمي؟

يجب تنفيذ عمليات الترقية والصيانة اللاحقة من خلال مشغّل التطبيقات. لا يتيح تطبيق "ألعاب Google Play" وظائف التحديث، لذا يجب أن يكون المشغّل قادرًا على تحديث كل من اللعبة والمشغّل نفسه.

ما هي متطلبات مراجعة حِزم الكمبيوتر الشخصي في Google؟

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

هل من الضروري دمج جميع واجهات برمجة التطبيقات؟

لا تكون واجهات برمجة التطبيقات الأخرى مطلوبة، ولكنّها توفّر مزايا إضافية. يجب توفير google::play::billing لإجراء عمليات شراء داخل التطبيق وبيع المحتوى الرقمي. google::play::games::recall مطلوبة لتتبُّع بيانات الإحالة لمساعدتك في معرفة مصادر الزيارات التي تجذب أكبر عدد من المستخدمين لتنزيل تطبيقك. google::play::games::integrity مطلوبة لحماية تطبيقك من الجهات المسيئة من خلال رصد الأجهزة التي قد تكون محفوفة بالمخاطر والمحاكيات غير المعروفة.

لماذا يتم إنهاء بعض عمليات الألعاب عند إغلاق تطبيق "ألعاب Google Play"، بينما لا يتم إنهاء عمليات أخرى؟

لا تتحكّم Google في العمليات الفرعية أو عمليات اللعبة قيد التشغيل. ويعتمد السلوك على ما إذا كانت اللعبة هي لعبة Android محاكية أو لعبة كمبيوتر أصلية. يتم تثبيت الألعاب المحاكية داخل بيئتها الخاصة، لذا يعتمد سلوكها بشكل كبير على عملية بدء تشغيل المحاكي وإيقافه.

هل يجب استخدام إمكانية إلغاء تثبيت تطبيق "ألعاب Google Play" أو أداة إلغاء تثبيت مخصّصة؟

تنصح Google باستخدام إمكانية إلغاء تثبيت تطبيق "ألعاب Google Play".