في التطبيق مشتريات في تطبيقات iOS مع سويفت

تطبيق In App Purchase (IAP) في تطبيقات iOS [سريع]

الآن أيام ، يوفر معظم التطبيق خيار الحصول على ميزة أو محتوى إضافي عن طريق الشراء making. تعرف هذه العملية باسم In App Purchase (IAP) ، وهي طريقة رائعة لكسب المال من تطبيقات iOS أو MacOS.
نعم ، إنها حقيقة لا جدال فيها أن إيرادات المطور (Apple بالطبع) تعتمد على "مشتريات التطبيقات" . شئنا أم أبينا ، تفرض Apple رسومًا بنسبة 30٪ على كل معاملة ناجحة سيجريها طلبك.

لذلك ، سنناقش اليوم حول "عمليات الشراء في التطبيقات" ونرى عملية الدمج في "شراء التطبيقات" في تطبيق iOS مع لغة Swift 4.0.

أنواع مشتريات التطبيقات:

عندما يقوم المستخدم بإجراء أي IAP لشراء محتوى إضافي من الاشتراك ، قم بإجراء واحد من هذه عند شراء التطبيق:

  1. مستهلكات: سيحتاج المستخدم إلى شراء هذه العناصر في كل مرة ، كما تريد استخدامها ، لا يمكن استخدامها في المستقبل مجانًا. عند إعادة التثبيت ، قد يؤدي تغيير مستخدم الجهاز إلى فقد منتجاته الاستهلاكية. على سبيل المثال ، شراء عملة اللعبة ، والصحة ، وتلميحات ، إلخ.
  2. غير مستهلك: يمكن للمستخدم شراء هذه السلعة مرة واحدة ، ويمكن استخدامه في المستقبل مجانًا. عند إعادة التثبيت ، لن يضيع تغيير هذه الأجهزة. إذا فقد المستخدم ، فقد يكون قادرًا على تنزيله مرة أخرى مجانًا عن طريق استعادة عمليات الشراء داخل التطبيق. على سبيل المثال: ترقية التطبيق إلى إصدار pro ، إزالة الإعلانات ، إلخ.
  3. الاشتراكات غير المتجددة: سيتمكن المستخدم من استخدام هذه العناصر لفترة زمنية محددة ، ويمكن شراء هذه العناصر مرة أخرى بعد انتهاء الاشتراك. على سبيل المثال: تمريرة رياضية لواحد أو ثلاثة أو ستة عث.
  4. اشتراكات قابلة للتجديد التلقائي: يمكن للمستخدم شراء هذه السلعة لفترة زمنية محددة ، وسيتم تجديدها تلقائيًا عند انقضاء الفترة. على سبيل المثال: الخدمات المستمرة (Netflix ، Hulu Plus ، وما إلى ذلك) ، اشتراكات المجلات وما إلى ذلك

سنحاول تغطية كل ما نحتاجه لتطبيق IAP في تطبيق iOS ، سنناقش الموضوعات التالية في هذا:

  1. إعداد iTunes Connect
  2. المدونة في سويفت
  3. باستخدام الكود
  4. اختبار IAP

1. إعداد iTunes Connect:

سنناقش هذا الجزء في أربعة أقسام: إعداد الحساب المصرفي وإنشاء مستخدم Sandbox وإنشاء تطبيق iTunes وإنشاء منتجات IAP.

إعداد الحساب البنكي:

إذا لم يكن لديك إعداد الحساب المصرفي في حساب اتصال iTunes الخاص بك ، فلن تتمكن من استخدام خدمات IAP . لذلك ، من المهم جدًا تشغيل خدمات IAP. يمكننا القيام بذلك عن طريق الذهاب إلى قسم الاتفاقيات والضرائب والخدمات المصرفية لحساب iTunes connect. يجب أن يبدو شيء مثل هذا:

إنشاء المستخدم Sandbox:

الآن ، نحتاج إلى إنشاء مستخدم رمل ، لإنشاء التنقل إلى حساب المستخدمين والأدوار في iTunes ، واختيار قسم اختبار Sandbox. من المهم جدًا إضافة مستخدم sandbox لاختبار خدمات IAP ، من خلال مستخدم sandbox ، يمكنك إجراء المعاملات مجانًا.

remember تذكر دائمًا استخدام بريد إلكتروني غير معتمد على أي معرف Apple.

إنشاء تطبيق iTunes:

لإنشاء تطبيق على iTunes إلى قسم تطبيقاتي بحساب اتصال iTunes ، أو استخدم تطبيق موجود لديك بالفعل. لإنشاء تطبيق على iTunes ، يجب عليك إنشاء معرف تطبيق منك من خلال حساب المطور.

إنشاء منتجات IAP:

من أجل إنشاء منتجات IAP ، افتح تطبيق iTunes الخاص بك وانتقل إلى قسم الميزات. انقر فوق الزر "+" واختر أحد الأنواع الأربعة التي ناقشناها بالفعل. ثم قدم جميع البيانات الوصفية المطلوبة المتعلقة بمنتج IAP. انتبه إلى معرف المنتج.

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

لذلك ، نحن هنا مع الخطوة الأولى نحو دمج IAP. دعنا ننتقل إلى الخطوة التالية وهي الكود.

آه أجل!! لقد فعلتها.

2. قانون سويفت:

احتفظ بالكود في فصل منفصل قمت بإنشائه PKIAPHandler ، فلا تتردد في تغيير الاسم إذا كنت لا تحب ذلك . سنقوم بتخزين جميع الأشياء المتعلقة بـ In App Purchase في هذه الفئة.
لذلك ، دعونا نناقش الرمز. ما تحتوي هذه الفئة.

الخصائص:

