इन-ऐप्लिकेशन समीक्षाओं को इंटिग्रेट करना (Unreal Engine)

इस गाइड में, Unreal Engine का इस्तेमाल करके अपने ऐप्लिकेशन में इन-ऐप्लिकेशन समीक्षाएं इंटिग्रेट करने का तरीका बताया गया है. अगर Kotlin या Java, नेटिव कोड या Unity का इस्तेमाल किया जा रहा है, तो इंटिग्रेशन के लिए अलग-अलग गाइड उपलब्ध हैं.

Unreal Engine SDK टूल के बारे में खास जानकारी

Play In-App Reviews API, Play Core SDK फ़ैमिली का हिस्सा है. Unreal Engine के लिए एपीआई, RequestReviewFlow और LaunchReviewFlow तरीकों का इस्तेमाल करके फ़्लो का अनुरोध करने और उसे लॉन्च करने के लिए, UInAppReviewsManager क्लास उपलब्ध कराता है. अनुरोध करने के बाद, आपका ऐप्लिकेशन EInAppReviewErrorCode का इस्तेमाल करके अनुरोध की स्थिति देख सकता है.

Unreal Engine के इस्तेमाल किए जा सकने वाले वर्शन

यह प्लग इन, Unreal Engine 5.0 और इसके बाद के सभी वर्शन के साथ काम करता है.

डेवलपमेंट एनवायरमेंट सेट अप करना

सेटअप

  1. GitHub के रिपॉज़िटरी से Play Unreal Engine प्लग इन डाउनलोड करें.

  2. Unreal Engine प्रोजेक्ट में, Plugins फ़ोल्डर में GooglePlay फ़ोल्डर को कॉपी करें.

  3. अपना Unreal Engine प्रोजेक्ट खोलें और बदलाव करें → प्लग इन पर क्लिक करें.

  4. Google Play खोजें और चालू है चेकबॉक्स पर सही का निशान लगाएं.

  5. गेम प्रोजेक्ट को रीस्टार्ट करें और बिल्ड को ट्रिगर करें.

  6. अपने प्रोजेक्ट की Build.cs फ़ाइल खोलें और PlayInAppReviews मॉड्यूल को PublicDependencyModuleNames में जोड़ें:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayInAppReviews");
    
        // ...
      }
    }
    

ऐप्लिकेशन में समीक्षा के फ़्लो का अनुरोध करना

ऐप्लिकेशन में समीक्षाओं का अनुरोध कब करना है के बारे में दिए गए दिशा-निर्देशों का पालन करें. इससे, आपको अपने ऐप्लिकेशन के उपयोगकर्ता फ़्लो में ऐसे अच्छे पॉइंट तय करने में मदद मिलेगी जहां उपयोगकर्ता को समीक्षा करने के लिए कहा जा सकता है. उदाहरण के लिए, जब उपयोगकर्ता किसी गेम के लेवल के आखिर में खास जानकारी वाली स्क्रीन को खारिज कर देता है. जब आपका ऐप्लिकेशन इनमें से किसी एक पॉइंट के करीब पहुंच जाए, तो UInAppReviewsManager कोई ऑपरेशन बनाएं का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::RequestReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Initiate the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->RequestReviewFlow(Delegate);
}
  1. यह तरीका, समीक्षा की प्रोसेस पूरी होने के बाद, FRreviewOperationCompletedDelegate बनाता है.

  2. डेलिगेट, OnReviewOperationCompleted तरीके से जुड़ा होता है. ऑपरेशन पूरा होने के बाद, इसे कॉल किया जाएगा.

  3. BindDynamic फ़ंक्शन यह पक्का करता है कि डेलिगेट, कॉलबैक से सही तरीके से लिंक किया गया हो.

  4. RequestReviewFlow(Delegate) तरीका, नतीजे को मैनेज करने के लिए, डिलीगेट को पास करके समीक्षा की प्रोसेस शुरू करता है.

  5. समीक्षा की प्रोसेस, सिंक किए बिना चलती है. इससे समीक्षा पूरी होने के दौरान, ऐप्लिकेशन में अन्य टास्क जारी रखने में मदद मिलती है.

  6. कार्रवाई पूरी होने के बाद, OnReviewOperationCompleted कॉलबैक, नतीजे को प्रोसेस करता है. इसमें सफलता या असफलता की जानकारी भी शामिल होती है.

इन-ऐप्लिकेशन समीक्षा फ़्लो लॉन्च करना

RequestReviewFlow ऑपरेशन पूरा होने के बाद, ऐप्लिकेशन में मौजूद समीक्षा फ़्लो को लॉन्च किया जा सकता है. ऐसा करने के लिए, समीक्षा पूरी होने के इवेंट को मैनेज करने के लिए किसी प्रतिनिधि को बांधें. इससे यह पक्का होता है कि ऐप्लिकेशन, समीक्षा के अनुरोध के नतीजे (सफल या अस्वीकार) पर प्रतिक्रिया देता है.

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::LaunchReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Launch the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->LaunchReviewFlow(Delegate);
}

अगले चरण

अपने ऐप्लिकेशन के इन-ऐप्लिकेशन समीक्षा फ़्लो की जांच करें, ताकि यह पुष्टि की जा सके कि आपका इंटिग्रेशन सही तरीके से काम कर रहा है या नहीं.