این مبحث نحوه شناسایی و ارائه محصولات درون برنامه ای در بازی خود را پس از خرید بازیکنان با Play Points در برنامه Google Play شرح می دهد.
هنگامی که کاربران امتیازهای Play خود را برای یک محصول درونبرنامه در برنامه Google Play پسخرید کردند، موارد باید فوراً در بازی شما تحویل داده شوند. موارد زیر نحوه خرید اقلام توسط کاربر با Play Points را نشان می دهد.
1. روی Play Points کلیک کنید. | 1. برای مشاهده موارد، روی تب Use کلیک کنید. | 2. یک مورد را انتخاب کنید و برای تکمیل خرید روی Use Points کلیک کنید. | 3. کالا را دریافت کنید. |
در مثال، بازی در حین خرید محصول اجرا نمی شود. وقتی بازی روی دستگاهشان نصب نشده است، کاربران همچنین میتوانند امتیازهای Play را با محصولات مبادله کنند. به همین دلیل، باید بازی خود را طوری طراحی کنید که تحویل آیتم های درون برنامه ای را از خارج از فروشگاه درون بازی انجام دهد.
قبل از اینکه شروع کنید
قبل از شناسایی و ارائه یک محصول درون برنامه ای، باید محصول و تبلیغات Play Points را ایجاد کنید .
الزامات تحویل
وقتی محصولات درون برنامهای را در بازی خود با استفاده از تبلیغات Play Points تحویل میدهید، باید الزامات این بخش را دنبال کنید.
زمان تحویل
وقتی بازیکنی امتیازهای Play را با یک محصول درون برنامه ای مبادله می کند، باید فوراً مورد را بدون نیاز به شروع مجدد بازی توسط بازیکن تحویل دهید. در مواردی که محتوای بازی باید از قبل تکمیل شود، مانند تکمیل یک آموزش، باید بلافاصله بعد از آن، مورد تحویل داده شود.
پیام تحویل
هنگامی که کاربر پس از خرید یک محصول درونبرنامهای خارج از بازی به بازی شما بازگشت، باید تأییدیهای نشان دهید که محصول با موفقیت در بازی اعطا شده است. پیام باید به صورت یک گفتگوی پاپ آپ یا یک پیام درون بازی باشد. کاربران نباید هیچ اقدام اضافی برای دریافت کالا انجام دهند.
فرمت پیام مورد نیاز در اینجا آمده است:
یک پیام واضح مبنی بر اینکه مورد دریافت شده است.
به نام مورد به وضوح رجوع کنید و به «امتیازهای بازی» مراجعه کنید تا مطمئن شوید کاربران می توانند آن را از سایر محتوایی که دریافت می کنند متمایز کنند.
در صورت وجود اقلام مشابه با چند نام، نام کالا باید شامل نام صحیح کالا نیز باشد.
گفتگوی بازشو، پیام یا اعلان درون بازی باید برای کاربر قابل مشاهده باشد تا زمانی که کاربر تأییدی مانند «ادامه» یا «تأیید» را کلیک کند. نباید دکمه لغو وجود داشته باشد، زیرا این پیام فقط برای اطلاع کاربران از موردی است که در بازی دریافت کرده اند. اگر دکمه تأیید وجود نداشته باشد، پیام باید حداقل 3 ثانیه قبل از ناپدید شدن برای کاربران قابل مشاهده باشد تا اطمینان حاصل شود که کاربران می دانند کالای خود را دریافت کرده اند.
در اینجا یک پیام مثال است:
"مورد دریافت شد! شما به تازگی 100 جواهر با Play Points دریافت کردید. ادامه دهید."
کاربران باید یک انیمیشن یا برخی تاییدات بصری را ببینند که افزایش موجودی ارز درون بازی آنها را نشان می دهد. اگر مورد یک کالای درون برنامه ای بادوام یا مصرفی است، کاربران باید به جایی هدایت شوند که قفل آن قفل شده است یا در بازی در دسترس است.
موارد دریافتی خارج از بازی را شناسایی کنید
اگر بازی شما از کتابخانه صورتحساب Google Play استفاده میکند، برای شناسایی محصولات درونبرنامهای که خارج از بازی دریافت میشوند، تغییرات زیر را اعمال کنید.
در پاسخ به تماس
onResume()
بازی خود، متدqueryPurchases()
را برای بازیابی لیستی از آیتم ها فراخوانی کنید تا بتوانید تعیین کنید که کدام موارد تایید نشده اند.اگر بازی شما دارای سرور است، اکیداً توصیه میکنیم که خرید از سرور خود را با استفاده از API اشتراکها و خریدهای درونبرنامه تأیید کنید.
اگر اقلامی وجود دارد که دارای مالکیت هستند اما تأیید نشدهاند، خرید را با
consumeAsync()
برای اقلام مصرفی یا باacknowledgePurchase()
برای اقلام غیر مصرفی تایید کنید.به کالای خریداری شده در داخل بازی حق اعطا کنید.
موارد دریافت شده در حالت تقسیم صفحه را شناسایی کنید
اگر بازی شما از حالت چند پنجرهای پشتیبانی میکند، این امکان برای کاربران وجود دارد که امتیازهای Play را پسخرید کرده و مورد را دریافت کنند، در حالی که برنامه Play Store و بازی شما را همزمان اجرا میکنند. این اسکرین شات یک مثال را نشان می دهد:
برای پشتیبانی از این سناریو با کتابخانه صورتحساب Google Play، موارد زیر را انجام دهید:
Google Play متد
onPurchasesUpdated()
را فراخوانی می کند تا به بازی شما اطلاع دهد که یک مورد جدید در انتظار وجود دارد.اگر بازی شما دارای سرور است، اکیداً توصیه میکنیم که خرید از سرور خود را با استفاده از API اشتراکها و خریدهای درونبرنامه تأیید کنید.
خرید را با
consumeAsync()
برای اقلام مصرفی یا باacknowledgePurchase()
برای اقلام غیر مصرفی تایید کنید.به کالای خریداری شده در داخل بازی حق اعطا کنید.
نمایش تاییدیه تحویل
وقتی کاربران امتیازهای Play را پسخرید میکنند و مورد مبادلهای دریافت میکنند، انتظار دارند که بازی یک پیام درون بازی نشان دهد، یا از نوعی اعلان استفاده میکند تا بدانند بازی به درستی مورد را دریافت و پردازش کرده است. در اینجا چند گزینه تأیید تحویل وجود دارد:
نمایش یک پنجره بازشو در بازی
پیام را به یک جعبه پیام درون بازی تحویل دهید و به وضوح بیان کنید که یک پیام جدید در جعبه پیام درون بازی وجود دارد.
از پیام اعلان سیستم عامل استفاده کنید.
این امکان وجود دارد که بازی در هر حالتی در هنگام دریافت کالای تبلیغاتی از جمله نصب نشدن روی دستگاه باشد. شما باید آیتم های تبلیغاتی را بدون توجه به وضعیتی که بازی در آن زمان دریافت می شود، شناسایی کنید. با این حال، برخی استثناها وجود دارد که ممکن است قابل قبول باشد که بلافاصله به کاربر اطلاع داده نشود که مورد دریافت شده است. به عنوان مثال:
در حین بازی، جایی که نمایش یک پیام ممکن است حواس کاربر را پرت کند. در این صورت باید پس از پایان عملیات به کاربر اطلاع دهید.
در طول کات سین، جایی که نمایش یک پیام ممکن است حواس کاربر را پرت کند. در این صورت باید پس از اتمام کات سین به کاربر اطلاع دهید.
در طول آموزش اولیه و تنظیمات کاربر بخش های بازی. توصیه میکنیم بلافاصله پس از باز کردن بازی یا در هنگام راهاندازی اولیه کاربر، پاداش را به کاربران جدید اطلاع دهید. با این حال، قابل قبول است که منتظر بمانید تا سکانس اصلی بازی برای اطلاع کاربر در دسترس باشد.
اگر برنامه شما دارای چندین نویسه یا حساب است که مورد می تواند روی آنها اعمال شود، توصیه می کنیم از کاربر بخواهید انتخاب کند که کدام حساب موارد تبلیغاتی را دریافت می کند.
هنگام تصمیم گیری در مورد زمان و نحوه اطلاع رسانی به آنها از موارد تبلیغاتی، کاربران را در نظر بگیرید. هر زمان که کاربر فوراً اعلان دریافت نمی کند، ممکن است گیج شود، بازی را متوقف کند، با پشتیبانی کاربر تماس بگیرد یا در مورد آن در رسانه های اجتماعی شکایت کند.
به روز رسانی برای موتورهای بازی خاص
در اینجا برخی از ملاحظات برای موتورهای بازی خاص وجود دارد:
اگر بازی شما با Unity ساخته شده است، توصیه میکنیم بررسی کنید که آیا پیادهسازی IAP که استفاده میکنید از تبلیغات Play Points پشتیبانی میکند یا خیر.
اگر بازی شما با Cocos2d-x یا Unreal Engine (C/C++) ساخته شده است، به احتمال زیاد باید کد JNI را که API های جاوا را فراخوانی می کند از کد C/C++ خود بنویسید.
بهترین شیوه های سمت سرور
این بخش شامل بهترین شیوه های سمت سرور برای استفاده برای تبلیغات Play Points است:
اگر با
Purchases.products: get
، بررسی کنید که آیا باید موارد مبادله جوایز Play و سایر محصولات درونبرنامه را جداگانه بر اساس مقادیرproductId
مدیریت کنید یا خیر.اگر از
Inappproducts: list
در سرور خود استفاده میکنید، بررسی کنید که آیا باید موارد مبادله جوایز Play را از سایر محصولات درونبرنامهای بر اساس مقادیرproductId
جدا کنید.برای تأیید اینکه آیا نیاز به ایجاد تغییرات اضافی دارید، بهترین روشهای زیر را مرور کنید:
- مرجع:
- اجرای تأیید امضای سمت سرور
- اطمینان حاصل کنید که مقادیر
purchaseToken
وorderId
منحصر به فرد هستند و قبلاً استفاده نشده اند.
عیب یابی
این بخش شامل توصیه هایی برای سناریوهایی است که می تواند منجر به درخواست مشتری شود.
چندین حساب کاربری
اگر کاربری چندین حساب Google در دستگاه خود داشته باشد و امتیازهای Play را با حساب اشتباهی پسخرید کند، Google نمیتواند موارد را به حسابهای دیگر منتقل کند. به همین ترتیب، برنامه شما نمی تواند مورد را با فراخوانی متد getPurchases()
انتقال دهد. در این سناریو، با استفاده از عملیات پشتیبانی مشتری، موارد درون برنامه را به صورت دستی در اختیار کاربر قرار دهید.
موارد با تاخیر یا گم شدن
اگر بازیکنان با موارد پاداش با تأخیر یا گم شدن مواجه شدند، راهنمای عیبیابی خریدهای درونبرنامه را در اسناد راهنمای Google Play ببینید.
،این مبحث نحوه شناسایی و ارائه محصولات درون برنامه ای در بازی خود را پس از خرید بازیکنان با Play Points در برنامه Google Play شرح می دهد.
هنگامی که کاربران امتیازهای Play خود را برای یک محصول درونبرنامه در برنامه Google Play پسخرید کردند، موارد باید فوراً در بازی شما تحویل داده شوند. موارد زیر نحوه خرید اقلام توسط کاربر با Play Points را نشان می دهد.
1. روی Play Points کلیک کنید. | 1. برای مشاهده موارد، روی تب Use کلیک کنید. | 2. یک مورد را انتخاب کنید و برای تکمیل خرید روی Use Points کلیک کنید. | 3. کالا را دریافت کنید. |
در مثال، بازی در حین خرید محصول اجرا نمی شود. وقتی بازی روی دستگاهشان نصب نشده است، کاربران همچنین میتوانند امتیازهای Play را با محصولات مبادله کنند. به همین دلیل، باید بازی خود را طوری طراحی کنید که تحویل آیتم های درون برنامه ای را از خارج از فروشگاه درون بازی انجام دهد.
قبل از اینکه شروع کنید
قبل از شناسایی و ارائه یک محصول درون برنامه ای، باید محصول و تبلیغات Play Points را ایجاد کنید .
الزامات تحویل
وقتی محصولات درون برنامهای را در بازی خود با استفاده از تبلیغات Play Points تحویل میدهید، باید الزامات این بخش را دنبال کنید.
زمان تحویل
وقتی بازیکنی امتیازهای Play را با یک محصول درون برنامه ای مبادله می کند، باید فوراً مورد را بدون نیاز به شروع مجدد بازی توسط بازیکن تحویل دهید. در مواردی که محتوای بازی باید از قبل تکمیل شود، مانند تکمیل یک آموزش، باید بلافاصله بعد از آن، مورد تحویل داده شود.
پیام تحویل
هنگامی که کاربر پس از خرید یک محصول درونبرنامهای خارج از بازی به بازی شما بازگشت، باید تأییدیهای نشان دهید که محصول با موفقیت در بازی اعطا شده است. پیام باید به صورت یک گفتگوی پاپ آپ یا یک پیام درون بازی باشد. کاربران نباید هیچ اقدام اضافی برای دریافت کالا انجام دهند.
فرمت پیام مورد نیاز در اینجا آمده است:
یک پیام واضح مبنی بر اینکه مورد دریافت شده است.
به نام مورد به وضوح رجوع کنید و به «امتیازهای بازی» مراجعه کنید تا مطمئن شوید کاربران می توانند آن را از سایر محتوایی که دریافت می کنند متمایز کنند.
در صورت وجود اقلام مشابه با چند نام، نام کالا باید شامل نام صحیح کالا نیز باشد.
گفتگوی بازشو، پیام یا اعلان درون بازی باید برای کاربر قابل مشاهده باشد تا زمانی که کاربر تأییدی مانند «ادامه» یا «تأیید» را کلیک کند. نباید دکمه لغو وجود داشته باشد، زیرا این پیام فقط برای اطلاع کاربران از موردی است که در بازی دریافت کرده اند. اگر دکمه تأیید وجود نداشته باشد، پیام باید حداقل 3 ثانیه قبل از ناپدید شدن برای کاربران قابل مشاهده باشد تا اطمینان حاصل شود که کاربران می دانند کالای خود را دریافت کرده اند.
در اینجا یک پیام نمونه است:
"مورد دریافت شد! شما به تازگی 100 جواهر با Play Points دریافت کردید. ادامه دهید."
کاربران باید یک انیمیشن یا برخی تاییدات بصری را ببینند که افزایش موجودی ارز درون بازی آنها را نشان می دهد. اگر مورد یک کالای درون برنامه ای بادوام یا مصرفی است، کاربران باید به جایی هدایت شوند که قفل آن قفل شده است یا در بازی در دسترس است.
موارد دریافتی خارج از بازی را شناسایی کنید
اگر بازی شما از کتابخانه صورتحساب Google Play استفاده میکند، برای شناسایی محصولات درونبرنامهای که خارج از بازی دریافت میشوند، تغییرات زیر را اعمال کنید.
در پاسخ به تماس
onResume()
بازی خود، متدqueryPurchases()
را برای بازیابی لیستی از آیتم ها فراخوانی کنید تا بتوانید تعیین کنید که کدام موارد تایید نشده اند.اگر بازی شما دارای سرور است، اکیداً توصیه میکنیم که خرید از سرور خود را با استفاده از API اشتراکها و خریدهای درونبرنامه تأیید کنید.
اگر اقلامی وجود دارد که دارای مالکیت هستند اما تأیید نشدهاند، خرید را با
consumeAsync()
برای اقلام مصرفی یا باacknowledgePurchase()
برای اقلام غیر مصرفی تایید کنید.به کالای خریداری شده در داخل بازی حق اعطا کنید.
موارد دریافت شده در حالت تقسیم صفحه را شناسایی کنید
اگر بازی شما از حالت چند پنجرهای پشتیبانی میکند، این امکان برای کاربران وجود دارد که امتیازهای Play را پسخرید کرده و مورد را دریافت کنند، در حالی که برنامه Play Store و بازی شما را همزمان اجرا میکنند. این اسکرین شات یک مثال را نشان می دهد:
برای پشتیبانی از این سناریو با کتابخانه صورتحساب Google Play، موارد زیر را انجام دهید:
Google Play متد
onPurchasesUpdated()
را فراخوانی می کند تا به بازی شما اطلاع دهد که یک مورد جدید در انتظار وجود دارد.اگر بازی شما دارای سرور است، اکیداً توصیه میکنیم که خرید از سرور خود را با استفاده از API اشتراکها و خریدهای درونبرنامه تأیید کنید.
خرید را با
consumeAsync()
برای اقلام مصرفی یا باacknowledgePurchase()
برای اقلام غیر مصرفی تایید کنید.به کالای خریداری شده در داخل بازی حق اعطا کنید.
نمایش تاییدیه تحویل
وقتی کاربران امتیازهای Play را پسخرید میکنند و مورد مبادلهای دریافت میکنند، انتظار دارند که بازی یک پیام درون بازی نشان دهد، یا از نوعی اعلان استفاده میکند تا بدانند بازی به درستی مورد را دریافت و پردازش کرده است. در اینجا چند گزینه تأیید تحویل وجود دارد:
نمایش یک پنجره بازشو در بازی
پیام را به یک جعبه پیام درون بازی تحویل دهید و به وضوح بیان کنید که یک پیام جدید در جعبه پیام درون بازی وجود دارد.
از پیام اعلان سیستم عامل استفاده کنید.
این امکان وجود دارد که بازی در هر حالتی در هنگام دریافت کالای تبلیغاتی از جمله نصب نشدن روی دستگاه باشد. شما باید آیتم های تبلیغاتی را بدون توجه به وضعیتی که بازی در آن زمان دریافت می شود، شناسایی کنید. با این حال، برخی استثناها وجود دارد که ممکن است قابل قبول باشد که بلافاصله به کاربر اطلاع داده نشود که مورد دریافت شده است. به عنوان مثال:
در حین بازی، جایی که نمایش یک پیام ممکن است حواس کاربر را پرت کند. در این صورت باید پس از پایان عملیات به کاربر اطلاع دهید.
در طول کات سین، جایی که نمایش یک پیام ممکن است حواس کاربر را پرت کند. در این صورت باید پس از اتمام کات سین به کاربر اطلاع دهید.
در طول آموزش اولیه و تنظیمات کاربر بخش های بازی. توصیه میکنیم بلافاصله پس از باز کردن بازی یا در هنگام راهاندازی اولیه کاربر، پاداش را به کاربران جدید اطلاع دهید. با این حال، قابل قبول است که منتظر بمانید تا سکانس اصلی بازی برای اطلاع کاربر در دسترس باشد.
اگر برنامه شما دارای چندین نویسه یا حساب است که مورد می تواند روی آنها اعمال شود، توصیه می کنیم از کاربر بخواهید انتخاب کند که کدام حساب موارد تبلیغاتی را دریافت می کند.
هنگام تصمیم گیری در مورد زمان و نحوه اطلاع رسانی به آنها از موارد تبلیغاتی، کاربران را در نظر بگیرید. هر زمان که کاربر فوراً اعلان دریافت نمی کند، ممکن است گیج شود، بازی را متوقف کند، با پشتیبانی کاربر تماس بگیرد یا در مورد آن در رسانه های اجتماعی شکایت کند.
به روز رسانی برای موتورهای بازی خاص
در اینجا برخی از ملاحظات برای موتورهای بازی خاص وجود دارد:
اگر بازی شما با Unity ساخته شده است، توصیه میکنیم بررسی کنید که آیا پیادهسازی IAP که استفاده میکنید از تبلیغات Play Points پشتیبانی میکند یا خیر.
اگر بازی شما با Cocos2d-x یا Unreal Engine (C/C++) ساخته شده است، به احتمال زیاد باید کد JNI را که API های جاوا را فراخوانی می کند از کد C/C++ خود بنویسید.
بهترین شیوه های سمت سرور
این بخش شامل بهترین شیوه های سمت سرور برای استفاده برای تبلیغات Play Points است:
اگر با
Purchases.products: get
، بررسی کنید که آیا باید موارد مبادله جوایز Play و سایر محصولات درونبرنامه را جداگانه بر اساس مقادیرproductId
مدیریت کنید یا خیر.اگر از
Inappproducts: list
در سرور خود استفاده میکنید، بررسی کنید که آیا باید موارد مبادله جوایز Play را از سایر محصولات درونبرنامهای بر اساس مقادیرproductId
جدا کنید.برای تأیید اینکه آیا نیاز به ایجاد تغییرات اضافی دارید، بهترین روشهای زیر را مرور کنید:
- مرجع:
- اجرای تأیید امضای سمت سرور
- اطمینان حاصل کنید که مقادیر
purchaseToken
وorderId
منحصر به فرد هستند و قبلاً استفاده نشده اند.
عیب یابی
این بخش شامل توصیه هایی برای سناریوهایی است که می تواند منجر به درخواست مشتری شود.
چندین حساب کاربری
اگر کاربری چندین حساب Google در دستگاه خود داشته باشد و امتیازهای Play را با حساب اشتباهی پسخرید کند، Google نمیتواند موارد را به حسابهای دیگر منتقل کند. به همین ترتیب، برنامه شما نمی تواند مورد را با فراخوانی متد getPurchases()
انتقال دهد. در این سناریو، با استفاده از عملیات پشتیبانی مشتری، موارد درون برنامه را به صورت دستی در اختیار کاربر قرار دهید.
موارد با تاخیر یا گم شدن
اگر بازیکنان با موارد پاداش با تأخیر یا گم شدن مواجه شدند، راهنمای عیبیابی خریدهای درونبرنامه را در اسناد راهنمای Google Play ببینید.