# المشتريات من رسائل iOS داخل التطبيق

للسماح لمستخدميك بإجراء عمليات شراء مباشرة من الرسائل داخل التطبيق المعروضة في تطبيق iOS الخاص بك، يمكنك تنفيذ الحل الجاهز لـ Rich Medias الخاصة بك وإضافة ردود نداء للحصول على مزيد من المعلومات حول عمليات الشراء داخل التطبيق.

<Aside type="note">
متاح لـ **إصدار SDK الخاص بنظام iOS 6.4.5 وما بعده**.
</Aside>

## تنفيذ JavaScript لـ Rich Media

لتنفيذ عمليات الشراء داخل التطبيق في Rich Medias الخاصة بك، استخدم **استدعاء دالة 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. قم بتنفيذ طرق PWPurchaseDelegate في AppDelegate الخاص بك:

```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>