تحتاج أولاً إلى تخزين جميع معرّفات منتجات IAP القابلة للاستخدام في صفيف ، حيث ستقوم بعرض جميع منتجات IAP التي تم إنشاؤها (في الخطوة IAP Products Creation) في تطبيقك لإظهار المستخدم.
هناك خاصية `isLogEnabled` سيساعدك على تمكين سجل وحدة التحكم لـ PKIAPHandler.
تتيح لك خاصية `Shared` التفاعل مع جميع وظائف الأعضاء التي تحتاج إلى استخدامها أثناء خدمات IAP.
من أجل فهم أفضل ، أرفقت ملف GIST من الشفرة. قم بالتمرير لأسفل لإلقاء نظرة عليه.

وظائف الفصل:

  1. canMakePurchases (): إرجاع قيمة منطقية (صواب / خطأ) إما أن يكون الجهاز قادرًا على الشراء أم لا.
  2. setProductIds (معرّفات المعرفات: [String]): استخدم هذه الطرق لتعيين معرّفات منتج IAP للعمل مع. استدعاء هذه الأساليب في طريقة viewDidLoad من UIViewController الخاص بك والتي سوف تعرض منتجات IAP المتاحة.
  3. fetchAvailableProducts (شكوى:escaping (([SKProduct]) -> باطل)): استخدم هذه الطريقة لإحضار جميع تفاصيل منتج IAP للمعرفات التي قمت بتعيينها بواسطة طريقة setProductIds. سيعرض مجموعة من SKProduct ، وسيحتوي كائن SKProduct على جميع التفاصيل التي أدخلتها أثناء إنشاء منتجات IAP على iTunes. احصل على هذه المجموعة واحتفظ بها في صفيف لعرضها في القائمة ليتم استخدامها في المستقبل لإجراء عملية شراء.
  4. شراء (المنتج: SKProduct ، شكوى:escaping ((PKIAPHandlerAlertType، SKProduct ؟، SKPaymentTransaction؟) -> Void)): استخدم هذه الطريقة لبدء الشراء للمنتج (المستخدم SKProduct الذي قمت بإحضاره بالكامل بواسطة fetchAvailableProducts) . سترفع مربع حوار الدفع لتأكيد المستخدم. في كتلة الإكمال ، ستتلقى رسالة من المعالج والمنتج الذي تم شراؤه وتفاصيل معاملات الدفع إذا تم شراؤها بنجاح وإلا فلن يكون هناك أي معاملة ومعاملة الدفع.
  5. restorePurchase (): استخدم هذه الطريقة لاستعادة عملية الشراء للعنصر المشتراة / غير المستهلكة.

طرق التفويض:

  1. productsRequest (_ request: SKProductsRequest ، didReceive response: SKProductsResponse): تقوم بإرجاع جميع منتجات IAP المتوفرة على iTunes فيما يتعلق بالمعرفات التي قمت بتعيينها بواسطة طريقة setProductIds. سيتم تشغيله فقط بعد استدعاء طريقة fetchAvailableProducts.
  2. paymentQueueRestoreCompletedTransactionsFinished (_ queue: SKPaymentQueue): يعالج الموقف الذي يقوم فيه المستخدم باستعادة منتج IAP بنجاح.
  3. paymentQueue (_ قائمة الانتظار: SKPaymentQueue ، معاملات المعاملات المحدّثة: [SKPaymentTransaction]): طرق المفوض هذه بدأت مباشرة بعد استدعاء طريقة الشراء (المنتج: SKProduct). في هذه الطريقة ، سوف تحصل على جميع التفاصيل المتعلقة بمعاملة IAP إما تم شراؤها أو إخفاقها.

3. استخدام الكود:

افتح لك UIViewController ، وقم بإنشاء صفيف فارغ من النوع SKProduct ، ثم في وظيفة viewDidLoad قم بتعيين معرفات منتجات IAP وجلب كل تفاصيل منتجات IAP وإظهارها إما في UITableView أو UICollectionView أو كما تريد.

PKIAPHandler.shared.setProductIds (المعرفات: self.productIDs)
PKIAPHandler.shared.fetchAvailableProducts {[ضعيف النفس] (المنتجات) في
   اترك الحارس لنفسه = شخص آخر {return}
   sSelf.productsArray = المنتجات
   sSelf.tableView.reloadData () // إعادة تحميل الجدول أو عرض المجموعة
}

إما إنشاء إجراء أو استخدام didSelect طريقة تفويض tableView / collectionView لبدء عملية شراء IAP عن طريق استدعاء أسلوب الشراء ().

جدول func عرض (_ tableView: UITableView ، didSelectRowAt indexPath: IndexPath) {
PKIAPHandler.shared.purchase (المنتج: self.productsArray [indexPath.row]) {(تنبيه ، منتج ، معاملة) في
   إذا سمحت tran = المعاملة ، دع prod = منتج {
     // استخدم تفاصيل المعاملة والمنتجات المشتراة كما تريد
   }
   Globals.shared.showWarnigMessage (alert.message)
   }
}

هنا هو ملف التعليمات البرمجية ، قم بالتمرير لأسفل للبحث عنه.

لقد انتهينا هنا من أجل تطبيق IAP في تطبيق iOS بسرعة.
الآن ، دعنا نذهب للاختبار.

دعنا نذهب للاختبار

4. اختبار:

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

ملاحظة: في التطبيق لا يمكن اختبار مشتريات على محاكاة دائرة الرقابة الداخلية. لذلك ، يرجى استخدام الجهاز الحقيقي.

!!! ترميز سعيد!

شكرا لقراءتك ، يرجى الضغط على أيقونة التوصية إذا أعجبت هذه المجموعة . الأسئلة؟ اتركهم في التعليق.