# iOS ইন-অ্যাপ মেসেজ থেকে কেনাকাটা

আপনার iOS অ্যাপে প্রদর্শিত ইন-অ্যাপ মেসেজ থেকে সরাসরি ব্যবহারকারীদের কেনাকাটা করার সুযোগ দিতে, আপনি আপনার Rich Media-এর জন্য আউট-অফ-দ্য-বক্স সমাধান প্রয়োগ করতে পারেন এবং ইন-অ্যাপ কেনাকাটা সম্পর্কে আরও তথ্য পেতে কলব্যাক যোগ করতে পারেন।

<Aside>
**6.4.5 iOS SDK সংস্করণ এবং তার পরবর্তী সংস্করণগুলির জন্য উপলব্ধ**।
</Aside>

## Rich Media JavaScript প্রয়োগ

আপনার Rich Media-তে ইন-অ্যাপ কেনাকাটা প্রয়োগ করতে, একটি সহজ **JavaScript ফাংশন কল** ব্যবহার করুন:

```javascript
pushwooshImpl.makePurchaseWithIdentifier("Premium"); // product identifier specified in your App Store product information
```

## কলব্যাকের জন্য AppDelegate মেথড

যদি আপনার কেনাকাটার সময় কলব্যাক কার্যকর করার প্রয়োজন হয়, তাহলে নিম্নোক্তভাবে **PWPurchaseDelegate প্রোটোকল** প্রয়োগ করুন:

1\. আপনার প্রজেক্টের AppDelegate-কে PWPurchaseDelegate প্রোটোকলের সাথে সঙ্গতিপূর্ণ করুন:

```objective-c
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>
```

2\. আপনার AppDelegate-এ PWPurchaseDelegate-এর মেথডগুলি প্রয়োগ করুন:

```objective-c
#pragma mark - Purchase delegate methods
- (void) onPWInAppPurchaseHelperPaymentComplete:(NSString*) identifier {
    NSLog(@“Custom purchase delegate -- payment complete for identifier: %@“, identifier);
}
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products {
    NSLog(@“Custom purchase delegate -- retrieved list of products”);
}
-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error {
    NSLog(@“Custom purchase delegate -- payment failed with identifier %@ and error %@“, identifier, error.description);
}
```

### উপলব্ধ PWPurchaseDelegate মেথডগুলির তালিকা

#### প্রোডাক্টের তালিকা

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// আপনার অ্যাপের প্রোডাক্টের তালিকা সম্পর্কে বিস্তারিত তথ্য 
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;
@end
```

#### সফল লেনদেন

```objective-c
@protocol PWPurchaseDelegate &#x3C;NSObject>
// একটি সফলভাবে প্রক্রিয়াকৃত লেনদেন 
<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;
</strong>
@end
```

#### ব্যর্থ লেনদেন

```objective-c
@protocol PWPurchaseDelegate &#x3C;NSObject>
<strong>// একটি ব্যর্থ লেনদেন 
</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;
@end
```

#### App Store থেকে প্রচারিত

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// App Store থেকে একটি ইন-অ্যাপ কেনাকাটা শুরু হয়েছে, এবং লেনদেনটি আপনার অ্যাপে চলতে থাকবে।
-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;
@end
```

#### সম্পন্ন লেনদেন পুনরুদ্ধার করতে ব্যর্থ

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// লেনদেন পুনরুদ্ধার করার সময় একটি ত্রুটি ঘটেছে
-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;
@end
```

<Aside type="note">
যদি এই গাইডে উল্লেখিত মেথডগুলি আপনার প্রয়োজন মেটাতে না পারে, তাহলে অনুগ্রহ করে আমাদের [গ্রাহক সহায়তা দলের](https://help.pushwoosh.com/hc/en-us/requests/new?utm_content=pwwebsite&utm_term=footer&utm_campaign=support) সাথে যোগাযোগ করুন, এবং আমরা আপনাকে আরও নির্দেশনা দিতে পেরে খুশি হব।
</Aside>