مكتبة خادم Node.js لإشعارات خادم App Store Server وإشعارات خادم متجر التطبيقات. متوفر أيضًا في سويفت ، بيثون ، وجافا.
تثبيت
الوثائق
الاستخدام
يدعم
العقدة 16+
# مع NPMNPM تثبيت @Apple/App-Store-Server-Library-Save# مع Yarnyarn Add @Apple/App-Store-Server-Library
الوثائق
فيديو WWDC
لاستخدام واجهة برمجة تطبيقات خادم App Store Server أو إنشاء توقيعات عرض ترويجي ، مطلوب مفتاح توقيع تم تنزيله من App Store Connect. للحصول على هذا المفتاح ، يجب أن يكون لديك دور المسؤول. انتقل إلى المستخدمين والوصول> عمليات التكامل> عملية الشراء داخل التطبيق. هنا يمكنك إنشاء وإدارة المفاتيح ، وكذلك العثور على معرف المصدر الخاص بك. عند استخدام مفتاح ، ستحتاج إلى معرف المفتاح ومعرف المصدر أيضًا.
قم بتنزيل وتخزين شهادات الجذر الموجودة في قسم شهادات Apple Root في موقع Apple PKI. قم بتوفير هذه الشهادات كصفيف إلى signedDataverifier للسماح بالتحقق من البيانات الموقعة تأتي من Apple.
استيراد {appstoreserverapiclient ، البيئة ، sendTestNotificationResponse} من "@Apple/App-Store-Server-Library" const issuerid = "99b16628-15e4-4668-972b-eeff55eff55" const keyid = "abcdefghij" filepath = "/path/to/kekey/subscriptionkey_abcdefghij.p8"const encodedKey = readfile (filePath) // قد يتخلى تطبيق محدد البيئة = البيئة. الاستجابة: SendTestNotificationResponse = Await Client.RequestTestNotification () console.log (response)} catch (e) {console.error (e)}
استيراد {signedDataverifier} من "@Apple/App-Store-Server-Library" const bundleid = "com.example" const applerootcas: buffer [] = loadrootcas () // قد يتراوح تنفيذ محدد enableOnlinechecks = trueconst البيئة = البيئة. = غير محدد // appappleid مطلوب عندما تكون البيئة productionConst expier = new signedDataverifier (ApplerOtcas ، enableOnlinechecks ، البيئة ، bundleid ، appappleid) const notificationpayload = "ey ..." constipedNotification = Await Verifier.VerifyDenotification (notificationpayload) التحقق من التحديث)
استيراد {appstoreserverapiclient ، البيئة ، getTransActionHistoryversion ، استلام ، ترتيب ، productType ، HistoryResponse ، TransactionHistoryRequest} من "@Apple/app-server-server-library" const issuerid = "99b16628-15e4-4668-972b-eeff55efef55" "const bundleid =" com.example "const filepath ="/path/te/keke/subscriptionkey_abcdefghij.p8"const encodedKey = readfile (filepath) // قد يتغير تنفيذ محدد البيئة = client.sandboxconst = new appstoreserverapiclient ، issuerid ، bundleid ، البيئة) constreipt = "mi ..." const reciptUtil = new reciptUttility () const TransactionId = reciptUtil.extractTransActionIdFromPpreCeipt (reachereipt) if (transactactionid! = null) {const transactactoryrequest: transactionhistoryrequest = {order: order. تصاعدي ، إلغاء: خطأ ، productTypes: [ProductType.Auto_renewable]} دعنا استجابت: HistoryResponse | NULL = Nulllet Transactions: String [] = [] do {const revisionToken = response! == null && respons.revision! == null؟ استجابة. Revision: nullResponse = await client.getTransActionHistory (TransactionId ، RevisionToken ، TransactionHistoryRequest ، getTransactionHistoryversion.v2) if (response.signedTransactions) {Transactions. المعاملات)}
استيراد {promotionialOffersInaturAtureCreator} من "@Apple/App-Store-Server-Library" const keyid = "abcdefghij" (FilePath) // قد يكون تطبيقًا محددًا varyConst productId = "<product_id>" constructionofferid = "<cumpcription_offer_id>" const applicationUserName = "<application_username>" const nonce = "<nonce>" const timestamp = date.now () const signatureRaToror = New PromotionialOffOfSignatureCreator (EncodedKey ، KeyID ، BundleId) const signature = signatureCreator.CreatesIgnature (منتج ، اشتراك ، اسم تطبيق application ، nonce ، timestamp) console.log (التوقيع)
فقط أحدث إصدار رئيسي من المكتبة سيتلقى تحديثات ، بما في ذلك تحديثات الأمان. لذلك ، يوصى بالتحديث إلى الإصدارات الرئيسية الجديدة.